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
必須
|
実行に必要なコード ファイルを含むローカル ディレクトリ。 |
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 Machine Learning SDK には、解決している共有問題に関連する機械学習モデルのトレーニングと比較に役立つ、相互接続された一連のクラスが用意されています。
Experimentは、これらのトレーニング実行の論理コンテナーとして機能します。 ScriptRunConfig オブジェクトは、実験の一部としてトレーニング実行を送信するために必要な情報を構成するために使用されます。 ScriptRunConfig オブジェクトを使用して実行が送信されると、submit メソッドは ScriptRun型のオブジェクトを返します。 次に、返された ScriptRun オブジェクトを使用すると、トレーニングの実行に関する情報にプログラムでアクセスできます。 ScriptRun は、 Runの子クラスです。
覚えておくべき重要な概念は、トリガーする実行の種類に基づいて、実験の送信に使用されるさまざまな構成オブジェクトがあることです。 次に、構成オブジェクトの型によって、submit メソッドから返される Run の子クラスが通知されます。 実験の 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