次の方法で共有


RunConfiguration クラス

Azure Machine Learning のさまざまなコンピューティング ターゲットを対象とする実験実行の構成を表します。

RunConfiguration オブジェクトは、実験でトレーニングの実行を送信するために必要な情報をカプセル化します。 通常、RunConfiguration オブジェクトは直接作成せず、submit クラスのExperiment メソッドなど、それを返すメソッドから取得します。

RunConfiguration は、トリガーする実行の種類に依存する他の種類の構成手順でも使用される基本環境構成です。 たとえば、 PythonScriptStepを設定するときに、ステップの RunConfiguration オブジェクトにアクセスし、Conda の依存関係を構成したり、実行の環境プロパティにアクセスしたりできます。

実行構成の例については、「 コンピューティング ターゲットを選択して使用してモデルをトレーニングする」を参照してください

既定の設定で RunConfiguration を初期化します。

コンストラクター

RunConfiguration(script=None, arguments=None, framework=None, communicator=None, conda_dependencies=None, _history_enabled=None, _path=None, _name=None, command=None)

パラメーター

名前 説明
script
str

Python スクリプト ファイルへの相対パス。 ファイル パスは、 submitに渡されるソース ディレクトリに対する相対パスです。

規定値: None
arguments

Python スクリプト ファイルのコマンド ライン引数。

規定値: None
framework
str

実行で使用される対象のフレームワーク。 サポートされているフレームワークは、Python、PySpark、TensorFlow、PyTorch です。

規定値: None
communicator
str

実行中に使用されるコミュニケーター。 サポートされているコミュニケーターは None、ParameterServer、OpenMpi、IntelMpi です。 OpenMpi には、OpenMpi がインストールされたカスタム イメージが必要であることに注意してください。 AmlCompute クラスターには ParameterServer または OpenMpi を使用します。 分散トレーニング ジョブには IntelMpi を使用します。

規定値: None
conda_dependencies

既定値の False のままにすると、 conda_dependenciesで指定されたパッケージを含む Python 環境が作成されます。 true に設定すると、python_interpreter設定で既存の Python 環境を指定できます。

規定値: None
auto_prepare_environment
必須

廃止。 この設定は使用されなくなりました。

command
list[str] または str

実行のために送信されるコマンド。 コマンド プロパティは、スクリプト/引数の代わりに使用することもできます。 コマンドプロパティとスクリプト/引数プロパティの両方を一緒に使用して実行を送信することはできません。 コマンド プロパティ ['python'、'train.py'、'–arg1'、arg1_val] を使用してスクリプト ファイルを送信するには、実際のコマンドを実行するには - ['ls']

規定値: None
_history_enabled
規定値: None
_path
規定値: None
_name
規定値: None

注釈

通常、特定の問題を解決するために機械学習システムを構築します。 たとえば、クエリに対応する検索結果として提供される可能性のある Web ページをランク付けする最適なモデルを見つけることに関心がある場合があります。 最適な機械学習モデルを検索するには、さまざまなアルゴリズムを試すか、異なるパラメーター設定などを検討する必要があります。

Azure Machine Learning SDK では、実験の概念を使用して、さまざまなトレーニング実行が解決しようとしている問題によって関連するという概念を把握します。 その後、 Experiment はこれらのトレーニング実行の論理コンテナーとして機能し、トレーニング実行全体の進行状況の追跡、2 つのトレーニング実行の直接比較などを簡単に行うことができます。

RunConfiguration は、実験でトレーニング実行を送信するために必要な実行環境設定をカプセル化します。 同じ機械学習の問題を解決するように設計されたトレーニング実行の共有構造と、個別のトレーニング実行を互いに区別する構成パラメーター (学習率、損失関数など) の違いの両方をキャプチャします。

一般的なトレーニング シナリオでは、RunConfiguration オブジェクトとトレーニング用の実行スクリプトをパッケージ化する ScriptRunConfig オブジェクトを作成することによって、RunConfiguration が使用されます。

RunConfiguration の構成には、次のものが含まれます。

  • 送信されたスクリプトを含む実験ソース ディレクトリのバンドル。

  • 送信されたスクリプトのコマンド ライン引数を設定します。

  • Python インタープリターのパスの構成。

  • アプリケーションの依存関係を管理するための Conda 構成を取得します。 ジョブ送信プロセスでは、構成を使用して一時 Conda 環境をプロビジョニングし、その中でアプリケーションを起動できます。 一時環境はキャッシュされ、後続の実行で再利用されます。

  • Docker とカスタム 基本イメージの省略可能な使用方法。

  • 複数の種類の Azure コンピューティングに実験を送信するオプションの選択肢。

  • 入力を具体化し、出力をアップロードする方法を構成するオプションの選択肢。

  • Spark や tensorflow などの一般的なランタイムの高度なランタイム設定。

次の例は、ローカル コンピューターにトレーニング スクリプトを送信する方法を示しています。


   from azureml.core import ScriptRunConfig, RunConfiguration, Experiment

   # create or load an experiment
   experiment = Experiment(workspace, "MyExperiment")
   # run a trial from the train.py code in your current directory
   config = ScriptRunConfig(source_directory='.', script='train.py',
       run_config=RunConfiguration())
   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)

変数

名前 説明
environment

環境定義。 このフィールドは、Python 環境を構成します。 既存の Python 環境を使用するように構成することも、実験用の一時環境をセットアップするように構成することもできます。 定義は、必要なアプリケーションの依存関係を設定する役割も担います。

max_run_duration_seconds
int

実行に許可される最大時間。 この値よりも時間がかかった場合、システムは実行を自動的に取り消そうとします。

node_count
int

ジョブに使用するノードの数。

priority
int

スケジュール ポリシーのジョブの優先順位。

history

実験履歴ログ機能を無効にして有効にするために使用する構成セクション。

spark

プラットフォームが PySpark に設定されている場合、Spark 構成セクションを使用して、送信されたジョブの既定の SparkConf を設定します。

hdi

HDI 構成セクションは、ターゲットが Azure HDI コンピューティングに設定されている場合にのみ有効になります。 HDI 構成は、YARN デプロイ モードを設定するために使用されます。 既定のデプロイ モードはクラスターです。

docker

Docker 構成セクションは、Docker 環境の変数を設定するために使用されます。

tensorflow

分散 TensorFlow パラメーターの構成に使用する構成セクション。 このパラメーターは、 framework が TensorFlow に設定され、 communicator が ParameterServer に設定されている場合にのみ有効になります。 AmlCompute は、この構成でサポートされている唯一のコンピューティングです。

mpi

分散 MPI ジョブ パラメーターの構成に使用する構成セクション。 このパラメーターは、 framework が Python に設定され、 communicator が OpenMpi または IntelMpi に設定されている場合にのみ有効になります。 AmlCompute は、この構成でサポートされている唯一のコンピューティングの種類です。

pytorch

分散 PyTorch ジョブ パラメーターの構成に使用する構成セクション。 このパラメーターは、 framework が PyTorch に設定され、 communicator が Nccl または Gloo に設定されている場合にのみ有効になります。 AmlCompute は、この構成でサポートされている唯一のコンピューティングの種類です。

paralleltask

分散並列タスク ジョブ パラメーターの構成に使用する構成セクション。 このパラメーターは、 framework が Python に設定され、 communicator が ParallelTask に設定されている場合にのみ有効になります。 AmlCompute は、この構成でサポートされている唯一のコンピューティングの種類です。

data_references

すべてのデータ ソースは、各構成に基づいて実行中に実行できます。 ディクショナリの各項目について、キーはデータ ソースに指定された名前であり、値は DataReferenceConfiguration です。

data

実行中に実行に使用できるすべてのデータ。

datacaches
<xref:buildin.list>[DatacacheConfiguration]

実行中にデータ キャッシュを実行できるようにするためのすべてのデータ。

output_data

この実行に対してアップロードおよび追跡する必要があるすべての出力。

source_directory_data_store
str

プロジェクト共有のバッキング データストア。

amlcompute

実験中に作成されるコンピューティング 先の詳細。 構成は、コンピューティング 先が AmlCompute の場合にのみ有効になります。

kubernetescompute

実験中に使用するコンピューティング先の詳細。 構成は、コンピューティング 先が KubernetesCompute の場合にのみ有効になります。

services

コンピューティング リソースと対話するエンドポイント。 許可されるエンドポイントは、Jupyter、JupyterLab、VS Code、Tensorboard、SSH、およびカスタム ポートです。

メソッド

delete

実行構成ファイルを削除します。

構成ファイルが見つからない場合に UserErrorException を発生させます。

load

ディスク上のファイルから、以前に保存した実行構成ファイルを読み込みます。

pathがファイルを指している場合は、そのファイルから RunConfiguration が読み込まれます。

pathがプロジェクト ディレクトリであるディレクトリを指している場合、RunConfiguration は <path>/.azureml/<name> または <path>/aml_config/<name> から読み込まれます。

save

RunConfiguration をディスク上のファイルに保存します。

UserErrorExceptionは、次の場合に発生します。

  • RunConfiguration は、指定された名前で保存できません。

  • パラメーター name 指定されませんでした。

  • path パラメーターが無効です。

pathが有効なディレクトリである<dir_path>/<file_name>形式の場合、<dir_path>は <dir_path>/<file_name> に保存されます。

pathがプロジェクト ディレクトリであるディレクトリを指している場合、RunConfiguration は <path>/.azureml/<name> または <path>/aml_config/<name> に保存されます。

この方法は、構成を手動で編集する場合、または CLI で構成を共有する場合に便利です。

delete

実行構成ファイルを削除します。

構成ファイルが見つからない場合に UserErrorException を発生させます。

static delete(path, name)

パラメーター

名前 説明
path
必須
str

ユーザーが実行構成のルート ディレクトリを選択しました。 通常、これは Git リポジトリまたは Python プロジェクトのルート ディレクトリです。 構成は、.azureml という名前のサブディレクトリから削除されます。

name
必須
str

構成ファイル名。

例外

説明
UserErrorException

load

ディスク上のファイルから、以前に保存した実行構成ファイルを読み込みます。

pathがファイルを指している場合は、そのファイルから RunConfiguration が読み込まれます。

pathがプロジェクト ディレクトリであるディレクトリを指している場合、RunConfiguration は <path>/.azureml/<name> または <path>/aml_config/<name> から読み込まれます。

static load(path, name=None)

パラメーター

名前 説明
path
必須
str

ユーザーが実行構成のルート ディレクトリを選択しました。 通常、これは Git リポジトリまたは Python プロジェクトのルート ディレクトリです。 下位互換性のために、構成は .azureml または aml_config サブディレクトリからも読み込まれます。 ファイルがこれらのディレクトリにない場合は、指定したパスからファイルが読み込まれます。

name
str

構成ファイル名。

規定値: None

戻り値

説明

実行構成オブジェクト。

save

RunConfiguration をディスク上のファイルに保存します。

UserErrorExceptionは、次の場合に発生します。

  • RunConfiguration は、指定された名前で保存できません。

  • パラメーター name 指定されませんでした。

  • path パラメーターが無効です。

pathが有効なディレクトリである<dir_path>/<file_name>形式の場合、<dir_path>は <dir_path>/<file_name> に保存されます。

pathがプロジェクト ディレクトリであるディレクトリを指している場合、RunConfiguration は <path>/.azureml/<name> または <path>/aml_config/<name> に保存されます。

この方法は、構成を手動で編集する場合、または CLI で構成を共有する場合に便利です。

save(path=None, name=None, separate_environment_yaml=False)

パラメーター

名前 説明
separate_environment_yaml

Conda 環境構成を保存するかどうかを示します。 True の場合、Conda 環境の構成は 'environment.yml' という名前の YAML ファイルに保存されます。

規定値: False
path
str

ユーザーが実行構成のルート ディレクトリを選択しました。 通常、これは Git リポジトリまたは Python プロジェクトのルート ディレクトリです。 構成は、.azureml という名前のサブディレクトリに保存されます。

規定値: None
name
str

[必須]構成ファイル名。

規定値: None

戻り値

説明

属性

auto_prepare_environment

auto_prepare_environment パラメーターを取得します。 これは非推奨の未使用の設定です。

environment_variables

ランタイム環境変数。

戻り値

説明

ランタイム変数

target

ジョブの実行がスケジュールされているコンピューティング 先を取得します。

既定のターゲットは、ローカル コンピューターを参照する "ローカル" です。 使用可能なクラウド コンピューティング ターゲットは、関数 compute_targetsを使用して見つけることができます。

戻り値

説明
str

ターゲット名