PyTorch Klas

Vertegenwoordigt een estimator voor training in PyTorch-experimenten.

AFGEKEURD. Gebruik het ScriptRunConfig object met uw eigen gedefinieerde omgeving of een van de gecureerde Azure ML PyTorch-omgevingen. Zie PyTorch-modellen op schaal trainen met Azure Machine Learning voor een inleiding tot het configureren van PyTorch-experimentuitvoeringen met ScriptRunConfig.

Ondersteunde versies: 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6

Initialiseer een PyTorch-schatting.

Docker-uitvoeringsreferentie. :type shm_size: str :p aram resume_from: het gegevenspad met de controlepunt- of modelbestanden van waaruit het experiment moet worden hervat. :type resume_from: azureml.data.datapath.DataPath :p aram max_run_duration_seconds: De maximaal toegestane tijd voor de uitvoering. Azure ML probeert dit automatisch te doen

de uitvoering annuleren als deze langer duurt dan deze waarde.

Overname
azureml.train.estimator._framework_base_estimator._FrameworkBaseEstimator
PyTorch

Constructor

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)

Parameters

source_directory
str
Vereist

Een lokale map met experimentconfiguratiebestanden.

compute_target
AbstractComputeTarget of str
Vereist

Het rekendoel waar de training plaatsvindt. Dit kan een object of de tekenreeks 'lokaal' zijn.

vm_size
str
Vereist

De VM-grootte van het rekendoel dat voor de training wordt gemaakt. Ondersteunde waarden: elke grootte van azure-VM's.

vm_priority
str
Vereist

De VM-prioriteit van het rekendoel dat voor de training wordt gemaakt. Als dit niet is opgegeven, wordt 'dedicated' gebruikt.

Ondersteunde waarden: 'dedicated' en 'lowpriority'.

Dit wordt alleen van kracht wanneer de vm_size param is opgegeven in de invoer.

entry_script
str
Vereist

Het relatieve pad naar het bestand met het trainingsscript.

script_params
dict
Vereist

Een woordenlijst met opdrachtregelargumenten die moeten worden doorgegeven aan het trainingsscript dat is opgegeven in entry_script.

node_count
int
Vereist

Het aantal knooppunten in het rekendoel dat voor de training wordt gebruikt. Als deze groter is dan 1, wordt een gedistribueerde MPI-taak uitgevoerd. Alleen het AmlCompute doel wordt ondersteund voor gedistribueerde taken.

process_count_per_node
int
Vereist

Het aantal processen per knooppunt. Als deze groter is dan 1, wordt een gedistribueerde MPI-taak uitgevoerd. Alleen het AmlCompute doel wordt ondersteund voor gedistribueerde taken.

distributed_backend
str
Vereist

De communicatie-back-end voor gedistribueerde training.

AFGEKEURD. Gebruik de distributed_training parameter .

Ondersteunde waarden: 'mpi', 'gloo' en 'nccl'.

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

Deze parameter is vereist wanneer node_count of process_count_per_node> 1.

Wanneer node_count == 1 en process_count_per_node == 1, wordt er geen back-end gebruikt, tenzij de back-end expliciet is ingesteld. Alleen het AmlCompute doel wordt ondersteund voor gedistribueerde training.

distributed_training
Mpi of Gloo of Nccl
Vereist

Parameters voor het uitvoeren van een gedistribueerde trainingstaak.

Voor het uitvoeren van een gedistribueerde taak met MPI-back-end gebruikt Mpi u object om op te geven process_count_per_node. Gebruik Gloovoor het uitvoeren van een gedistribueerde taak met gloo-back-end. Gebruik Ncclvoor het uitvoeren van een gedistribueerde taak met nccl-back-end.

use_gpu
bool
Vereist

Hiermee geeft u op of de omgeving om het experiment uit te voeren GPU's moet ondersteunen. Als dit waar is, wordt in de omgeving een standaard Docker-installatiekopieën op basis van een GPU gebruikt. Als onwaar is, wordt een op CPU gebaseerde installatiekopieën gebruikt. Standaard docker-installatiekopieën (CPU of GPU) worden alleen gebruikt als de custom_docker_image parameter niet is ingesteld. Deze instelling wordt alleen gebruikt in Docker-rekendoelen.

use_docker
bool
Vereist

Hiermee geeft u op of de omgeving om het experiment uit te voeren op Basis van Docker moet zijn.

custom_docker_base_image
str
Vereist

De naam van de Docker-installatiekopieën van waaruit de installatiekopieën voor training worden gemaakt.

AFGEKEURD. Gebruik de custom_docker_image parameter .

Als dit niet is ingesteld, wordt een standaard-CPU-installatiekopieën gebruikt als basisinstallatiekopieën.

custom_docker_image
str
Vereist

De naam van de Docker-installatiekopieën van waaruit de installatiekopieën voor training worden gemaakt. Als dit niet is ingesteld, wordt een standaard-CPU-installatiekopieën gebruikt als basisinstallatiekopieën.

image_registry_details
ContainerRegistry
Vereist

De details van het register van de Docker-installatiekopieën.

user_managed
bool
Vereist

Hiermee geeft u op of Azure ML een bestaande Python-omgeving opnieuw gebruikt. Indien onwaar, maakt Azure ML een Python-omgeving op basis van de specificatie conda-afhankelijkheden.

conda_packages
list
Vereist

Een lijst met tekenreeksen die conda-pakketten vertegenwoordigen die moeten worden toegevoegd aan de Python-omgeving voor het experiment.

pip_packages
list
Vereist

Een lijst met tekenreeksen die pip-pakketten vertegenwoordigen die moeten worden toegevoegd aan de Python-omgeving voor het experiment.

conda_dependencies_file_path
str
Vereist

Het relatieve pad naar het yaml-bestand conda-afhankelijkheden. Indien opgegeven, installeert Azure ML geen framework-gerelateerde pakketten. AFGEKEURD. Gebruik de conda_dependencies_file parameter .

pip_requirements_file_path
str
Vereist

Het relatieve pad naar het tekstbestand pip-vereisten. Dit kan worden opgegeven in combinatie met de pip_packages parameter . AFGEKEURD. Gebruik de pip_requirements_file parameter .

conda_dependencies_file
str
Vereist

Het relatieve pad naar het yaml-bestand conda-afhankelijkheden. Indien opgegeven, installeert Azure ML geen framework-gerelateerde pakketten.

pip_requirements_file
str
Vereist

Het relatieve pad naar het tekstbestand pip-vereisten. Dit kan worden opgegeven in combinatie met de pip_packages parameter .

environment_variables
dict
Vereist

Een woordenlijst met namen en waarden van omgevingsvariabelen. Deze omgevingsvariabelen worden ingesteld voor het proces waarin het gebruikersscript wordt uitgevoerd.

environment_definition
Environment
Vereist

De omgevingsdefinitie voor het experiment. Het omvat PythonSection, DockerSection en omgevingsvariabelen. Elke omgevingsoptie die niet rechtstreeks via andere parameters aan de Estimator-constructie wordt weergegeven, kan worden ingesteld met behulp van deze parameter. Als deze parameter is opgegeven, heeft deze voorrang op andere omgevingsgerelateerde parameters, zoals use_gpu, custom_docker_image, conda_packagesof pip_packages. Fouten worden gerapporteerd bij ongeldige combinaties van parameters.

inputs
list
Vereist

Een lijst met DataReferenceDatasetConsumptionConfig of-objecten die als invoer moeten worden gebruikt.

source_directory_data_store
Datastore
Vereist

Het back-upgegevensarchief voor projectshare.

shm_size
str
Vereist

De grootte van het gedeelde geheugenblok van de Docker-container. Als dit niet is ingesteld, wordt de standaard azureml.core.environment._DEFAULT_SHM_SIZE gebruikt. Zie Naslaginformatie over Docker-uitvoering voor meer informatie.

resume_from
DataPath
Vereist

Het gegevenspad met het controlepunt of de modelbestanden van waaruit het experiment moet worden hervat.

max_run_duration_seconds
int
Vereist

De maximaal toegestane tijd voor de uitvoering. Azure ML probeert de uitvoering automatisch te annuleren als deze langer duurt dan deze waarde.

framework_version
str
Vereist

De PyTorch-versie die moet worden gebruikt voor het uitvoeren van trainingscode. PyTorch.get_supported_versions() retourneert een lijst met de versies die worden ondersteund door de huidige SDK.

source_directory
str
Vereist

Een lokale map met experimentconfiguratiebestanden.

compute_target
AbstractComputeTarget of str
Vereist

Het rekendoel waar de training plaatsvindt. Dit kan een object of de tekenreeks 'lokaal' zijn.

vm_size
str
Vereist

De VM-grootte van het rekendoel dat voor de training wordt gemaakt. Ondersteunde waarden: elke grootte van azure-VM's.

vm_priority
str
Vereist

De VM-prioriteit van het rekendoel dat voor de training wordt gemaakt. Als dit niet is opgegeven, wordt 'dedicated' gebruikt.

Ondersteunde waarden: 'dedicated' en 'lowpriority'.

Dit wordt alleen van kracht wanneer de vm_size param is opgegeven in de invoer.

entry_script
str
Vereist

Het relatieve pad naar het bestand met het trainingsscript.

script_params
dict
Vereist

Een woordenlijst met opdrachtregelargumenten die moeten worden doorgegeven aan het trainingsscript dat is opgegeven in entry_script.

node_count
int
Vereist

Het aantal knooppunten in het rekendoel dat voor de training wordt gebruikt. Als de taak groter is dan 1, wordt de gedistribueerde mpi-taak uitgevoerd. Alleen het doel azureml.core.compute.AmlCompute wordt ondersteund voor gedistribueerde taken.

process_count_per_node
int
Vereist

Het aantal processen per knooppunt. Als deze groter is dan 1, wordt een gedistribueerde MPI-taak uitgevoerd. Alleen het AmlCompute doel wordt ondersteund voor gedistribueerde taken.

distributed_backend
str
Vereist

De communicatie-back-end voor gedistribueerde training.

AFGEKEURD. Gebruik de distributed_training parameter .

Ondersteunde waarden: 'mpi', 'gloo' en 'nccl'.

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

Deze parameter is vereist wanneer node_count of process_count_per_node> 1.

Wanneer node_count == 1 en process_count_per_node == 1, wordt er geen back-end gebruikt, tenzij de back-end expliciet is ingesteld. Alleen het AmlCompute doel wordt ondersteund voor gedistribueerde training.

distributed_training
Mpi of Gloo of Nccl
Vereist

Parameters voor het uitvoeren van een gedistribueerde trainingstaak.

Voor het uitvoeren van een gedistribueerde taak met MPI-back-end gebruikt Mpi u object om op te geven process_count_per_node. Gebruik Gloovoor het uitvoeren van een gedistribueerde taak met gloo-back-end. Gebruik Ncclvoor het uitvoeren van een gedistribueerde taak met nccl-back-end.

use_gpu
bool
Vereist

Hiermee geeft u op of de omgeving om het experiment uit te voeren GPU's moet ondersteunen. Als dit waar is, wordt in de omgeving een standaard Docker-installatiekopieën op basis van een GPU gebruikt. Als onwaar is, wordt een op CPU gebaseerde installatiekopieën gebruikt. Standaard docker-installatiekopieën (CPU of GPU) worden alleen gebruikt als de custom_docker_image parameter niet is ingesteld. Deze instelling wordt alleen gebruikt in Docker-rekendoelen.

use_docker
bool
Vereist

Hiermee geeft u op of de omgeving om het experiment uit te voeren op Basis van Docker moet zijn.

custom_docker_base_image
str
Vereist

De naam van de Docker-installatiekopieën van waaruit de installatiekopieën voor training worden gemaakt.

AFGEKEURD. Gebruik de custom_docker_image parameter .

Als dit niet is ingesteld, wordt een standaard-CPU-installatiekopieën gebruikt als basisinstallatiekopieën.

custom_docker_image
str
Vereist

De naam van de Docker-installatiekopieën van waaruit de installatiekopieën voor training worden gemaakt. Als dit niet is ingesteld, wordt een standaard-CPU-installatiekopieën gebruikt als basisinstallatiekopieën.

image_registry_details
ContainerRegistry
Vereist

De details van het register van de Docker-installatiekopieën.

user_managed
bool
Vereist

Hiermee geeft u op of Azure ML een bestaande Python-omgeving opnieuw gebruikt. Indien onwaar, maakt Azure ML een Python-omgeving op basis van de specificatie conda-afhankelijkheden.

conda_packages
list
Vereist

Een lijst met tekenreeksen die conda-pakketten vertegenwoordigen die moeten worden toegevoegd aan de Python-omgeving voor het experiment.

pip_packages
list
Vereist

Een lijst met tekenreeksen die pip-pakketten vertegenwoordigen die moeten worden toegevoegd aan de Python-omgeving voor het experiment.

conda_dependencies_file_path
str
Vereist

Het relatieve pad naar het yaml-bestand conda-afhankelijkheden. Indien opgegeven, installeert Azure ML geen framework-gerelateerde pakketten. AFGEKEURD. Gebruik de conda_dependencies_file parameter .

pip_requirements_file_path
str
Vereist

Het relatieve pad naar het tekstbestand pip-vereisten. Dit kan worden opgegeven in combinatie met de pip_packages parameter . AFGEKEURD. Gebruik de pip_requirements_file parameter .

conda_dependencies_file
str
Vereist

Het relatieve pad naar het yaml-bestand conda-afhankelijkheden. Indien opgegeven, installeert Azure ML geen framework-gerelateerde pakketten.

pip_requirements_file
str
Vereist

Het relatieve pad naar het tekstbestand pip-vereisten. Dit kan worden opgegeven in combinatie met de pip_packages parameter .

environment_variables
dict
Vereist

Een woordenlijst met namen en waarden van omgevingsvariabelen. Deze omgevingsvariabelen worden ingesteld voor het proces waarin het gebruikersscript wordt uitgevoerd.

environment_definition
Environment
Vereist

De omgevingsdefinitie voor het experiment. Het omvat PythonSection, DockerSection en omgevingsvariabelen. Elke omgevingsoptie die niet rechtstreeks via andere parameters aan de Estimator-constructie wordt weergegeven, kan worden ingesteld met behulp van deze parameter. Als deze parameter is opgegeven, heeft deze voorrang op andere omgevingsgerelateerde parameters, zoals use_gpu, custom_docker_image, conda_packagesof pip_packages. Fouten worden gerapporteerd bij ongeldige combinaties.

inputs
list
Vereist

Een lijst met azureml.data.data_reference. DataReference-objecten die als invoer moeten worden gebruikt.

source_directory_data_store
Datastore
Vereist

Het back-upgegevensarchief voor projectshare.

shm_size
Vereist

De grootte van het gedeelde geheugenblok van de Docker-container. Als dit niet is ingesteld, wordt de standaard azureml.core.environment._DEFAULT_SHM_SIZE gebruikt. Zie voor meer informatie

framework_version
str
Vereist

De PyTorch-versie die moet worden gebruikt voor het uitvoeren van trainingscode. PyTorch.get_supported_versions() retourneert een lijst met de versies die worden ondersteund door de huidige SDK.

_enable_optimized_mode
bool
Vereist

Incrementele omgevingsbuild inschakelen met vooraf gebouwde frameworkinstallatiekopieën voor een snellere voorbereiding van de omgeving. Een vooraf gebouwde frameworkinstallatiekopieën zijn gebouwd op basisinstallatiekopieën van Azure ML met standaard CPU-/GPU-basisinstallatiekopieën met vooraf geïnstalleerde frameworkafhankelijkheden.

_disable_validation
bool
Vereist

Schakel scriptvalidatie uit voordat u de verzending uitvoert. De standaardwaarde is True.

_show_lint_warnings
bool
Vereist

Waarschuwingen voor linting van scripts weergeven. De standaardwaarde is False.

_show_package_warnings
bool
Vereist

Waarschuwingen voor pakketvalidatie weergeven. De standaardwaarde is False.

Opmerkingen

Wanneer u een trainingstaak indient, voert Azure ML uw script uit in een Conda-omgeving binnen een Docker-container. De PyTorch-containers hebben de volgende afhankelijkheden geïnstalleerd.

Afhankelijkheden | PyTorch 1.0/1.1/1.2/1.3/ | PyTorch 1.4/1.5/1.6 | ———————- | —————– | ————- | Python | 3.6.2 | 3.6.2 | CUDA (alleen GPU-installatiekopie) | 10,0 | 10,1 | cuDNN (alleen GPU-installatiekopieën) | 7.6.3 | 7.6.3 | NCCL (alleen GPU-installatiekopieën) | 2.4.8 | 2.4.8 | azureml-defaults | Meest recente | Meest recente | 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 | toekomst | 0.17.1 | 0.17.1 |

De Docker-installatiekopieën breiden Ubuntu 16.04 uit.

Als u aanvullende afhankelijkheden wilt installeren, kunt u de pip_packages parameter of conda_packages gebruiken. U kunt ook de pip_requirements_file parameter of conda_dependencies_file opgeven. U kunt ook uw eigen installatiekopieën bouwen en de custom_docker_image parameter doorgeven aan de estimator-constructor.

Zie voor meer informatie over Docker-containers die worden gebruikt in PyTorch-training https://github.com/Azure/AzureML-Containers.

De PyTorch-estimator ondersteunt gedistribueerde training in CPU- en GPU-clusters met behulp van Horovod, een open-source framework voor gedistribueerde training. Zie de zelfstudie PyTorch-modellen op schaal trainen en registreren met Azure Machine Learning voor voorbeelden en meer informatie over het gebruik van PyTorch in gedistribueerde training.

Kenmerken

DEFAULT_VERSION

DEFAULT_VERSION = '1.4'

FRAMEWORK_NAME

FRAMEWORK_NAME = 'PyTorch'