PyTorch 類別

代表在 PyTorch 實驗中定型的估算器。

已淘汰。 將 ScriptRunConfig 物件與您自己的已定義環境或其中一個 Azure ML PyTorch 策劃環境搭配使用。 如需使用 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
AbstractComputeTargetstr
必要

將進行定型的計算目標。 這可以是 物件或字串 「local」。

vm_size
str
必要

將針對定型建立之計算目標的 VM 大小。 支援的值:任何 Azure VM 大小

vm_priority
str
必要

將針對定型建立之計算目標的 VM 優先順序。 如果未指定,則會使用 'dedicated'。

支援的值:'dedicated' 和 'lowpriority'。

只有在輸入中指定 時 vm_size param ,才會生效。

entry_script
str
必要

包含定型腳本之檔案的相對路徑。

script_params
dict
必要

要傳遞至 中所 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': Native PyTorch Distributed Training

當 或 process_count_per_node> 1 時 node_count ,需要此參數。

當 == 1 和 process_count_per_node == 1 時 node_count ,除非明確設定後端,否則不會使用後端。 AmlCompute只有分散式定型支援目標。

distributed_training
MpiGlooNccl
必要

執行分散式定型作業的參數。

若要使用 MPI 後端執行分散式作業,請使用 Mpi 物件來指定 process_count_per_node 。 若要執行具有 Gloo 後端的分散式作業,請使用 Gloo 。 若要使用 nccl 後端執行分散式作業,請使用 Nccl

use_gpu
bool
必要

指定執行實驗的環境是否應該支援 GPU。 如果為 true,則會在環境中使用 GPU 型預設 Docker 映射。 如果為 false,則會使用以 CPU 為基礎的映射。 只有在未設定 參數時 custom_docker_image ,才會使用預設 docker 映射 (CPU 或 GPU) 。 此設定僅適用于已啟用 Docker 的計算目標。

use_docker
bool
必要

指定要執行實驗的環境是否應該以 Docker 為基礎。

custom_docker_base_image
str
必要

要用來定型之映射的 Docker 映射名稱。

已淘汰。 custom_docker_image使用 參數。

如果未設定,則會使用預設 CPU 型映射作為基底映射。

custom_docker_image
str
必要

要用來定型之映射的 Docker 映射名稱。 如果未設定,則會使用預設 CPU 型映射作為基底映射。

image_registry_details
ContainerRegistry
必要

Docker 映射登錄的詳細資料。

user_managed
bool
必要

指定 Azure ML 是否重複使用現有的 Python 環境。 如果為 false,Azure ML 會根據 conda 相依性規格建立 Python 環境。

conda_packages
list
必要

字串清單,表示要新增至實驗 Python 環境的 conda 套件。

pip_packages
list
必要

字串清單,表示要新增至實驗 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
dict
必要

環境變數名稱和值的字典。 這些環境變數會在執行使用者指令碼的程序上設定。

environment_definition
Environment
必要

實驗的環境定義。 其中包含 PythonSection、DockerSection 和環境變數。 任何未透過其他參數直接公開至估算器建構的環境選項,都可以使用此參數來設定。 如果指定此參數,則會優先于其他環境相關參數,例如 use_gpucustom_docker_imageconda_packagespip_packages 。 錯誤會報告參數不正確組合。

inputs
list
必要

做為輸入的 或 DatasetConsumptionConfig 物件清單 DataReference

source_directory_data_store
Datastore
必要

專案共用支援資料存放區。

shm_size
str
必要

Docker 容器的共用記憶體區塊大小。 如果未設定,則會使用預設azureml.core.environment._DEFAULT_SHM_SIZE。 如需詳細資訊,請參閱 Docker 執行參考

resume_from
DataPath
必要

包含要繼續實驗之檢查點或模型檔案的資料路徑。

max_run_duration_seconds
int
必要

執行所允許的最大時間。 如果執行時間超過此值,Azure ML 會嘗試自動取消執行。

framework_version
str
必要

要用來執行定型程式碼的 PyTorch 版本。 PyTorch.get_supported_versions() 會傳回目前 SDK 支援的版本清單。

source_directory
str
必要

包含實驗設定檔的本機目錄。

compute_target
AbstractComputeTargetstr
必要

將進行定型的計算目標。 這可以是 物件或字串 「local」。

vm_size
str
必要

將針對定型建立之計算目標的 VM 大小。 支援的值:任何 Azure VM 大小

vm_priority
str
必要

將針對定型建立之計算目標的 VM 優先順序。 如果未指定,則會使用 'dedicated'。

支援的值:'dedicated' 和 'lowpriority'。

只有在輸入中指定 時 vm_size param ,才會生效。

entry_script
str
必要

包含定型腳本之檔案的相對路徑。

script_params
dict
必要

要傳遞至 中所 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': Native PyTorch Distributed Training

當 或 process_count_per_node> 1 時 node_count ,需要此參數。

當 == 1 和 process_count_per_node == 1 時 node_count ,除非明確設定後端,否則不會使用後端。 AmlCompute只有分散式定型支援目標。

distributed_training
MpiGlooNccl
必要

執行分散式定型作業的參數。

若要使用 MPI 後端執行分散式作業,請使用 Mpi 物件來指定 process_count_per_node 。 若要執行具有 Gloo 後端的分散式作業,請使用 Gloo 。 若要使用 nccl 後端執行分散式作業,請使用 Nccl

use_gpu
bool
必要

指定執行實驗的環境是否應該支援 GPU。 如果為 true,則會在環境中使用 GPU 型預設 Docker 映射。 如果為 false,則會使用以 CPU 為基礎的映射。 只有在未設定 參數時 custom_docker_image ,才會使用預設 docker 映射 (CPU 或 GPU) 。 此設定僅適用于已啟用 Docker 的計算目標。

use_docker
bool
必要

指定要執行實驗的環境是否應該以 Docker 為基礎。

custom_docker_base_image
str
必要

要用來定型之映射的 Docker 映射名稱。

已淘汰。 custom_docker_image使用 參數。

如果未設定,則會使用預設 CPU 型映射作為基底映射。

custom_docker_image
str
必要

要用來定型之映射的 Docker 映射名稱。 如果未設定,則會使用預設 CPU 型映射作為基底映射。

image_registry_details
ContainerRegistry
必要

Docker 映射登錄的詳細資料。

user_managed
bool
必要

指定 Azure ML 是否重複使用現有的 Python 環境。 如果為 false,Azure ML 會根據 conda 相依性規格建立 Python 環境。

conda_packages
list
必要

字串清單,表示要新增至實驗 Python 環境的 conda 套件。

pip_packages
list
必要

字串清單,表示要新增至實驗 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
dict
必要

環境變數名稱和值的字典。 這些環境變數會在執行使用者指令碼的程序上設定。

environment_definition
Environment
必要

實驗的環境定義。 其中包含 PythonSection、DockerSection 和環境變數。 任何未透過其他參數直接公開至估算器建構的環境選項,都可以使用此參數來設定。 如果指定此參數,則會優先于其他環境相關參數,例如 use_gpucustom_docker_imageconda_packagespip_packages 。 錯誤將會報告不正確組合。

inputs
list
必要

azureml.data.data_reference清單。要當做輸入使用的 DataReference 物件。

source_directory_data_store
Datastore
必要

專案共用支援資料存放區。

shm_size
必要

Docker 容器的共用記憶體區塊大小。 如果未設定,則會使用預設azureml.core.environment._DEFAULT_SHM_SIZE。 如需相關資訊,請參閱

framework_version
str
必要

要用來執行定型程式碼的 PyTorch 版本。 PyTorch.get_supported_versions() 會傳回目前 SDK 支援的版本清單。

_enable_optimized_mode
bool
必要

使用預先建置的架構映射啟用累加式環境建置,以加快環境準備速度。 預先建置的架構映射建置於預先安裝架構相依性的 Azure ML 預設 CPU/GPU 基底映射之上。

_disable_validation
bool
必要

在執行提交之前停用腳本驗證。 預設值為 True。

_show_lint_warnings
bool
必要

顯示腳本 Linting 警告。 預設值是 False。

_show_package_warnings
bool
必要

顯示套件驗證警告。 預設值是 False。

備註

提交定型作業時,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 |手電筒筒 |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_packagesconda_packages 參數。 或者,您可以指定 pip_requirements_fileconda_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'