繁体   English   中英

如何在 Azure ML 服务中注册本地训练的机器学习模型?

[英]How can I register in Azure ML Service a machine learning model trained locally?

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

我已经在计算 VM 上训练了一个模型并将其保存为泡菜,现在想部署它(我目前在 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.无法注册 ONNX 模型azure 机器学习服务工作区

模型注册

有没有办法注册然后部署预训练的pickle模式(如果有意义的话,不需要提交run )?

由于您尚未在 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)

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

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

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

您还可以在 Web 门户中手动注册您的模型。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM