Sdílet prostřednictvím


PyTorch Třída

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

ZAVRHOVANÝ. ScriptRunConfig Použijte objekt s vlastním definovaným prostředím nebo jedním z kurátorovaných prostředí Azure ML PyTorch. Úvod ke konfiguraci experimentů PyTorch pomocí ScriptRunConfig najdete v tématu Trénování modelů PyTorch ve velkém měřítku pomocí služby Azure Machine Learning.

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

Inicializace estimátoru PyTorch

Referenční informace ke spuštění Dockeru :type shm_size: str :p aram resume_from: Datová cesta obsahující kontrolní bod nebo soubory modelu, ze kterých chcete experiment obnovit. :type resume_from: azureml.datapath.DataPath :p aram max_run_duration_seconds: Maximální povolený čas spuštění. Azure ML se pokusí automaticky

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

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, ve kterém bude trénování probíhat. 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 "dedicated".

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

To se projeví pouze v případě, vm_size param že je zadaný ve vstupu.

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četuzlůch Pokud je větší než 1, spustí se distribuovaná úloha MPI. Distribuovaných AmlCompute úloh je podporován 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. Distribuovaných AmlCompute úloh je podporován pouze cíl.

distributed_backend
Vyžadováno
str

Back-end komunikace pro distribuované trénování.

ZAVRHOVANÝ. 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 == 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í se podporuje jenom cíl.

distributed_training
Vyžadováno
Mpi nebo Gloo nebo Nccl

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

Pro spuštění distribuované úlohy s back-endem MPI použijte Mpi objekt k určení process_count_per_node. Pro spuštění distribuované úlohy s back-endem gloo použijte Gloo. Pro spuštění distribuované úlohy s back-endem nccl použijte Nccl.

use_gpu
Vyžadováno

Určuje, jestli má prostředí pro spuštění experimentu 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í 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í ke 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 má image použít pro trénování.

ZAVRHOVANÝ. 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 má image 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 registru imagí Dockeru

user_managed
Vyžadováno

Určuje, jestli Azure ML znovu používá 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 je zadáno, Azure ML nenainstaluje žádné balíčky související s architekturou. ZAVRHOVANÝ. conda_dependencies_file Použijte parametr.

pip_requirements_file_path
Vyžadováno
str

Relativní cesta k textovému souboru požadavků pip. Dá se zadat v kombinaci s parametrem pip_packages . ZAVRHOVANÝ. pip_requirements_file Použijte parametr.

conda_dependencies_file
Vyžadováno
str

Relativní cesta k souboru yaml závislostí conda. 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 požadavků pip. Dá se 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í jsou nastavené 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 jakoukoli možnost prostředí, která není přímo zpřístupněna prostřednictvím jiných parametrů pro konstrukci odhadce. Pokud je tento parametr zadán, bude mít přednost před jinými parametry souvisejícími s prostředím, jako je use_gpu, custom_docker_image, conda_packagesnebo pip_packages. Chyby budou hlášeny při neplatných kombinacích parametrů.

inputs
Vyžadováno

Seznam DataReference objektů nebo DatasetConsumptionConfig objektů, 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 ke spuštění Dockeru.

resume_from
Vyžadováno

Cesta k datům obsahující soubory kontrolního bodu nebo modelu, ze kterých chcete experiment obnovit.

max_run_duration_seconds
Vyžadováno
int

Maximální povolená doba běhu. Azure ML se pokusí spuštění automaticky zrušit, pokud trvá déle, než je tato hodnota.

framework_version
Vyžadováno
str

Verze PyTorch, která se má použít k provádě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, ve kterém bude trénování probíhat. 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 "dedicated".

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

To se projeví pouze v případě, vm_size param že je zadaný ve vstupu.

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četuzlůch Pokud je větší než 1, spustí se distribuovaná úloha mpi. Distribuovaných úloh 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. Distribuovaných AmlCompute úloh je podporován pouze cíl.

distributed_backend
Vyžadováno
str

Back-end komunikace pro distribuované trénování.

ZAVRHOVANÝ. 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 == 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í se podporuje jenom cíl.

distributed_training
Vyžadováno
Mpi nebo Gloo nebo Nccl

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

Pro spuštění distribuované úlohy s back-endem MPI použijte Mpi objekt k určení process_count_per_node. Pro spuštění distribuované úlohy s back-endem gloo použijte Gloo. Pro spuštění distribuované úlohy s back-endem nccl použijte Nccl.

use_gpu
Vyžadováno

Určuje, jestli má prostředí pro spuštění experimentu 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í 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í ke 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 má image použít pro trénování.

ZAVRHOVANÝ. 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 má image 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 registru imagí Dockeru

user_managed
Vyžadováno

Určuje, jestli Azure ML znovu používá 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 je zadáno, Azure ML nenainstaluje žádné balíčky související s architekturou. ZAVRHOVANÝ. conda_dependencies_file Použijte parametr.

pip_requirements_file_path
Vyžadováno
str

Relativní cesta k textovému souboru požadavků pip. Dá se zadat v kombinaci s parametrem pip_packages . ZAVRHOVANÝ. pip_requirements_file Použijte parametr.

conda_dependencies_file
Vyžadováno
str

Relativní cesta k souboru yaml závislostí conda. 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 požadavků pip. Dá se 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í jsou nastavené 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 jakoukoli možnost prostředí, která není přímo zpřístupněna prostřednictvím jiných parametrů pro konstrukci odhadce. Pokud je tento parametr zadán, bude mít přednost před jinými parametry souvisejícími s prostředím, jako je use_gpu, custom_docker_image, conda_packagesnebo pip_packages. Chyby budou hlášeny v neplatných kombinacích.

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 naleznete zde

framework_version
Vyžadováno
str

Verze PyTorch, která se má použít k provádě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é sestavení prostředí s předem sestavenými imagemi architektury pro rychlejší přípravu prostředí. Předem sestavená image architektury je postavená na výchozích imagích procesoru a 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 True.

_show_lint_warnings
Vyžadováno

Zobrazí upozornění pro lintování skriptu. Výchozí hodnota je False.

_show_package_warnings
Vyžadováno

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

Poznámky

Při odesílání trénovací úlohy spustí Azure ML 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 (pouze obrázek GPU) | 7.6.3 | 7.6.3 | NCCL (pouze image GPU) | 2.4.8 | 2.4.8 | výchozí hodnoty azureml | 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 | tensorboard | 1,14 | 1,14 | budoucnost | 0.17.1 | 0.17.1 |

Image Dockeru rozšiřují Ubuntu 16.04.

K instalaci dalších závislostí můžete použít pip_packages parametr nebo conda_packages parametr. Nebo můžete zadat pip_requirements_file parametr nebo conda_dependencies_file parametr. 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 v trénování PyTorch najdete v tématu https://github.com/Azure/AzureML-Containers.

Estimátor PyTorch podporuje distribuované trénování napříč clustery CPU a GPU pomocí Horovodu, což je opensourcová architektura redukce pro distribuované trénování. Příklady a další informace o používání PyTorch v distribuovaném trénování najdete v kurzu Trénování a registrace modelů PyTorch ve velkém měřítku ve službě Azure Machine Learning.

Atributy

DEFAULT_VERSION

DEFAULT_VERSION = '1.4'

FRAMEWORK_NAME

FRAMEWORK_NAME = 'PyTorch'