如何在 Azure ML 服务中注册本地训练的机器学习模型?
How can I register in Azure ML Service a machine learning model trained locally?
我正在尝试 Azure Machine Learning Service 进行 ML 部署。
我已经在计算 VM 上训练了一个模型并将其保存为 pickle,现在我想部署它(出于目前的目的,我在 Azure 笔记本上使用 Python)。
从 guide 看来,我需要一个 run
对象存在于我的会话中才能执行 "model registration" 步骤:
# 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 任何训练实验,我只是从我的 pickled 模型开始。
我还尝试通过 Azure 门户上传模型来注册模型(请参见下面的屏幕截图),但是(我假设模型文件很大)它失败了 ajax error 413.
,如 Unable to register an ONNX model in azure machine learning service workspace。
有没有什么方法可以注册然后部署预训练的 pickled 模式(如果有意义,则无需提交 run
)?
可以使用 Model.register 完成模型注册,无需使用 run
对象
model = Model.register(model_name='my_model', model_path='my_model.pkl', workspace = ws)
对于部署,可以按照 Azure ML service doc 中概述的步骤进行操作。
您也可以在门户网站中手动注册您的模型。
因为您没有在 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)
我正在尝试 Azure Machine Learning Service 进行 ML 部署。
我已经在计算 VM 上训练了一个模型并将其保存为 pickle,现在我想部署它(出于目前的目的,我在 Azure 笔记本上使用 Python)。
从 guide 看来,我需要一个 run
对象存在于我的会话中才能执行 "model registration" 步骤:
# 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 任何训练实验,我只是从我的 pickled 模型开始。
我还尝试通过 Azure 门户上传模型来注册模型(请参见下面的屏幕截图),但是(我假设模型文件很大)它失败了 ajax error 413.
,如 Unable to register an ONNX model in azure machine learning service workspace。
有没有什么方法可以注册然后部署预训练的 pickled 模式(如果有意义,则无需提交 run
)?
可以使用 Model.register 完成模型注册,无需使用 run
对象
model = Model.register(model_name='my_model', model_path='my_model.pkl', workspace = ws)
对于部署,可以按照 Azure ML service doc 中概述的步骤进行操作。
您也可以在门户网站中手动注册您的模型。
因为您没有在 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)