AzureML 模型注册

AzureML Model Register

我正尝试使用 Run Class 注册模型,如下所示:

model = run.register_model(
    model_name=model_name,
    model_path=model_path)

消息错误:Could not locate the provided model_path ... in the set of files uploaded to the run...

我发现解决此问题的唯一方法是使用 Model Class 代替:

        model = Model.register(
            workspace=ws,
            model_name=model_name,
            model_path=model_path,
            model_framework=Model.Framework.SCIKITLEARN,
            model_framework_version=sklearn.__version__,
            description='Model Deescription',
            tags={'Name' : 'ModelName', 'Type' : 'Production'},
            model_framework=Model.Framework.SCIKITLEARN,
            model_framework_version='1.0'
            )

我认为问题在于您依赖 AML 后台进程自动将 ./outputs 下的内容上传到 AML 工作区。 但是当上传未完成并且我们立即调用 run.register_model 从 AML 工作区获取内容时,就会发生错误。 为避免这种情况,您可以这样做:

  • 将模型 (joblib.dump) 保留到输出以外的自定义文件夹
  • 手动运行 upload_file 上传模型 AML 工作区。将目的地命名为与您的模型文件相同的名称。
  • 然后 运行 run.register_model.