Delen via


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

Name Description
source_directory
Vereist
str

Een lokale map met experimentconfiguratiebestanden.

compute_target
Vereist

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

vm_size
Vereist
str

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

vm_priority
Vereist
str

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
Vereist
str

Het relatieve pad naar het bestand met het trainingsscript.

script_params
Vereist

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

node_count
Vereist
int

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
Vereist
int

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
Vereist
str

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
Vereist
Mpi of Gloo of Nccl

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
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
Vereist

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

custom_docker_base_image
Vereist
str

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
Vereist
str

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
Vereist

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

user_managed
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
Vereist

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

pip_packages
Vereist

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

conda_dependencies_file_path
Vereist
str

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
Vereist
str

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
Vereist
str

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

pip_requirements_file
Vereist
str

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

environment_variables
Vereist

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

environment_definition
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
Vereist

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

source_directory_data_store
Vereist

Het back-upgegevensarchief voor projectshare.

shm_size
Vereist
str

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
Vereist

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

max_run_duration_seconds
Vereist
int

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

framework_version
Vereist
str

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
Vereist
str

Een lokale map met experimentconfiguratiebestanden.

compute_target
Vereist

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

vm_size
Vereist
str

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

vm_priority
Vereist
str

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
Vereist
str

Het relatieve pad naar het bestand met het trainingsscript.

script_params
Vereist

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

node_count
Vereist
int

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
Vereist
int

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
Vereist
str

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
Vereist
Mpi of Gloo of Nccl

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
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
Vereist

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

custom_docker_base_image
Vereist
str

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
Vereist
str

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
Vereist

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

user_managed
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
Vereist

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

pip_packages
Vereist

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

conda_dependencies_file_path
Vereist
str

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
Vereist
str

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
Vereist
str

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

pip_requirements_file
Vereist
str

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

environment_variables
Vereist

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

environment_definition
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
Vereist

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

source_directory_data_store
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
Vereist
str

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
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
Vereist

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

_show_lint_warnings
Vereist

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

_show_package_warnings
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'