我正在试用用于ML部署的Azure Machine Learning Service。
我已经在计算VM上训练了一个模型,并将其保存为pickle,现在想要部署它(我现在使用的是Azure笔记本上的Python )。
从guide上看,我需要在会话中存在一个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
对象,因为我还没有executed任何用于训练的实验,我只是从我的泡菜模型开始。
我也试图通过Azure Portal上传一个模型来注册它(见下面的截图),但是(因为模型文件非常大,我假设)它失败了,出现了Unable to register an ONNX model in azure machine learning service workspace中的ajax error 413.
。
有没有办法注册并部署一个预先训练好的酸洗模式(不需要提交run
,如果这有意义的话)?
发布于 2019-03-21 21:37:24
无需使用run
对象,即可使用Model.register完成模型注册
model = Model.register(model_name='my_model', model_path='my_model.pkl', workspace = ws)
对于部署,可以按照Azure ML service doc中概述的步骤进行。
发布于 2021-08-18 07:24:22
由于您没有在mlflow上训练任何模型或运行任何实验,因此您应该通过pickle file.The 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)
发布于 2019-12-06 04:58:55
您还可以在web门户中手动注册模型。
https://stackoverflow.com/questions/55277334
复制相似问题