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._FrameworkBaseEstimatorPyTorch
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
- compute_target
- AbstractComputeTarget of str
Het rekendoel waar de training plaatsvindt. Dit kan een object of de tekenreeks 'lokaal' zijn.
- vm_size
- str
De VM-grootte van het rekendoel dat voor de training wordt gemaakt. Ondersteunde waarden: elke grootte van azure-VM's.
- vm_priority
- 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.
- script_params
- dict
Een woordenlijst met opdrachtregelargumenten die moeten worden doorgegeven aan het trainingsscript dat is opgegeven in entry_script
.
- node_count
- 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
- 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
- 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.
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
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
Hiermee geeft u op of de omgeving om het experiment uit te voeren op Basis van Docker moet zijn.
- custom_docker_base_image
- 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
- 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
- ContainerRegistry
De details van het register van de Docker-installatiekopieën.
- user_managed
- bool
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
Een lijst met tekenreeksen die conda-pakketten vertegenwoordigen die moeten worden toegevoegd aan de Python-omgeving voor het experiment.
- pip_packages
- list
Een lijst met tekenreeksen die pip-pakketten vertegenwoordigen die moeten worden toegevoegd aan de Python-omgeving voor het experiment.
- conda_dependencies_file_path
- 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
- 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
- str
Het relatieve pad naar het yaml-bestand conda-afhankelijkheden. Indien opgegeven, installeert Azure ML geen framework-gerelateerde pakketten.
- pip_requirements_file
- str
Het relatieve pad naar het tekstbestand pip-vereisten.
Dit kan worden opgegeven in combinatie met de pip_packages
parameter .
- environment_variables
- dict
Een woordenlijst met namen en waarden van omgevingsvariabelen. Deze omgevingsvariabelen worden ingesteld voor het proces waarin het gebruikersscript wordt uitgevoerd.
- environment_definition
- Environment
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_packages
of pip_packages
.
Fouten worden gerapporteerd bij ongeldige combinaties van parameters.
- inputs
- list
Een lijst met DataReferenceDatasetConsumptionConfig of-objecten die als invoer moeten worden gebruikt.
- shm_size
- 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
- DataPath
Het gegevenspad met het controlepunt of de modelbestanden van waaruit het experiment moet worden hervat.
- max_run_duration_seconds
- 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
- 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.
- compute_target
- AbstractComputeTarget of str
Het rekendoel waar de training plaatsvindt. Dit kan een object of de tekenreeks 'lokaal' zijn.
- vm_size
- str
De VM-grootte van het rekendoel dat voor de training wordt gemaakt. Ondersteunde waarden: elke grootte van azure-VM's.
- vm_priority
- 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.
- script_params
- dict
Een woordenlijst met opdrachtregelargumenten die moeten worden doorgegeven aan het trainingsscript dat is opgegeven in entry_script
.
- node_count
- 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
- 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
- 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.
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
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
Hiermee geeft u op of de omgeving om het experiment uit te voeren op Basis van Docker moet zijn.
- custom_docker_base_image
- 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
- 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
- ContainerRegistry
De details van het register van de Docker-installatiekopieën.
- user_managed
- bool
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
Een lijst met tekenreeksen die conda-pakketten vertegenwoordigen die moeten worden toegevoegd aan de Python-omgeving voor het experiment.
- pip_packages
- list
Een lijst met tekenreeksen die pip-pakketten vertegenwoordigen die moeten worden toegevoegd aan de Python-omgeving voor het experiment.
- conda_dependencies_file_path
- 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
- 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
- str
Het relatieve pad naar het yaml-bestand conda-afhankelijkheden. Indien opgegeven, installeert Azure ML geen framework-gerelateerde pakketten.
- pip_requirements_file
- str
Het relatieve pad naar het tekstbestand pip-vereisten.
Dit kan worden opgegeven in combinatie met de pip_packages
parameter .
- environment_variables
- dict
Een woordenlijst met namen en waarden van omgevingsvariabelen. Deze omgevingsvariabelen worden ingesteld voor het proces waarin het gebruikersscript wordt uitgevoerd.
- environment_definition
- Environment
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_packages
of pip_packages
.
Fouten worden gerapporteerd bij ongeldige combinaties.
- inputs
- list
Een lijst met azureml.data.data_reference. DataReference-objecten die als invoer moeten worden gebruikt.
- shm_size
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
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
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
Schakel scriptvalidatie uit voordat u de verzending uitvoert. De standaardwaarde is True.
- _show_lint_warnings
- bool
Waarschuwingen voor linting van scripts weergeven. De standaardwaarde is False.
- _show_package_warnings
- bool
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'
Feedback
https://aka.ms/ContentUserFeedback.
Binnenkort beschikbaar: In de loop van 2024 zullen we GitHub-problemen geleidelijk uitfaseren als het feedbackmechanisme voor inhoud en deze vervangen door een nieuw feedbacksysteem. Zie voor meer informatie:Feedback verzenden en weergeven voor