次の方法で共有


ScriptRunConfig クラス

Azure Machine Learning でトレーニング実行を送信するための構成情報を表します。

ScriptRunConfig は、スクリプト、コンピューティング ターゲット、環境、および分散ジョブ固有の構成など、Azure ML で実行を送信するために必要な構成情報をパッケージ化します。

スクリプトの実行が構成され、 submitで送信されると、 ScriptRun が返されます。

クラス 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
必須
list または str

トレーニング スクリプトに渡すオプションのコマンド ライン引数。 引数はペアで渡されます (例: ['–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 の子クラスが通知されます。 実験の 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