配置并提交训练作业

在本文中,你将了解如何配置和提交 Azure 机器学习作业来训练模型。代码片段解释了配置和提交训练脚本的关键部分。然后使用示例笔记本之一查找完整的端到端工作示例。

训练时,通常从本地计算机开始,然后扩展到基于云的集群。借助 Azure 机器学习,你可以在各种计算目标上运行脚本,而无需更改训练脚本。

您需要做的就是为一个计算目标中的每个计算目标定义环境 脚本作业配置。然后,当您想要在不同的计算目标上运行训练实验时,请指定该计算的作业配置。

先决条件

什么是脚本运行配置?

ScriptRunConfig 用于配置提交训练作业作为实验的一部分所需的信息。

您使用 ScriptRunConfig 对象提交训练实验。该对象包括:

  • 源目录:包含训练脚本的源目录
  • 脚本:要运行的训练脚本
  • 计算目标:要运行的计算目标
  • 环境:运行脚本时使用的环境
  • 以及一些附加的可配置选项(有关更多信息,请参阅参考文档)

训练你的模型

对于所有类型的计算目标,提交训练作业的代码模式都是相同的:

  1. 创建一个要运行的实验
  2. 创建脚本运行的环境
  3. 创建 ScriptRunConfig,指定计算目标和环境
  4. 提交作业
  5. 等待作业完成

或者您可以:

创建一个实验

在您的工作区中创建一个实验。实验是一个轻量级容器,有助于组织作业提交并跟踪代码。

from azureml.core import Experimentexperiment_name = 'my_experiment'experiment = Experiment(workspace=ws, name=experiment_name)

选择计算目标

计算目标='本地'
我的计算目标

创造环境

Azure 机器学习环境是机器学习训练发生的环境的封装。它们指定围绕训练和评分脚本的 Python 包、Docker 映像、环境变量和软件设置。它们还指定运行时(Python、Spark 或 Docker)。

你可以定义自己的环境,也可以使用 Azure 机器学习策划的环境。策划环境是默认在您的工作区中可用的预定义环境。这些环境由缓存的 Docker 映像支持,从而降低了作业准备成本。请参阅 Azure 机器学习策划环境,了解可用策划环境的完整列表。

对于远程计算目标,您可以使用以下流行的策划环境之一开始:

from azureml.core import Workspace, Environment ws = Workspace.from_config() myenv = Environment.get(workspace=ws, name="AzureML-Minimal")

本地计算目标

python.user_托管_依赖项
from azureml.core import Environment myenv = Environment("user-driven-env") myenv.python.user_driven_dependency = True # 您可以通过指向 Python 路径来选择特定的 Python 环境 # myenv.python.interpreter_path = '/home/ johndoe/miniconda3/envs/myenv/bin/python'

创建脚本作业配置

my_compute_targetmyenvtrain.pyproject_folder
from azureml.core import ScriptRunConfig src = ScriptRunConfig(source_directory=project_folder, script='train.py',compute_target=my_compute_target,environment=myenv) # 设置计算目标 # 如果在本地计算机上运行,​​请跳过此脚本 script_run_config.run_config.target = my_compute_target

如果您不指定环境,将为您创建默认环境。

参数参数=['--arg1', arg1_val, '--arg2', arg2_val]
最大运行持续时间秒数

指定分布式作业配置

分布式作业配置

有关运行分布式 Horovod、TensorFlow 和 PyTorch 作业的更多信息和示例,请参阅:

提交实验

运行=实验.提交(config=src) 运行.wait_for_completion(show_output=True)

Git 跟踪和集成

当您启动源目录是本地 Git 存储库的训练作业时,有关存储库的信息将存储在作业历史记录中。有关详细信息,请参阅 Azure 机器学习的 Git 集成。

笔记本示例

请参阅这些笔记本,了解为各种训练场景配置作业的示例:

通过阅读使用 Jupyter 笔记本探索此服务一文,了解如何运行笔记本。

故障排除

run.log_list("我的指标名称", my_metric[:N]) run.log_list("我的指标名称", my_metric[N:])

下一步