Delen via


PyTorch Klas

Vertegenwoordigt een estimator voor training in PyTorch-experimenten.

VEROUDERD. Gebruik het ScriptRunConfig object met uw eigen gedefinieerde omgeving of een van de door Azure ML PyTorch beheerde 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-estimator.

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

annuleer de uitvoering als het langer duurt dan deze waarde.

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 zijn of de tekenreeks 'lokaal'.

vm_size
Vereist
str

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

vm_priority
Vereist
str

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

Ondersteunde waarden: 'dedicated' en 'lowpriority'.

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

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 wordt gebruikt voor training. 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 communicatieback-end voor gedistribueerde training.

VEROUDERD. 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.

Gebruik het object om op te geven Mpivoor het uitvoeren van een gedistribueerde taak met MPI-back-endprocess_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 voor het uitvoeren van het experiment GPU's moet ondersteunen. Indien waar, wordt een op GPU gebaseerde standaard Docker-installatiekopieën gebruikt in de omgeving. Als dit 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 rekendoelen waarvoor Docker is ingeschakeld.

use_docker
Vereist

Hiermee geeft u op of de omgeving voor het uitvoeren van het experiment Docker moet zijn.

custom_docker_base_image
Vereist
str

De naam van de Docker-installatiekopie waaruit de installatiekopie voor training moet worden gebouwd.

VEROUDERD. Gebruik de custom_docker_image parameter.

Als deze niet is ingesteld, wordt een standaardinstallatiekopieën op basis van CPU gebruikt als basisinstallatiekopieën.

custom_docker_image
Vereist
str

De naam van de Docker-installatiekopie waaruit de installatiekopie voor training moet worden gebouwd. Als deze niet is ingesteld, wordt een standaardinstallatiekopieën op basis van CPU gebruikt als basisinstallatiekopieën.

image_registry_details
Vereist

De details van het Docker-installatiekopieënregister.

user_managed
Vereist

Hiermee geeft u op of Azure ML een bestaande Python-omgeving opnieuw gebruikt. Als dit onwaar is, maakt Azure ML een Python-omgeving op basis van de conda-afhankelijkhedenspecificatie.

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 van conda-afhankelijkheden. Indien opgegeven, installeert Azure ML geen frameworkgerelateerde pakketten. VEROUDERD. Gebruik de conda_dependencies_file parameter.

pip_requirements_file_path
Vereist
str

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

conda_dependencies_file
Vereist
str

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

pip_requirements_file
Vereist
str

Het relatieve pad naar het tekstbestand met 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. Dit omvat PythonSection, DockerSection en omgevingsvariabelen. Elke omgevingsoptie die niet rechtstreeks via andere parameters aan de Estimator-constructie wordt blootgesteld, 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 over ongeldige combinaties van parameters.

inputs
Vereist

Een lijst met DataReference objecten die DatasetConsumptionConfig 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 Docker run referentie voor meer informatie.

resume_from
Vereist

Het gegevenspad met het controlepunt of modelbestanden 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 het 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 zijn of de tekenreeks 'lokaal'.

vm_size
Vereist
str

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

vm_priority
Vereist
str

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

Ondersteunde waarden: 'dedicated' en 'lowpriority'.

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

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 wordt gebruikt voor training. 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 communicatieback-end voor gedistribueerde training.

VEROUDERD. 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.

Gebruik het object om op te geven Mpivoor het uitvoeren van een gedistribueerde taak met MPI-back-endprocess_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 voor het uitvoeren van het experiment GPU's moet ondersteunen. Indien waar, wordt een op GPU gebaseerde standaard Docker-installatiekopieën gebruikt in de omgeving. Als dit 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 rekendoelen waarvoor Docker is ingeschakeld.

use_docker
Vereist

Hiermee geeft u op of de omgeving voor het uitvoeren van het experiment Docker moet zijn.

custom_docker_base_image
Vereist
str

De naam van de Docker-installatiekopie waaruit de installatiekopie voor training moet worden gebouwd.

VEROUDERD. Gebruik de custom_docker_image parameter.

Als deze niet is ingesteld, wordt een standaardinstallatiekopieën op basis van CPU gebruikt als basisinstallatiekopieën.

custom_docker_image
Vereist
str

De naam van de Docker-installatiekopie waaruit de installatiekopie voor training moet worden gebouwd. Als deze niet is ingesteld, wordt een standaardinstallatiekopieën op basis van CPU gebruikt als basisinstallatiekopieën.

image_registry_details
Vereist

De details van het Docker-installatiekopieënregister.

user_managed
Vereist

Hiermee geeft u op of Azure ML een bestaande Python-omgeving opnieuw gebruikt. Als dit onwaar is, maakt Azure ML een Python-omgeving op basis van de conda-afhankelijkhedenspecificatie.

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 van conda-afhankelijkheden. Indien opgegeven, installeert Azure ML geen frameworkgerelateerde pakketten. VEROUDERD. Gebruik de conda_dependencies_file parameter.

pip_requirements_file_path
Vereist
str

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

conda_dependencies_file
Vereist
str

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

pip_requirements_file
Vereist
str

Het relatieve pad naar het tekstbestand met 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. Dit omvat PythonSection, DockerSection en omgevingsvariabelen. Elke omgevingsoptie die niet rechtstreeks via andere parameters aan de Estimator-constructie wordt blootgesteld, 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 over ongeldige combinaties.

inputs
Vereist

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

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

Schakel incrementele omgevingsbuild in met vooraf gebouwde frameworkinstallatiekopieën voor snellere voorbereiding van de omgeving. Een vooraf gebouwde frameworkinstallatiekopie is gebouwd op basis van azure ML-standaard-CPU/GPU-basisinstallatiekopieën met vooraf geïnstalleerde frameworkafhankelijkheden.

_disable_validation
Vereist

Schakel scriptvalidatie uit voordat het verzenden wordt uitgevoerd. De standaardwaarde is Waar.

_show_lint_warnings
Vereist

Waarschuwingen voor het linten van scripts weergeven. De standaardwaarde is Onwaar.

_show_package_warnings
Vereist

Pakketvalidatiewaarschuwingen weergeven. De standaardwaarde is Onwaar.

Opmerkingen

Wanneer u een trainingstaak verzendt, voert Azure ML uw script uit in een Conda-omgeving in 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 | fakkel | 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 of conda_packages parameter gebruiken. U kunt ook de pip_requirements_file of conda_dependencies_file parameter opgeven. U kunt ook uw eigen installatiekopieën bouwen en de custom_docker_image parameter doorgeven aan de estimatorconstructor.

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 over CPU- en GPU-clusters met behulp van Horovod, een opensource- en allemaal reduce framework voor gedistribueerde training. Zie de zelfstudie PyTorch-modellen trainen en registreren op schaal 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'