ScriptRunConfig 类

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

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

配置并提交 submit脚本后,将返回 a ScriptRun

Class 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类。

要记住的关键概念是,根据要触发的运行类型,可以使用不同的配置对象来提交试验。 然后,配置对象的类型会通知从提交方法返回的 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