探索和使用策展环境
策展环境是最常见的机器学习工作负载的预生成环境,在工作区中默认可用。
策展环境使用 AzureML- 前缀,设计为针对使用热门机器学习框架和工具的脚本提供。
例如,当你想要运行一个使用 Scikit-Learn 训练回归、聚类分析或分类模型的脚本时,就可以使用一些策展环境。
若要浏览策展环境,可以使用 Azure CLI 或 Python SDK 在工作室中查看它。
通过运行以下命令,可以使用 Python SDK 检索策展环境的说明和标记:
env = ml_client.environments.get("AzureML-sklearn-0.24-ubuntu18.04-py37-cpu", version=44)
print(env. description, env.tags)
使用特选环境
最常见的情况是,如果要将脚本作为(命令)作业运行,就会使用环境。
若要指定用来运行脚本的环境,可以按名称和版本来引用环境。
例如,以下代码展示了如何使用 Python SDK 配置命令作业,它使用了一个包括 Scikit-Learn 在内的策展环境:
from azure.ai.ml import command
# configure job
job = command(
code="./src",
command="python train.py",
environment="AzureML-sklearn-0.24-ubuntu18.04-py37-cpu@latest",
compute="aml-cluster",
display_name="train-with-curated-environment",
experiment_name="train-with-curated-environment"
)
# submit job
returned_job = ml_client.create_or_update(job)
对策展环境进行测试和故障排除
由于策展环境可以缩短部署时间,因此最佳做法是首先探索是否可以使用预创建的策展环境之一来运行代码。
可以通过查看详细信息来验证策展环境是否包含所有必要的包。 然后,可以使用环境来运行脚本进行测试。
如果环境不包含运行代码所需的所有包,作业会失败。
如果作业失败,可以在 Azure 机器学习工作室作业的“输出 + 日志”选项卡中查看详细错误日志。
指示环境不完整的常见错误消息是 ModuleNotFoundError
。 错误消息中列出了找不到的模块。 通过查看错误消息,可以更新环境以包含库,确保在运行代码之前在计算目标上安装了必要的包。
当需要指定其他必要的包时,可以通过修改支持这些策展环境的 Dockerfile,将策展环境作为你自己的自定义环境的参考。