创建 Azure 机器学习作业
操作机器学习模型的第一步是将它作为 Azure 机器学习作业运行。 可以将单个脚本作为“命令”作业运行,也可以将脚本组作为“管道”作业运行。
数据科学团队在 Jupyter 笔记本中提供他们的工作,即在该笔记本中加载、转换和训练数据。 若要为生产准备代码和模型,你需要:
- 将笔记本重构为脚本。
- 请参阅作业定义中的脚本。
- 触发作业以训练模型。
将代码重构为脚本
若要使机器学习模型可供生产使用,你应首先准备好用于生产的代码。 具有需要转换为生产代码的 Jupyter 笔记本时,你需要:
- 清理不必要的代码。
- 将代码导出到 Python 脚本。
- 在脚本中使用函数。
通过在脚本中使用函数,可以更轻松地测试代码质量。 当你有要执行的脚本时,可以使用 Azure 机器学习作业来运行代码。
定义 Azure 机器学习作业
为了在 Azure 机器学习中定义作业,可以创建 YAML 文件。 无论你是想将一个脚本作为命令作业运行,还是想将多个脚本按顺序作为管道来运行。 对于命令和管道作业,你需要创建 YAML 文件,其中详细包含:
- 要运行的脚本。
- 每个脚本的输入和输出内容。
- 将用于运行脚本的计算。
- 需要安装在计算上以运行脚本的环境。
下面的 YAML 中显示了运行 main.py 脚本时将已注册的数据资产用作输入的命令作业示例:
$schema: https://azuremlschemas.azureedge.net/latest/commandJob.schema.json
code: src
command: >-
python main.py
--diabetes-csv ${{inputs.diabetes}}
inputs:
diabetes:
path: azureml:diabetes-data:1
mode: ro_mount
environment: azureml:basic-env-scikit@latest
compute: azureml:aml-instance
experiment_name: diabetes-data-example
description: Train a classification model on diabetes data using a registered dataset as input.
在 YAML 文件中,你将找到需要包含的必需详细信息:
-
code指存储要运行的脚本的本地文件夹。command键指定应使用main.py参数的src值来执行inputs.diabetes文件夹中的diabetes-csv脚本。 - 将 Azure 机器学习工作区中已注册的数据资产
diabetes-data的版本 1 装载到要用作脚本输入的计算中。 - 计算实例
aml-instance将用于运行脚本。 - 在运行脚本之前,将在计算实例上安装最新版本的已注册的自定义
basic-env-scikit环境。
若要测试作业的 YAML 定义,可以使用 CLI v2 来触发它。
触发 Azure 机器学习作业
每当想要运行 Azure 机器学习作业时,都可以使用 CLI v2。 CLI v2 可以安装在本地设备上,也可以使用 Azure Cloud Shell。
无论是要从本地设备还是使用 Azure Cloud Shell 触发运行,首先都需要安装 Azure 机器学习扩展。
使用以下命令在 Windows 上安装扩展:
az extension add -n ml -y
在为 CLI 安装 Azure 机器学习扩展并获得访问要使用的 Azure 订阅的权限后,可以使用以下命令提交 Azure 机器学习作业:
az ml job create --file job.yml
注意
若要详细了解如何使用 CLI 管理 Azure 机器学习作业(v2),请转到 az ml job 参考文档。