PyTorch クラス

PyTorch 実験のトレーニングの推定器を表します。

非推奨。 独自に定義した環境、または Azure ML PyTorch オブジェクトのキュレートされた環境の 1 つで ScriptRunConfig オブジェクトを使用します。 ScriptRunConfig を使用して PyTorch 実験の実行を構成する方法の概要については、「Azure Machine Learning を使用して PyTorch モデルを大規模にトレーニングする」を参照してください。

サポートされているバージョン: 1.0、1.1、1.2、1.3、1.4、1.5、1.6

PyTorch 推定器を初期化します。

Docker 実行リファレンス。 :type shm_size: str :p aram resume_from: 実験を再開するチェックポイント ファイルまたはモデル ファイルを含むデータ パス。 :type resume_from: azureml.data.datapath.DataPath :p aram max_run_duration_seconds: 実行に許容される最大時間。 Azure ML では、自動的に

この値より長い時間がかかる場合は、実行を取り消します。

継承
azureml.train.estimator._framework_base_estimator._FrameworkBaseEstimator
PyTorch

コンストラクター

PyTorch(source_directory, *, compute_target=None, vm_size=None, vm_priority=None, entry_script=None, script_params=None, node_count=1, process_count_per_node=1, distributed_backend=None, distributed_training=None, use_gpu=False, use_docker=True, custom_docker_base_image=None, custom_docker_image=None, image_registry_details=None, user_managed=False, conda_packages=None, pip_packages=None, conda_dependencies_file_path=None, pip_requirements_file_path=None, conda_dependencies_file=None, pip_requirements_file=None, environment_variables=None, environment_definition=None, inputs=None, source_directory_data_store=None, shm_size=None, resume_from=None, max_run_duration_seconds=None, framework_version=None, _enable_optimized_mode=False, _disable_validation=True, _show_lint_warnings=False, _show_package_warnings=False)

パラメーター

名前 説明
source_directory
必須
str

実験構成ファイルが含まれるローカル ディレクトリ。

compute_target
必須

トレーニングが発生するコンピューティング先。 これは、オブジェクトまたは文字列 "local" のいずれかです。

vm_size
必須
str

トレーニング用に作成されるコンピューティング先の VM サイズ。 サポートされる値: 任意の Azure VM サイズ

vm_priority
必須
str

トレーニング用に作成されるコンピューティング先の VM 優先度。 指定しない場合は、'dedicated' が使用されます。

サポートされる値: 'dedicated' と 'lowpriority'。

これは、入力で vm_size param を指定した場合にのみ有効になります。

entry_script
必須
str

トレーニング スクリプトが含まれるファイルへの相対パス。

script_params
必須

entry_script内で指定されたトレーニング スクリプトに渡すコマンド ライン引数の辞書。

node_count
必須
int

トレーニングに使用するコンピューティング先のノードの数。 1 より大きい場合は、MPI 分散ジョブが実行されます。 分散ジョブには、AmlCompute ターゲットのみがサポートされています。

process_count_per_node
必須
int

ノードあたりのプロセスの数。 1 より大きい場合は、MPI 分散ジョブが実行されます。 分散ジョブには、AmlCompute ターゲットのみがサポートされています。

distributed_backend
必須
str

分散トレーニング用の通信バックエンド。

非推奨。 distributed_training パラメーターを使用します。

サポートされる値: 'mpi'、'gloo'、'nccl'。

'mpi': MPI/Horovod 'gloo'、'nccl': ネイティブ PyTorch 分散トレーニング

このパラメーターは、node_count または process_count_per_node> 1 の場合に必要です。

node_count == 1 かつ process_count_per_node == 1 の場合、バックエンドが明示的に設定されていない限り、バックエンドは使用されません。 分散トレーニングでは、AmlCompute ターゲットのみがサポートされています。

distributed_training
必須
Mpi または Gloo または Nccl

分散トレーニング ジョブを実行するためのパラメーター。

MPI バックエンドで分散ジョブを実行する場合は、Mpi オブジェクトを使用して process_count_per_node を指定します。 gloo バックエンドを使用して分散ジョブを実行する場合は、Gloo を使用します。 nccl バックエンドを使用して分散ジョブを実行する場合は、Nccl を使用します。

use_gpu
必須

実験を実行する環境で GPU をサポートする必要があるかどうかを指定します。 true の場合、GPU ベースの既定の Docker イメージが環境で使用されます。 false の場合、CPU ベースのイメージが使用されます。 既定の Docker イメージ (CPU または GPU) は、custom_docker_image パラメーターを設定していない場合にのみ使用されます。 この設定は、Docker 対応のコンピューティング先でのみ使用されます。

use_docker
必須

実験を実行するための環境を Docker ベースにするかどうかを指定します。

custom_docker_base_image
必須
str

Docker イメージの名前。トレーニングに使用するイメージは、この Docker イメージからビルドされます。

非推奨。 custom_docker_image パラメーターを使用します。

設定しない場合は、既定の CPU ベースのイメージが基本イメージとして使用されます。

custom_docker_image
必須
str

Docker イメージの名前。トレーニングに使用するイメージは、この Docker イメージからビルドされます。 設定しない場合は、既定の CPU ベースのイメージが基本イメージとして使用されます。

image_registry_details
必須

Docker イメージ レジストリの詳細。

user_managed
必須

Azure ML が既存の Python 環境を再利用するかどうかを指定します。 false の場合、conda の依存関係の仕様に基づいて、Azure ML によって Python 環境が作成されます。

conda_packages
必須

実験用の Python 環境に追加される conda パッケージを表す文字列のリスト。

pip_packages
必須

実験用の Python 環境に追加される pip パッケージを表す文字列のリスト。

conda_dependencies_file_path
必須
str

conda の依存関係 yaml ファイルへの相対パス。 指定した場合、Azure ML によって、フレームワーク関連のパッケージはインストールされません。 非推奨。 conda_dependencies_file パラメーターを使用します。

pip_requirements_file_path
必須
str

pip 要件テキスト ファイルへの相対パス。 これは、pip_packages パラメーターと組み合わせて指定できます。 非推奨。 pip_requirements_file パラメーターを使用します。

conda_dependencies_file
必須
str

conda の依存関係 yaml ファイルへの相対パス。 指定した場合、Azure ML によって、フレームワーク関連のパッケージはインストールされません。

pip_requirements_file
必須
str

pip 要件テキスト ファイルへの相対パス。 これは、pip_packages パラメーターと組み合わせて指定できます。

environment_variables
必須

環境変数の名前と値のディクショナリ。 これらの環境変数は、ユーザー スクリプトが実行されるプロセスで設定されます。

environment_definition
必須

実験の環境定義。 PythonSection、DockerSection、および環境変数が含まれます。 他のパラメーターを介して推定器構造に直接公開されていない環境オプションは、このパラメーターを使用して設定できます。 このパラメーターを指定すると、use_gpucustom_docker_imageconda_packagespip_packages などの他の環境関連パラメーターよりも優先されます。 パラメーターの無効な組み合わせに対してエラーが報告されます。

inputs
必須

入力として使用する DataReference または DatasetConsumptionConfig オブジェクトのリスト。

source_directory_data_store
必須

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

shm_size
必須
str

Docker コンテナーの共有メモリ ブロックのサイズ。 設定しなかった場合は、既定の azureml.core.environment._DEFAULT_SHM_SIZE が使用されます。 詳細については、Docker 実行リファレンスを参照してください。

resume_from
必須

実験を再開するためのチェックポイント ファイルまたはモデル ファイルが含まれているデータ パス。

max_run_duration_seconds
必須
int

実行の最大許容時間。 この値よりも時間がかかる場合は、Azure ML によって自動的に実行のキャンセルが試みられます。

framework_version
必須
str

トレーニング コードの実行に使用される PyTorch バージョン。 PyTorch.get_supported_versions() は、現在の SDK でサポートされているバージョンのリストを返します。

source_directory
必須
str

実験構成ファイルが含まれるローカル ディレクトリ。

compute_target
必須

トレーニングが発生するコンピューティング先。 これは、オブジェクトまたは文字列 "local" のいずれかです。

vm_size
必須
str

トレーニング用に作成されるコンピューティング先の VM サイズ。 サポートされる値: 任意の Azure VM サイズ

vm_priority
必須
str

トレーニング用に作成されるコンピューティング先の VM 優先度。 指定しない場合は、'dedicated' が使用されます。

サポートされる値: 'dedicated' と 'lowpriority'。

これは、入力で vm_size param を指定した場合にのみ有効になります。

entry_script
必須
str

トレーニング スクリプトが含まれるファイルへの相対パス。

script_params
必須

entry_script内で指定されたトレーニング スクリプトに渡すコマンド ライン引数の辞書。

node_count
必須
int

トレーニングに使用するコンピューティング先のノードの数。 1 より大きい場合は、mpi 分散ジョブが実行されます。 分散ジョブでは、azureml.core.compute.AmlCompute ターゲットのみがサポートされます。

process_count_per_node
必須
int

ノードあたりのプロセスの数。 1 より大きい場合は、MPI 分散ジョブが実行されます。 分散ジョブには、AmlCompute ターゲットのみがサポートされています。

distributed_backend
必須
str

分散トレーニング用の通信バックエンド。

非推奨。 distributed_training パラメーターを使用します。

サポートされる値: 'mpi'、'gloo'、'nccl'。

'mpi': MPI/Horovod 'gloo'、'nccl': ネイティブ PyTorch 分散トレーニング

このパラメーターは、node_count または process_count_per_node> 1 の場合に必要です。

node_count == 1 かつ process_count_per_node == 1 の場合、バックエンドが明示的に設定されていない限り、バックエンドは使用されません。 分散トレーニングでは、AmlCompute ターゲットのみがサポートされています。

distributed_training
必須
Mpi または Gloo または Nccl

分散トレーニング ジョブを実行するためのパラメーター。

MPI バックエンドで分散ジョブを実行する場合は、Mpi オブジェクトを使用して process_count_per_node を指定します。 gloo バックエンドを使用して分散ジョブを実行する場合は、Gloo を使用します。 nccl バックエンドを使用して分散ジョブを実行する場合は、Nccl を使用します。

use_gpu
必須

実験を実行する環境で GPU をサポートする必要があるかどうかを指定します。 true の場合、GPU ベースの既定の Docker イメージが環境で使用されます。 false の場合、CPU ベースのイメージが使用されます。 既定の Docker イメージ (CPU または GPU) は、custom_docker_image パラメーターを設定していない場合にのみ使用されます。 この設定は、Docker 対応のコンピューティング先でのみ使用されます。

use_docker
必須

実験を実行するための環境を Docker ベースにするかどうかを指定します。

custom_docker_base_image
必須
str

Docker イメージの名前。トレーニングに使用するイメージは、この Docker イメージからビルドされます。

非推奨。 custom_docker_image パラメーターを使用します。

設定しない場合は、既定の CPU ベースのイメージが基本イメージとして使用されます。

custom_docker_image
必須
str

Docker イメージの名前。トレーニングに使用するイメージは、この Docker イメージからビルドされます。 設定しない場合は、既定の CPU ベースのイメージが基本イメージとして使用されます。

image_registry_details
必須

Docker イメージ レジストリの詳細。

user_managed
必須

Azure ML が既存の Python 環境を再利用するかどうかを指定します。 false の場合、conda の依存関係の仕様に基づいて、Azure ML によって Python 環境が作成されます。

conda_packages
必須

実験用の Python 環境に追加される conda パッケージを表す文字列のリスト。

pip_packages
必須

実験用の Python 環境に追加される pip パッケージを表す文字列のリスト。

conda_dependencies_file_path
必須
str

conda の依存関係 yaml ファイルへの相対パス。 指定した場合、Azure ML によって、フレームワーク関連のパッケージはインストールされません。 非推奨。 conda_dependencies_file パラメーターを使用します。

pip_requirements_file_path
必須
str

pip 要件テキスト ファイルへの相対パス。 これは、pip_packages パラメーターと組み合わせて指定できます。 非推奨。 pip_requirements_file パラメーターを使用します。

conda_dependencies_file
必須
str

conda の依存関係 yaml ファイルへの相対パス。 指定した場合、Azure ML によって、フレームワーク関連のパッケージはインストールされません。

pip_requirements_file
必須
str

pip 要件テキスト ファイルへの相対パス。 これは、pip_packages パラメーターと組み合わせて指定できます。

environment_variables
必須

環境変数の名前と値のディクショナリ。 これらの環境変数は、ユーザー スクリプトが実行されるプロセスで設定されます。

environment_definition
必須

実験の環境定義。 PythonSection、DockerSection、および環境変数が含まれます。 他のパラメーターを介して推定器構造に直接公開されていない環境オプションは、このパラメーターを使用して設定できます。 このパラメーターを指定すると、use_gpucustom_docker_imageconda_packagespip_packages などの他の環境関連パラメーターよりも優先されます。 無効な組み合わせに対してエラーが報告されます。

inputs
必須

azureml.data.data_referenceの一覧。入力として使用する DataReference オブジェクト。

source_directory_data_store
必須

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

shm_size
必須

Docker コンテナーの共有メモリ ブロックのサイズ。 設定しなかった場合は、既定の azureml.core.environment._DEFAULT_SHM_SIZE が使用されます。 詳細については、「

framework_version
必須
str

トレーニング コードの実行に使用される PyTorch バージョン。 PyTorch.get_supported_versions() は、現在の SDK でサポートされているバージョンのリストを返します。

_enable_optimized_mode
必須

事前構築済みのフレームワーク イメージを使用して増分環境ビルドを有効にして、環境の準備を高速化します。 事前構築済みのフレームワーク イメージは、フレームワークの依存関係が事前にインストールされている Azure ML の既定の CPU/GPU ベース イメージの上に構築されています。

_disable_validation
必須

実行の送信前にスクリプトの検証を無効にします。 既定値は True です。

_show_lint_warnings
必須

スクリプトリンティングの警告を表示します。 既定値は False です。

_show_package_warnings
必須

パッケージ検証の警告を表示します。 既定値は False です。

注釈

トレーニング ジョブを送信すると、Azure ML によって、Azure ML Docker コンテナー内の conda 環境でスクリプトが実行されます。 PyTorch コンテナーには、次の依存関係がインストールされています。

依存関係 | PyTorch 1.0/1.1/1.2/1.3/ | PyTorch 1.4/1.5/1.6 | ———————- | —————– | ————- | Python | 3.6.2 | 3.6.2 | CUDA (GPU イメージのみ) | 10.0 | 10.1 | cuDNN (GPU イメージのみ) | 7.6.3 | 7.6.3 | NCCL (GPU イメージのみ) | 2.4.8 | 2.4.8 | azureml-defaults | 最新 | 最新 | OpenMpi | 3.1.2 | 3.1.2 | horovod | 0.18.1 | 0.18.1/0.19.1/0.19.5 | miniconda | 4.5.11 | 4.5.11 | torch | 1.0/1.1/1.2/1.3.1 | 1.4.0/1.5.0/1.6.0 | torchvision | 0.4.1 | 0.5.0 | git | 2.7.4 | 2.7.4 | tensorboard | 1.14 | 1.14 | future | 0.17.1 | 0.17.1 |

Docker イメージにより、Ubuntu 16.04 が拡張されます。

追加の依存関係をインストールするには、pip_packages または conda_packages パラメーターを使用できます。 あるいは、pip_requirements_file または conda_dependencies_file パラメーターを指定できます。 また、独自のイメージをビルドし、custom_docker_image パラメーターを推定器コンストラクターに渡すこともできます。

PyTorch トレーニングで使用される Docker コンテナーの詳細については、https://github.com/Azure/AzureML-Containers を参照してください。

PyTorch 推定器は、オープンソースの Horovod を使用して、CPU および GPU クラスター全体の分散トレーニングをサポートします。これらはすべて分散トレーニングのフレームワークを削減します。 分散トレーニングにおける PyTorch の使用例と詳細については、Azure Machine Learning を使用した大規模な PyTorch モデルのトレーニングと登録に関する記事を参照してください。

属性

DEFAULT_VERSION

DEFAULT_VERSION = '1.4'

FRAMEWORK_NAME

FRAMEWORK_NAME = 'PyTorch'