0

我正在尝试用于 ML 部署的Azure 机器学习服务。

我已经在计算 VM 上训练了一个模型并将其保存为 pickle,现在想要部署它(我目前在 Azure 笔记本上使用 Python)。

指南看来,我需要一个run对象存在于我的会话中才能执行“模型注册”步骤:

# register model 
model = run.register_model(model_name='my_model', model_path='outputs/my_model.pkl')
print(model.name, model.id, model.version, sep = '\t')

但是,我没有创建任何run对象,因为我没有执行任何训练实验,我只是从我的腌制模型开始。

我还尝试通过 Azure 门户上传模型来注册模型(请参见下面的屏幕截图),但是(由于模型文件很大,我假设)它失败,ajax error 413.Unable to register an ONNX model in azure machine learning service工作区

模型注册

run有什么方法可以注册然后部署预训练的腌制模式(如果有意义,则无需提交)?

4

3 回答 3

1

由于您没有在 mlflow 上训练任何模型或进行任何实验,因此您应该直接通过 pickle 文件注册保存的模型。保存模型的 sklearn 库和 pickle 版本应与当前支持 MLflow 的内置 sklearn 兼容模特的味道。

import mlflow

loaded_model = pickle_load(open(filename,'rb')) 

reg_model_name = "Regression" 
mlflow.sklearn.log_model(loaded_model, "sk_learn", serialisation_format="cloudpickle", registered_model_name=reg_model_name)
于 2021-08-18T07:24:22.030 回答
0

您也可以在门户网站中手动注册您的模型。

于 2019-12-05T20:58:55.430 回答
0

模型注册可以通过Model.register完成,无需使用run对象

model = Model.register(model_name='my_model', model_path='my_model.pkl', workspace = ws)

对于部署,可以按照Azure ML 服务文档中概述的步骤进行操作。

于 2019-03-21T13:37:23.707 回答