Azure ML Designer中如何将调优后模型连接至Python脚本组件完成部署
解决Azure ML Designer中模型与Python脚本组件的连接问题
方案1:通过「Convert to Saved Model」组件中转(推荐)
- 在
Tune Model Hyperparameters和Execute Python Script之间添加Convert to Saved Model组件 - 将
Tune Model Hyperparameters的Trained Best Model输出端口连接到Convert to Saved Model的Trained Model输入端口 - 再把
Convert to Saved Model的Saved Model输出端口连接到Execute Python Script的任意一个模型输入端口(注意不是数据集端口) - 脚本中获取并处理模型的示例代码片段:
import azureml.core from azureml.core.model import Model import pandas as pd def run(mini_batch): for model_path in mini_batch: # 加载训练好的模型 model = Model.load(model_path) # 执行模型注册逻辑 Model.register( workspace=azureml.core.Run.get_context().workspace, model_path=model_path, model_name="best-tuned-model" ) return pd.DataFrame([{"status": "模型注册完成"}])
方案2:修改Python脚本组件的输入端口配置
- 点击
Execute Python Script组件右上角的设置图标,进入输入端口配置界面 - 添加一个新输入端口,类型选择Model(默认是Dataset)
- 保存配置后,即可直接将
Tune Model Hyperparameters的Trained Best Model连接到这个新的模型输入端口 - 脚本中获取模型的示例代码:
from azureml.core import Run from azureml.core.model import Model run = Run.get_context() # 获取模型输入(假设新端口命名为"trained_best_model") model_input = run.input_datasets['trained_best_model'] model_path = next(model_input.iter_files()) # 加载并处理模型 model = Model.load(model_path)
额外注意事项
- 注册模型时,可通过
Run.get_context().workspace直接获取当前工作区对象,无需额外配置 - 建议在脚本中添加模型验证逻辑,避免部署无效模型
内容的提问来源于stack exchange,提问作者sena
相关产品推荐
相关产品推荐

