通过Python(流水线)注册Azure ML模型时如何添加run id参数
解决方法
场景1:尚未完成模型注册,注册时直接关联Run
不要使用Model.register静态方法,改用当前训练实验Run实例的register_model方法,该方法会自动将生成模型的Run ID绑定到已注册模型的元数据中,无需手动传入:
# run为当前训练实验的Run实例,可从Experiment提交结果中获取 model = run.register_model( model_path="sklearn_regression_model.pkl", model_name="sklearn_regression_model", tags={'area': "diabetes", 'type': "regression"}, description="Ridge regression model to predict diabetes" )
注册完成后可直接通过model.run_id属性获取关联的Run ID。
场景2:模型已经注册完成,需要补充关联Run ID
有两种实现方式:
- 方式1:将Run ID存入模型标签,支持直接搜索筛选
from azureml.core.model import Model # 先获取已注册的模型对象,替换参数为你自己的模型名称和版本号 model = Model(ws, name="sklearn_regression_model", version=1) # 新增run_id标签 model.add_tags({"run_id": "你的实验Run ID字符串"})
- 方式2:直接绑定到模型原生的run_id属性(官方推荐的溯源关联方式)
from azureml.core import Run from azureml.core.model import Model # 获取已注册模型 model = Model(ws, name="sklearn_regression_model", version=1) # 获取对应的Run对象,替换参数为你自己的实验名称和Run ID run = Run(ws.experiments["你的实验名称"], run_id="你的实验Run ID字符串") # 将Run和模型关联 model.update(run=run)
关联完成后可以通过model.run_id直接读取关联的Run ID,也可以在Azure ML工作室的模型详情页直接跳转到对应的实验Run页面。
内容的提问来源于stack exchange,提问作者Piath
相关产品推荐
相关产品推荐

