Azure ML本地部署报错:必须提供版本或标签
问题解决:Azure ML本地部署ValidationException错误
错误原因
错误提示Must provide either version or label的核心问题是:本地部署时,仅传入模型名称字符串无法让Azure ML定位到具体的模型资产,必须明确指定版本号或标签来唯一标识已注册的模型。
解决方案
有两种可行的修改方式,任选其一即可:
方式1:使用Model对象传入
通过ml_client.models.get获取指定版本的Model对象,再传入部署配置:
# 获取指定版本的模型对象 model = ml_client.models.get(name=model_asset_name, version="你的模型版本号") blue_deployment = ManagedOnlineDeployment( name="yolo11-retail-ocr-2-v8", endpoint_name=endpoint_name, model=model, # 传入Model对象 instance_type="Standard_E16s_v3", instance_count=1, environment=env, scoring_script="score-copy.py", code_path='./YOLO11 Finetuned Model' ) ml_client.online_deployments.begin_create_or_update(blue_deployment, local=True)
方式2:在模型名称后追加版本/标签
直接使用模型名称:版本号或模型名称:标签的字符串格式传入:
blue_deployment = ManagedOnlineDeployment( name="yolo11-retail-ocr-2-v8", endpoint_name=endpoint_name, model=f"{model_asset_name}:你的模型版本号", # 替换为实际版本号或标签 instance_type="Standard_E16s_v3", instance_count=1, environment=env, scoring_script="score-copy.py", code_path='./YOLO11 Finetuned Model' ) ml_client.online_deployments.begin_create_or_update(blue_deployment, local=True)
说明
本地部署流程与云端部署不同,云端可能支持通过模型名称自动关联最新版本,但本地部署需要精确的模型标识,避免歧义。
内容的提问来源于stack exchange,提问作者default_settings
相关产品推荐
相关产品推荐

