ScriptRunConfig 類別

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

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)

參數

名稱 Description
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 Machine Learning SDK 提供一系列互連類別,其設計目的是協助您定型和比較與其所解決之共用問題相關的機器學習模型。

Experiment做為這些定型執行的邏輯容器。 ScriptRunConfig 物件可用來設定提交定型回合作為實驗一部分所需的資訊。 使用 ScriptRunConfig 物件提交執行時,submit 方法會傳回 類型 ScriptRun 的物件。 然後傳回的 ScriptRun 物件可讓您以程式設計方式存取定型回合的相關資訊。 ScriptRun 是 的 Run 子類別。

要記住的重要概念是,根據您想要觸發的執行類型,使用不同的組態物件來提交實驗。 然後,組態物件的類型會通知您從 submit 方法傳回的 Run 子類別。 當您在對 Experiment 提交方法的呼叫中傳遞 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