我正在尝试学习AzureML sdk并在云上训练我的模型。
我成功地训练了位于here的演示项目。
现在,我想训练自己的模型,但出现错误:
UserError","message":"No module named 'cv2'","target":null,"details":[],"innerErro...
这意味着cv2未安装在AzureML上,而我在训练脚本中使用了它,...
如何在AzureML上点子安装库,或者如何将虚拟环境“复制”到我的工作区中
答案 0 :(得分:1)
我假设您的意思是您正在接受Azure ML托管计算方面的培训?!如果是这样,则需要在Conda依赖项文件中指定所有必需的软件包。有关指导,请参见此处:https://docs.microsoft.com/sl-si/azure/machine-learning/service/how-to-set-up-training-targets#system-managed-environment
当您希望Conda管理系统时,请使用系统管理的环境 Python环境和脚本依赖性。一种 默认情况下采用系统管理的环境,这是最常见的环境 选择。在远程计算目标上非常有用,尤其是当您 无法配置该目标。
您需要做的就是使用 CondaDependency类然后Conda创建一个名为 工作区aml_config目录中的conda_dependencies.yml 与软件包依赖关系列表并设置Python 提交训练实验时的环境。
或者,如果您正在使用估算器并且只需要几个包,则也可以直接指定它们:
estimator = SKLearn(source_directory=project_folder,
script_params=script_params,
compute_target=compute_target,
entry_script='train_iris.py'
pip_packages=['joblib']
)
答案 1 :(得分:0)
答案是将opencv-python-headless
添加为pip安装
像这样:
TensorFlow(source_directory=script_folder,
script_params=script_params,
compute_target=compute_target,
entry_script=train_script_name,
pip_packages=['opencv-python-headless', 'scikit-image', 'mathematics', 'keras', 'scikit-learn'],
use_gpu=True)