运行失败:用户程序失败,模块未找到错误:Azure ML 试验中没有名为'amlrun'的模块



我正在使用 VS Code 在 Azure 门户中提交机器学习试验。运行实验时,我收到以下错误:

运行失败:用户程序失败,出现模块未找到错误:没有名为"amlrun"的模块

这是代码结构:

.vscode (json 配置文件(

aml_config

脚本

----- amlrun.py(具有某些功能的脚本(

----- model_training.py(创建和保存模型的脚本(

这是配置文件:

{
"script": "model_training.py",
"framework": "Python",
"communicator": "None",
"target": "testazure",
"environment": {
"python": {
"userManagedDependencies": false,
"condaDependencies": {
"dependencies": [
"python=3.6.2",
"scikit-learn",
"numpy",
"pandas",
{
"pip": [
"azureml-defaults"
]
}
]
}
},
"docker": {
"baseImage": "mcr.microsoft.com/azureml/base:0.2.4",
"enabled": true,
"baseImageRegistry": {
"address": null,
"username": null,
"password": null
}
}
},
"history": {
"outputCollection": true,
"snapshotProject": false,
"directoriesToWatch": [
"logs"
]
}
}

我错过了什么吗? 谢谢

当训练脚本在 azure 中运行时,它无法找到所有本地导入,即amlrun.py脚本。

提交给 azure 的训练作业首先使用文件生成 docker 映像并运行试验;但在这种情况下,扩展不包括amlrun.py

这可能是因为当你使用扩展提交训练作业时,打开的 Visual Studio 代码窗口未指向scripts文件夹中。

摘自之前提出的 github 问题的回复之一:

扩展当前需要您正在处理的脚本 在 VS Code 中打开的文件夹中,而不是在子目录中打开的文件夹中。


要解决此问题,您可以执行以下任一操作:

  1. 您需要在文件夹而不是父目录中重新打开scriptsVisual Studio Code。

  2. 将目录中的所有文件移动到script其父目录中。


如果你正在寻找更灵活的方法来提交训练作业和管理 aml - 可以使用适用于 Python 的 Azure 机器学习 SDK。

以下链接中提供了使用 SDK 管理过期的一些示例:

  1. Scikit Learn 模型训练文档

  2. 基本 Pytorch 模型训练和部署示例存储库

最新更新