PyTorch Třída

Představuje odhadce pro trénování v experimentech PyTorch.

ZASTARALÉ. Použijte objekt s ScriptRunConfig vlastním definovaným prostředím nebo jedním z kurátorovaných prostředí Azure ML PyTorch. Úvod ke konfiguraci spuštění experimentu PyTorch pomocí ScriptRunConfig najdete v tématu trénování modelů PyTorch ve velkém s využitím Služby Azure Machine Learning.

Podporované verze: 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6

Inicializace odhadu PyTorch.

Referenční informace o spuštění Dockeru :type shm_size: str :p aram resume_from: Cesta k datům obsahující soubory kontrolního bodu nebo modelu, ze kterých chcete experiment obnovit. :type resume_from: azureml.data.datapath.DataPath :p aram max_run_duration_seconds: Maximální povolená doba spuštění. Azure ML se pokusí automaticky

zrušte spuštění, pokud trvá déle než tato hodnota.

Dědičnost
azureml.train.estimator._framework_base_estimator._FrameworkBaseEstimator
PyTorch

Konstruktor

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)

Parametry

Name Description
source_directory
Vyžadováno
str

Místní adresář obsahující konfigurační soubory experimentu.

compute_target
Vyžadováno

Cílový výpočetní objekt, kde bude probíhat trénování. Může to být buď objekt, nebo řetězec "local".

vm_size
Vyžadováno
str

Velikost virtuálního počítače cílového výpočetního objektu, který se vytvoří pro trénování. Podporované hodnoty: Libovolná velikost virtuálního počítače Azure.

vm_priority
Vyžadováno
str

Priorita virtuálního počítače cílového výpočetního objektu, který se vytvoří pro trénování. Pokud není zadaný, použije se "dedicated".

Podporované hodnoty: dedicated a lowpriority.

To se projeví pouze v vm_size param případě, že je ve vstupu zadána hodnota .

entry_script
Vyžadováno
str

Relativní cesta k souboru obsahujícímu trénovací skript.

script_params
Vyžadováno

Slovník argumentů příkazového řádku, který se má předat trénovacímu skriptu zadanému v entry_script.

node_count
Vyžadováno
int

Počet uzlů ve výpočetním cíli, které se používají k trénování. Pokud je větší než 1, spustí se distribuovaná úloha MPI. AmlCompute Pro distribuované úlohy se podporuje pouze cíl.

process_count_per_node
Vyžadováno
int

Počet procesů na uzel Pokud je větší než 1, spustí se distribuovaná úloha MPI. AmlCompute Pro distribuované úlohy se podporuje pouze cíl.

distributed_backend
Vyžadováno
str

Komunikační back-end pro distribuované trénování.

ZASTARALÉ. distributed_training Použijte parametr .

Podporované hodnoty: "mpi", "gloo" a "nccl".

'mpi': MPI/Horovod 'gloo', 'nccl': Native PyTorch Distributed Training

Tento parametr je povinný, když node_count nebo process_count_per_node> 1.

Pokud node_count == 1 a process_count_per_node == 1, nebude použit žádný back-end, pokud není back-end explicitně nastaven. AmlCompute Distribuované trénování podporuje pouze cíl.

distributed_training
Vyžadováno
Mpi nebo Gloo nebo Nccl

Parametry pro spuštění distribuované trénovací úlohy

Pokud chcete spustit distribuovanou úlohu s back-endem MPI, zadejte pomocí Mpi objektu process_count_per_node. Ke spuštění distribuované úlohy s back-endem gloo použijte Gloo. Ke spuštění distribuované úlohy s back-endem NCCL použijte Nccl.

use_gpu
Vyžadováno

Určuje, jestli by prostředí pro spuštění experimentu mělo podporovat GPU. Pokud je true, použije se v prostředí výchozí image Dockeru založená na GPU. Pokud je false, použije se image založená na procesoru. Výchozí image Dockeru (CPU nebo GPU) se použijí jenom v případě, že custom_docker_image parametr není nastavený. Toto nastavení se používá jenom v cílových výpočetních objektech s podporou Dockeru.

use_docker
Vyžadováno

Určuje, jestli má být prostředí pro spuštění experimentu založené na Dockeru.

custom_docker_base_image
Vyžadováno
str

Vytvoří se název image Dockeru, ze které se image použije pro trénování.

ZASTARALÉ. custom_docker_image Použijte parametr .

Pokud není nastavená, jako základní image se použije výchozí image založená na procesoru.

custom_docker_image
Vyžadováno
str

Vytvoří se název image Dockeru, ze které se image použije pro trénování. Pokud není nastavená, jako základní image se použije výchozí image založená na procesoru.

image_registry_details
Vyžadováno

Podrobnosti o registru imagí Dockeru

user_managed
Vyžadováno

Určuje, jestli Azure ML znovu použije existující prostředí Pythonu. Pokud je hodnota false, Azure ML vytvoří prostředí Pythonu na základě specifikace závislostí conda.

conda_packages
Vyžadováno

Seznam řetězců představujících balíčky conda, které se mají přidat do prostředí Pythonu pro experiment.

pip_packages
Vyžadováno

Seznam řetězců představujících balíčky pip, které se mají přidat do prostředí Pythonu pro experiment.

conda_dependencies_file_path
Vyžadováno
str

Relativní cesta k souboru yaml závislostí conda. Pokud zadáte tento parametr, Azure ML nenainstaluje žádné balíčky související s architekturou. ZASTARALÉ. conda_dependencies_file Použijte parametr .

pip_requirements_file_path
Vyžadováno
str

Relativní cesta k textovému souboru požadavků pip. To lze zadat v kombinaci s parametrem pip_packages . ZASTARALÉ. pip_requirements_file Použijte parametr .

conda_dependencies_file
Vyžadováno
str

Relativní cesta k souboru yaml závislostí conda. Pokud zadáte tento parametr, Azure ML nenainstaluje žádné balíčky související s architekturou.

pip_requirements_file
Vyžadováno
str

Relativní cesta k textovému souboru požadavků pip. To lze zadat v kombinaci s parametrem pip_packages .

environment_variables
Vyžadováno

Slovník názvů a hodnot proměnných prostředí. Tyto proměnné prostředí se nastavují v procesu, ve kterém se spouští uživatelský skript.

environment_definition
Vyžadováno

Definice prostředí experimentu Zahrnuje PythonSection, DockerSection a proměnné prostředí. Pomocí tohoto parametru lze nastavit jakoukoli možnost prostředí, která není přímo zpřístupněna prostřednictvím jiných parametrů pro konstrukci estimátoru. Pokud je tento parametr zadaný, bude mít přednost před ostatními parametry souvisejícími s prostředím, jako use_gpujsou , custom_docker_image, conda_packagesnebo pip_packages. U neplatných kombinací parametrů budou hlášeny chyby.

inputs
Vyžadováno

Seznam DataReference objektů nebo DatasetConsumptionConfig , které se mají použít jako vstup.

source_directory_data_store
Vyžadováno

Záložní úložiště dat pro sdílenou složku projektu.

shm_size
Vyžadováno
str

Velikost bloku sdílené paměti kontejneru Dockeru. Pokud není nastavená, použije se výchozí azureml.core.environment._DEFAULT_SHM_SIZE. Další informace najdete v referenčních informacích o spuštění Dockeru.

resume_from
Vyžadováno

Cesta k datům obsahující kontrolní bod nebo soubory modelu, ze kterých chcete pokračovat v experimentu.

max_run_duration_seconds
Vyžadováno
int

Maximální povolený čas pro spuštění. Azure ML se pokusí automaticky zrušit spuštění, pokud trvá déle než tato hodnota.

framework_version
Vyžadováno
str

Verze PyTorch, která se má použít ke spuštění trénovacího kódu. PyTorch.get_supported_versions() vrátí seznam verzí podporovaných aktuální sadou SDK.

source_directory
Vyžadováno
str

Místní adresář obsahující konfigurační soubory experimentu.

compute_target
Vyžadováno

Cílový výpočetní objekt, kde bude probíhat trénování. Může to být buď objekt, nebo řetězec "local".

vm_size
Vyžadováno
str

Velikost virtuálního počítače cílového výpočetního objektu, který se vytvoří pro trénování. Podporované hodnoty: Libovolná velikost virtuálního počítače Azure.

vm_priority
Vyžadováno
str

Priorita virtuálního počítače cílového výpočetního objektu, který se vytvoří pro trénování. Pokud není zadáno, použije se "vyhrazené".

Podporované hodnoty: "dedicated" a "lowpriority".

To se projeví pouze v vm_size param případě, že je ve vstupu zadána hodnota .

entry_script
Vyžadováno
str

Relativní cesta k souboru, který obsahuje trénovací skript.

script_params
Vyžadováno

Slovník argumentů příkazového řádku, který se má předat do trénovacího skriptu zadaného v entry_scriptnástroji .

node_count
Vyžadováno
int

Počet uzlů v cílovém výpočetním objektu, které se používají pro trénování. Pokud je větší než 1, spustí se distribuovaná úloha mpi. Pro distribuované úlohy se podporuje pouze cíl azureml.core.compute.AmlCompute.

process_count_per_node
Vyžadováno
int

Počet procesů na uzel Pokud je větší než 1, spustí se distribuovaná úloha MPI. U distribuovaných AmlCompute úloh se podporuje pouze cíl.

distributed_backend
Vyžadováno
str

Komunikační back-end pro distribuované trénování.

ZASTARALÉ. distributed_training Použijte parametr .

Podporované hodnoty: "mpi", "gloo" a "nccl".

'mpi': MPI/Horovod 'gloo', 'nccl': Native PyTorch Distributed Training

Tento parametr je povinný, pokud node_count nebo process_count_per_node> 1.

Pokud node_count je == 1 a process_count_per_node == 1, nebude použit žádný back-end, pokud není back-end explicitně nastaven. AmlCompute Pro distribuované trénování je podporován pouze cíl.

distributed_training
Vyžadováno
Mpi nebo Gloo nebo Nccl

Parametry pro spuštění distribuované trénovací úlohy

Pokud chcete spustit distribuovanou úlohu s back-endem MPI, zadejte process_count_per_nodepomocí Mpi objektu . Pokud chcete spustit distribuovanou úlohu s back-endem gloo, použijte Gloo. Pokud chcete spustit distribuovanou úlohu s back-endem nccl, použijte Nccl.

use_gpu
Vyžadováno

Určuje, jestli by prostředí pro spuštění experimentu mělo podporovat GPU. Pokud ano, použije se v prostředí výchozí image Dockeru založená na GPU. Pokud je false, použije se image založená na procesoru. Výchozí image Dockeru (CPU nebo GPU) se použijí pouze v případě, že custom_docker_image parametr není nastavený. Toto nastavení se používá jenom v cílových výpočetních prostředcích s podporou Dockeru.

use_docker
Vyžadováno

Určuje, jestli má být prostředí pro spuštění experimentu založené na Dockeru.

custom_docker_base_image
Vyžadováno
str

Název image Dockeru, ze které se vytvoří image, která se má použít pro trénování.

ZASTARALÉ. custom_docker_image Použijte parametr .

Pokud není nastavená, jako základní image se použije výchozí image založená na procesoru.

custom_docker_image
Vyžadováno
str

Název image Dockeru, ze které se vytvoří image, která se má použít pro trénování. Pokud není nastavená, jako základní image se použije výchozí image založená na procesoru.

image_registry_details
Vyžadováno

Podrobnosti o registru imagí Dockeru

user_managed
Vyžadováno

Určuje, jestli Azure ML opakovaně používá existující prostředí Pythonu. Pokud je false, Azure ML vytvoří prostředí Pythonu na základě specifikace závislostí conda.

conda_packages
Vyžadováno

Seznam řetězců představujících balíčky conda, které se mají přidat do prostředí Pythonu pro experiment.

pip_packages
Vyžadováno

Seznam řetězců představujících balíčky pip, které se mají přidat do prostředí Pythonu pro experiment.

conda_dependencies_file_path
Vyžadováno
str

Relativní cesta k závislosti conda soubor yaml. Pokud je zadáno, Azure ML nenainstaluje žádné balíčky související s architekturou. ZASTARALÉ. conda_dependencies_file Použijte parametr .

pip_requirements_file_path
Vyžadováno
str

Relativní cesta k textovému souboru pip. To je možné poskytnout v kombinaci s parametrem pip_packages . ZASTARALÉ. pip_requirements_file Použijte parametr .

conda_dependencies_file
Vyžadováno
str

Relativní cesta k závislosti conda soubor yaml. Pokud je zadáno, Azure ML nenainstaluje žádné balíčky související s architekturou.

pip_requirements_file
Vyžadováno
str

Relativní cesta k textovému souboru pip. To je možné poskytnout v kombinaci s parametrem pip_packages .

environment_variables
Vyžadováno

Slovník názvů a hodnot proměnných prostředí. Tyto proměnné prostředí se nastavují v procesu, ve kterém se spouští uživatelský skript.

environment_definition
Vyžadováno

Definice prostředí pro experiment. Zahrnuje PythonSection, DockerSection a proměnné prostředí. Pomocí tohoto parametru lze nastavit všechny možnosti prostředí, které nejsou přímo vystaveny prostřednictvím jiných parametrů pro konstrukci nástroje Estimator. Pokud je tento parametr zadaný, bude mít přednost před ostatními parametry souvisejícími s prostředím, jako use_gpujsou , custom_docker_image, conda_packagesnebo pip_packages. U neplatných kombinací budou hlášeny chyby.

inputs
Vyžadováno

Seznam azureml.data.data_reference. Objekty DataReference, které se mají použít jako vstup.

source_directory_data_store
Vyžadováno

Záložní úložiště dat pro sdílenou složku projektu.

shm_size
Vyžadováno

Velikost bloku sdílené paměti kontejneru Dockeru Pokud není nastavená, použije se výchozí azureml.core.environment._DEFAULT_SHM_SIZE. Další informace najdete v tématu

framework_version
Vyžadováno
str

Verze PyTorch, která se má použít ke spouštění trénovacího kódu. PyTorch.get_supported_versions() vrátí seznam verzí podporovaných aktuální sadou SDK.

_enable_optimized_mode
Vyžadováno

Povolte přírůstkové sestavování prostředí pomocí předem připravených imagí architektury pro rychlejší přípravu prostředí. Předem připravená image architektury je postavená na výchozích imagích procesoru/GPU Azure ML s předinstalovanými závislostmi architektury.

_disable_validation
Vyžadováno

Před spuštěním odeslání zakažte ověření skriptu. Výchozí hodnota je Pravda.

_show_lint_warnings
Vyžadováno

Zobrazit upozornění lintingu skriptu. Výchozí hodnota je Nepravda.

_show_package_warnings
Vyžadováno

Zobrazit upozornění na ověření balíčku Výchozí hodnota je Nepravda.

Poznámky

Při odesílání trénovací úlohy Azure ML spustí váš skript v prostředí Conda v kontejneru Dockeru. Kontejnery PyTorch mají nainstalované následující závislosti.

Závislosti | PyTorch 1.0/1.1/1.2/1.3/ | PyTorch 1.4/1.5/1.6 | ———————- | —————– | ————- | Python | 3.6.2 | 3.6.2 | CUDA (pouze image GPU) | 10,0 | 10.1 | cuDNN (jenom obrázek GPU) | 7.6.3 | 7.6.3 | NCCL (jenom obrázek GPU) | 2.4.8 | 2.4.8 | azureml-defaults | Nejnovější | Nejnovější | 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 | tenzor | 1.14 | 1.14 | budoucí | 0.17.1 | 0.17.1 |

Image Dockeru rozšiřují Ubuntu 16.04.

Pokud chcete nainstalovat další závislosti, můžete použít pip_packages parametr nebo conda_packages . Nebo můžete zadat pip_requirements_file parametr nebo conda_dependencies_file . Alternativně můžete vytvořit vlastní image a předat custom_docker_image parametr konstruktoru estimátoru.

Další informace o kontejnerech Dockeru používaných při trénování PyTorch najdete v tématu https://github.com/Azure/AzureML-Containers.

Odhadce PyTorch podporuje distribuované trénování napříč clustery PROCESORu a GPU pomocí Horovodu, opensourcové architektury redukce pro distribuované trénování. Příklady a další informace o použití PyTorchu v distribuovaném trénování najdete v kurzu trénování a registrace modelů PyTorch ve velkém s využitím služby Azure Machine Learning.

Atributy

DEFAULT_VERSION

DEFAULT_VERSION = '1.4'

FRAMEWORK_NAME

FRAMEWORK_NAME = 'PyTorch'