在Azure Pipeline中使用Azure CLI注册模型时遇错误求助
问题解决步骤
1. 修复模型注册命令的语法错误
报错ERROR: unrecognized arguments: =classification的直接原因是**--tag参数的引号使用错误**。当前写法中,"model"="classification"会被CLI解析为三个独立部分:"model"、=、"classification",导致未识别的=classification参数。
正确的--tag写法有两种:
- 去掉键名的引号,直接写成键值对:
az ml model register -g $(azureml.resourceGroup) -w $(azureml.workspaceName) -n $(model.name) -f metadata/run.json --asset-path outputs/models/insurance_model.pkl -d "Classification model for filling a claim prediction" --tag data="insurance" --tag model="classification" --model-framework ScikitLearn -t metadata/model.json
- 将整个键值对用引号包裹:
az ml model register -g $(azureml.resourceGroup) -w $(azureml.workspaceName) -n $(model.name) -f metadata/run.json --asset-path outputs/models/insurance_model.pkl -d "Classification model for filling a claim prediction" --tag "data=insurance" --tag "model=classification" --model-framework ScikitLearn -t metadata/model.json
2. 解决Python 3.6的弃用警告
日志中的两个警告均源于Python 3.6已不再被官方支持:
- Cryptography库即将停止对Python 3.6的支持
- AzureML SDK V1已弃用对Python 3.6的支持
解决方法:
- 在Azure DevOps流水线中切换至Python 3.7及以上版本的运行环境,可在流水线的Python安装步骤中指定具体版本(如3.8或3.9)。
- 若暂时无法升级,可通过设置环境变量
AZUREML_DEPRECATE_WARNING=False关闭AzureML的弃用警告,但这仅为临时方案,建议尽快完成Python版本升级。
内容的提问来源于stack exchange,提问作者Aditya sharma
相关产品推荐
相关产品推荐

