探索和使用精选环境
特选环境 是默认在工作区中提供的最常见机器学习工作负载的预生成环境。
特选环境使用前缀 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 配置命令作业,该 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
。 找不到的模块在错误消息中列出。 通过查看错误消息,可以更新环境以包含库,以确保在运行代码之前在计算目标上安装必要的包。
如果需要指定其他必要的包,可以通过修改支持这些特选环境的 Dockerfiles,将特选环境用作你自己的自定义环境的参考。