ScriptRunConfig 類別

表示在 Azure Machine Learning 中提交定型執行的組態資訊。

ScriptRunConfig 會將提交 Azure ML 中執行所需的設定資訊封裝在一起,包括腳本、計算目標、環境,以及任何分散式作業特定設定。

一旦腳本執行設定並提交至 submitScriptRun 就會傳回 。

類別 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
RunConfiguration
必要

要使用的選擇性執行組態。

_telemetry_values
dict
必要

僅供內部使用。

compute_target
AbstractComputeTargetstr
必要

定型會發生所在的計算目標。 這可以是 ComputeTarget 物件、現有 ComputeTarget 的名稱或字串 「local」。 如果未指定任何計算目標,將會使用您的本機電腦。

environment
Environment
必要

要用於執行的環境。 如果未指定任何環境,azureml.core.runconfig.DEFAULT_CPU_IMAGE將會作為執行的 Docker 映射。

distributed_job_config
TensorflowConfiguration, MpiConfigurationPyTorchConfiguration
必要

對於需要額外分散式作業特定設定的作業。

resume_from
DataPath
必要

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
DockerConfiguration
必要

對於需要 Docker 執行時間特定設定的作業。

source_directory
str
必要

本機目錄,包含執行所需的程式碼檔案。

script
str
必要

相對於要執行之腳本source_directory的檔案路徑。

arguments
list[str]
必要

要傳遞至定型腳本的選擇性命令列引數。 引數會以配對方式傳遞,例如 ['–arg1'、arg1_val、'–arg2'、arg2_val]。

run_config
RunConfiguration
必要

要使用的選擇性執行組態。

_telemetry_values
dict
必要

僅供內部使用。

compute_target
AbstractComputeTargetstr
必要

定型會發生所在的計算目標。 這可以是 ComputeTarget 物件、現有 ComputeTarget 的名稱或字串 「local」。 如果未指定任何計算目標,將會使用您的本機電腦。

environment
Environment
必要

要用於執行的環境。 如果未指定任何環境,azureml.core.runconfig.DEFAULT_CPU_IMAGE將會作為執行的 Docker 映射。

distributed_job_config
TensorflowConfigurationMpiConfigurationPyTorchConfiguration
必要

對於需要額外分散式作業特定設定的作業。

resume_from
DataPath
必要

DataPath,其中包含要從中繼續實驗的檢查點或模型檔案。

max_run_duration_seconds
int
必要

執行所允許的時間上限。 如果執行時間超過此值,系統會嘗試自動取消執行。

command
list[str] 或 str
必要

要針對執行提交的命令。 您也可以使用命令屬性,而不是腳本/引數。 命令和腳本/引數屬性都不能一起使用來提交執行。 若要使用命令屬性提交腳本檔案 - ['python', 'train.py', '–arg1', arg1_val] 執行實際命令 - ['ls']

docker_runtime_config
DockerConfiguration
必要

對於需要 Docker 執行時間特定設定的作業。

備註

Azure Machine Learning 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