ScriptRunConfig 类

表示在 Azure 机器学习中提交训练运行的配置信息。

ScriptRunConfig 会将提交 Azure ML 运行所需的配置信息打包在一起,包括脚本、计算目标、环境以及特定于作业的任何分布式配置。

在配置脚本运行并使用 submit 提交后,将返回 ScriptRun

类 ScriptRunConfig 构造函数。

继承
azureml._logging.chained_identity.ChainedIdentity
ScriptRunConfig

构造函数

ScriptRunConfig(source_directory, script=None, arguments=None, run_config=None, _telemetry_values=None, compute_target=None, environment=None, distributed_job_config=None, resume_from=None, max_run_duration_seconds=2592000, command=None, docker_runtime_config=None)

参数

名称 说明
source_directory
必需
str

包含运行所需的代码文件的本地目录。

script
必需
str

相对于要运行的脚本的 source_directory 的文件路径。

arguments
必需
liststr

要传递给训练脚本的可选命令行参数。 参数成对传递,例如 ['–arg1', arg1_val, '–arg2', arg2_val]。

run_config
必需

要使用的可选运行配置。

_telemetry_values
必需

仅限内部使用。

compute_target
必需

发生训练的计算目标。 这可以是 ComputeTarget 对象、现有 ComputeTarget 的名称或字符串“local”。 如果未指定任何计算目标,将使用本地计算机。

environment
必需

用于运行的环境。 如果未指定任何环境,azureml.core.runconfig.DEFAULT_CPU_IMAGE 将用作运行的 Docker 映像。

distributed_job_config
必需

针对需要其他特定于分布式作业的配置的作业。

resume_from
必需

包含要从中恢复试验的检查点或模型文件的 DataPath。

max_run_duration_seconds
必需

允许运行的最长时间。 如果运行时间超过此值,系统将尝试自动取消运行。 :type max_run_duration_seconds: int

command
必需
list[str] 或 str

要为运行提交的命令。 命令属性也可以用来替代脚本/参数。 命令和脚本/参数属性不能一起用于提交运行。 要上传脚本文件,使用命令参数 - ['python', 'train.py', '–arg1', arg1_val],运行实际命令 - ['ls']

docker_runtime_config
必需

针对需要 Docker 运行时特定配置的作业。

source_directory
必需
str

包含运行所需的代码文件的本地目录。

script
必需
str

相对于要运行的脚本的 source_directory 的文件路径。

arguments
必需

要传递给训练脚本的可选命令行参数。 参数成对传递,例如 ['–arg1', arg1_val, '–arg2', arg2_val]。

run_config
必需

要使用的可选运行配置。

_telemetry_values
必需

仅限内部使用。

compute_target
必需

发生训练的计算目标。 这可以是 ComputeTarget 对象、现有 ComputeTarget 的名称或字符串“local”。 如果未指定任何计算目标,将使用本地计算机。

environment
必需

用于运行的环境。 如果未指定任何环境,azureml.core.runconfig.DEFAULT_CPU_IMAGE 将用作运行的 Docker 映像。

distributed_job_config
必需

针对需要其他特定于分布式作业的配置的作业。

resume_from
必需

包含要从中恢复试验的检查点或模型文件的 DataPath。

max_run_duration_seconds
必需
int

允许运行的最长时间。 如果运行时间超过此值,系统将尝试自动取消运行。

command
必需
list[str] 或 str

要为运行提交的命令。 命令属性也可以用来替代脚本/参数。 命令和脚本/参数属性不能一起用于提交运行。 要上传脚本文件,使用命令参数 - ['python', 'train.py', '–arg1', arg1_val],运行实际命令 - ['ls']

docker_runtime_config
必需

针对需要 Docker 运行时特定配置的作业。

注解

Azure 机器学习 SDK 提供了一系列相互连接的类,这些类旨在帮助训练和比较与它们正在解决解决的共同问题相关的机器学习模型。

Experiment 用作这些训练运行的逻辑容器。 ScriptRunConfig 对象用于配置在试验中提交训练运行所需的信息。 使用 ScriptRunConfig 对象提交运行时,submit 方法将返回 ScriptRun 类型的对象。 返回的 ScriptRun 对象使你能够以编程方式访问有关训练运行的信息。 ScriptRun 是 Run 的子类。

需要记住的关键概念是,根据要触发的运行类型,存在用于提交试验的不同配置对象。 然后,配置对象的类型会告知从 submit 方法返回的 Run 的子类。 如果在调用 Experiment 的 submit 方法时传递 ScriptRunConfig 对象,会返回 ScriptRun 对象。 返回的其他运行对象的示例包括 AutoMLRun(AutoML 运行时返回)以及 PipelineRun(管道运行时返回)。

以下示例演示如何在本地计算机上提交训练脚本。


   from azureml.core import ScriptRunConfig, Experiment

   # create or load an experiment
   experiment = Experiment(workspace, 'MyExperiment')
   # create or retrieve a compute target
   cluster = workspace.compute_targets['MyCluster']
   # create or retrieve an environment
   env = Environment.get(ws, name='MyEnvironment')
   # configure and submit your training run
   config = ScriptRunConfig(source_directory='.',
                            script='train.py',
                            arguments=['--arg1', arg1_val, '--arg2', arg2_val],
                            compute_target=cluster,
                            environment=env)
   script_run = experiment.submit(config)

以下示例演示如何使用命令属性(而不是脚本和参数)在群集上提交训练脚本。


   from azureml.core import ScriptRunConfig, Experiment
   # create or load an experiment
   experiment = Experiment(workspace, 'MyExperiment')
   # create or retrieve a compute target
   cluster = workspace.compute_targets['MyCluster']
   # create or retrieve an environment
   env = Environment.get(ws, name='MyEnvironment')
   # configure and submit your training run
   config = ScriptRunConfig(source_directory='.',
                            command=['python', 'train.py', '--arg1', arg1_val],
                            compute_target=cluster,
                            environment=env)
   script_run = experiment.submit(config)

以下示例演示如何在群集中运行命令。


   from azureml.core import ScriptRunConfig, Experiment
   # create or load an experiment
   experiment = Experiment(workspace, 'MyExperiment')
   # create or retrieve a compute target
   cluster = workspace.compute_targets['MyCluster']
   # create or retrieve an environment
   env = Environment.get(ws, name='MyEnvironment')
   # configure and submit your training run
   config = ScriptRunConfig(source_directory='.',
                            command=['ls', '-l'],
                            compute_target=cluster,
                            environment=env)
   script_run = experiment.submit(config)

有关显示如何使用 ScriptRunConfig 的更多示例,请参阅:

属性

MAX_DURATION_SECONDS_DEFAULT

MAX_DURATION_SECONDS_DEFAULT = 2592000