ScriptRunConfig 类
- 继承
-
azureml._logging.chained_identity.ChainedIdentityScriptRunConfig
构造函数
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
必需
|
包含运行所需的代码文件的本地目录。 |
script
必需
|
相对于要运行的脚本的 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
必需
|
允许运行的最长时间。 如果运行时间超过此值,系统将尝试自动取消运行。 :type max_run_duration_seconds: int |
command
必需
|
要为运行提交的命令。 命令属性也可以用来替代脚本/参数。 命令和脚本/参数属性不能一起用于提交运行。 要上传脚本文件,使用命令参数 - ['python', 'train.py', '–arg1', arg1_val],运行实际命令 - ['ls'] |
docker_runtime_config
必需
|
针对需要 Docker 运行时特定配置的作业。 |
source_directory
必需
|
包含运行所需的代码文件的本地目录。 |
script
必需
|
相对于要运行的脚本的 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
必需
|
允许运行的最长时间。 如果运行时间超过此值,系统将尝试自动取消运行。 |
command
必需
|
要为运行提交的命令。 命令属性也可以用来替代脚本/参数。 命令和脚本/参数属性不能一起用于提交运行。 要上传脚本文件,使用命令参数 - ['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