次の方法で共有


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)

パラメーター

名前 説明
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
必須

実行に使用する環境。 環境が指定されていない場合は、実行の Docker イメージとして azureml.core.runconfig.DEFAULT_CPU_IMAGE が使用されます。

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
必須

実行に使用する環境。 環境が指定されていない場合は、実行の Docker イメージとして azureml.core.runconfig.DEFAULT_CPU_IMAGE が使用されます。

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 メソッドから返される実行の子クラスが通知されます。 実験の 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