PyTorch Classe
Rappresenta uno strumento di stima per il training negli esperimenti pyTorch.
DEPRECATO. Usare l'oggetto ScriptRunConfig con un ambiente definito o uno degli ambienti curati di PyTorch di Azure ML. Per un'introduzione alla configurazione delle esecuzioni dell'esperimento PyTorch con ScriptRunConfig, vedere Eseguire il training di modelli PyTorch su larga scala con Azure Machine Learning.
Versioni supportate: 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6
Inizializzare un estimator PyTorch.
Riferimento all'esecuzione di Docker. :type shm_size: str :p aram resume_from: percorso dati contenente i file del checkpoint o del modello da cui riprendere l'esperimento. :type resume_from: azureml.data.datapath.DataPath :p aram max_run_duration_seconds: tempo massimo consentito per l'esecuzione. Azure ML tenterà di eseguire automaticamente
annullare l'esecuzione se richiede più tempo di questo valore.
- Ereditarietà
-
azureml.train.estimator._framework_base_estimator._FrameworkBaseEstimatorPyTorch
Costruttore
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)
Parametri
Nome | Descrizione |
---|---|
source_directory
Necessario
|
Directory locale contenente i file di configurazione dell'esperimento. |
compute_target
Necessario
|
AbstractComputeTarget oppure
str
Destinazione di calcolo in cui verrà eseguito il training. Può trattarsi di un oggetto o della stringa "local". |
vm_size
Necessario
|
Dimensioni della macchina virtuale della destinazione di calcolo che verrà creata per il training. Valori supportati: qualsiasi dimensione della macchina virtuale di Azure. |
vm_priority
Necessario
|
Priorità della macchina virtuale della destinazione di calcolo che verrà creata per il training. Se non specificato, viene utilizzato 'dedicated'. Valori supportati: 'dedicated' e 'lowpriority'. Ciò diventa effettivo solo quando l'oggetto |
entry_script
Necessario
|
Percorso relativo del file contenente lo script di training. |
script_params
Necessario
|
Dizionario di argomenti della riga di comando da passare allo script di training specificato in |
node_count
Necessario
|
Numero di nodi nella destinazione di calcolo usata per il training. Se maggiore di 1, verrà eseguito un processo distribuito MPI. Solo la AmlCompute destinazione è supportata per i processi distribuiti. |
process_count_per_node
Necessario
|
numero di processi per nodo. Se maggiore di 1, verrà eseguito un processo distribuito MPI. Solo la AmlCompute destinazione è supportata per i processi distribuiti. |
distributed_backend
Necessario
|
Back-end di comunicazione per il training distribuito. DEPRECATO. Usare il Valori supportati: 'mpi', 'gloo' e 'nccl'. 'mpi': MPI/Horovod 'gloo', 'nccl': Native PyTorch Distributed Training Questo parametro è obbligatorio quando Quando |
distributed_training
Necessario
|
Parametri per l'esecuzione di un processo di training distribuito. Per eseguire un processo distribuito con back-end MPI, usare l'oggetto Mpi per specificare |
use_gpu
Necessario
|
Specifica se l'ambiente per eseguire l'esperimento deve supportare GPU.
Se true, nell'ambiente verrà usata un'immagine Docker predefinita basata su GPU. Se false, verrà usata un'immagine basata sulla CPU. Le immagini Docker predefinite (CPU o GPU) verranno usate solo se il |
use_docker
Necessario
|
Specifica se l'ambiente per eseguire l'esperimento deve essere basato su Docker. |
custom_docker_base_image
Necessario
|
Nome dell'immagine Docker da cui verrà compilata l'immagine da usare per il training. DEPRECATO. Usare il Se non impostato, come immagine di base verrà usata un'immagine predefinita basata sulla CPU. |
custom_docker_image
Necessario
|
Nome dell'immagine Docker da cui verrà compilata l'immagine da usare per il training. Se non impostato, come immagine di base verrà usata un'immagine predefinita basata sulla CPU. |
image_registry_details
Necessario
|
Dettagli del registro immagini Docker. |
user_managed
Necessario
|
Specifica se Azure ML riutilizza un ambiente Python esistente. Se false, Azure ML creerà un ambiente Python in base alla specifica delle dipendenze conda. |
conda_packages
Necessario
|
Elenco di stringhe che rappresentano i pacchetti conda da aggiungere all'ambiente Python per l'esperimento. |
pip_packages
Necessario
|
Elenco di stringhe che rappresentano i pacchetti pip da aggiungere all'ambiente Python per l'esperimento. |
conda_dependencies_file_path
Necessario
|
Percorso relativo del file yaml delle dipendenze conda.
Se specificato, Azure ML non installerà alcun pacchetto correlato al framework.
DEPRECATO. Usare il |
pip_requirements_file_path
Necessario
|
Percorso relativo del file di testo dei requisiti pip.
Questa opzione può essere fornita in combinazione con il |
conda_dependencies_file
Necessario
|
Percorso relativo del file yaml delle dipendenze conda. Se specificato, Azure ML non installerà alcun pacchetto correlato al framework. |
pip_requirements_file
Necessario
|
Percorso relativo del file di testo dei requisiti pip.
Questa opzione può essere fornita in combinazione con il |
environment_variables
Necessario
|
Dizionario di nomi e valori delle variabili di ambiente. Queste variabili di ambiente vengono impostate nel processo in cui viene eseguito lo script utente. |
environment_definition
Necessario
|
Definizione dell'ambiente per l'esperimento. Include PythonSection, DockerSection e variabili di ambiente. Qualsiasi opzione di ambiente non esposta direttamente tramite altri parametri alla costruzione di Estimator può essere impostata usando questo parametro. Se questo parametro viene specificato, avrà la precedenza su altri parametri correlati all'ambiente, ad esempio |
inputs
Necessario
|
Elenco di DataReference oggetti o DatasetConsumptionConfig da utilizzare come input. |
source_directory_data_store
Necessario
|
Archivio dati di backup per la condivisione di progetto. |
shm_size
Necessario
|
Dimensioni del blocco di memoria condivisa del contenitore Docker. Se non impostato, viene utilizzata la azureml.core.environment._DEFAULT_SHM_SIZE predefinita. Per altre informazioni, vedere Informazioni di riferimento sull'esecuzione di Docker. |
resume_from
Necessario
|
Percorso dati contenente i file del checkpoint o del modello da cui riprendere l'esperimento. |
max_run_duration_seconds
Necessario
|
Tempo massimo consentito per l'esecuzione. Azure ML tenterà di annullare automaticamente l'esecuzione se richiede più tempo di questo valore. |
framework_version
Necessario
|
Versione di PyTorch da usare per l'esecuzione del codice di training.
|
source_directory
Necessario
|
Directory locale contenente i file di configurazione dell'esperimento. |
compute_target
Necessario
|
AbstractComputeTarget oppure
str
Destinazione di calcolo in cui verrà eseguito il training. Può trattarsi di un oggetto o della stringa "local". |
vm_size
Necessario
|
Dimensioni della macchina virtuale della destinazione di calcolo che verrà creata per il training. Valori supportati: qualsiasi dimensione della macchina virtuale di Azure. |
vm_priority
Necessario
|
Priorità della macchina virtuale della destinazione di calcolo che verrà creata per il training. Se non specificato, viene utilizzato 'dedicated'. Valori supportati: 'dedicated' e 'lowpriority'. Ciò diventa effettivo solo quando l'oggetto |
entry_script
Necessario
|
Percorso relativo del file contenente lo script di training. |
script_params
Necessario
|
Dizionario di argomenti della riga di comando da passare allo script di training specificato in |
node_count
Necessario
|
Numero di nodi nella destinazione di calcolo usata per il training. Se è maggiore di 1, verrà eseguito il processo distribuito mpi. Solo la destinazione azureml.core.compute.AmlCompute è supportata per i processi distribuiti. |
process_count_per_node
Necessario
|
numero di processi per nodo. Se maggiore di 1, verrà eseguito un processo distribuito MPI. Solo la AmlCompute destinazione è supportata per i processi distribuiti. |
distributed_backend
Necessario
|
Back-end di comunicazione per il training distribuito. DEPRECATO. Usare il Valori supportati: 'mpi', 'gloo' e 'nccl'. 'mpi': MPI/Horovod 'gloo', 'nccl': Native PyTorch Distributed Training Questo parametro è obbligatorio quando Quando |
distributed_training
Necessario
|
Parametri per l'esecuzione di un processo di training distribuito. Per eseguire un processo distribuito con back-end MPI, usare l'oggetto Mpi per specificare |
use_gpu
Necessario
|
Specifica se l'ambiente per eseguire l'esperimento deve supportare GPU.
Se true, nell'ambiente verrà usata un'immagine Docker predefinita basata su GPU. Se false, verrà usata un'immagine basata sulla CPU. Le immagini Docker predefinite (CPU o GPU) verranno usate solo se il |
use_docker
Necessario
|
Specifica se l'ambiente per eseguire l'esperimento deve essere basato su Docker. |
custom_docker_base_image
Necessario
|
Nome dell'immagine Docker da cui verrà compilata l'immagine da usare per il training. DEPRECATO. Usare il Se non impostato, come immagine di base verrà usata un'immagine predefinita basata sulla CPU. |
custom_docker_image
Necessario
|
Nome dell'immagine Docker da cui verrà compilata l'immagine da usare per il training. Se non impostato, come immagine di base verrà usata un'immagine predefinita basata sulla CPU. |
image_registry_details
Necessario
|
Dettagli del registro immagini Docker. |
user_managed
Necessario
|
Specifica se Azure ML riutilizza un ambiente Python esistente. Se false, Azure ML creerà un ambiente Python in base alla specifica delle dipendenze conda. |
conda_packages
Necessario
|
Elenco di stringhe che rappresentano i pacchetti conda da aggiungere all'ambiente Python per l'esperimento. |
pip_packages
Necessario
|
Elenco di stringhe che rappresentano i pacchetti pip da aggiungere all'ambiente Python per l'esperimento. |
conda_dependencies_file_path
Necessario
|
Percorso relativo del file yaml delle dipendenze conda. Se specificato, Azure ML non installerà alcun pacchetto correlato al framework.
DEPRECATO. Usare il |
pip_requirements_file_path
Necessario
|
Percorso relativo del file di testo dei requisiti pip.
Questa opzione può essere fornita in combinazione con il |
conda_dependencies_file
Necessario
|
Percorso relativo del file yaml delle dipendenze conda. Se specificato, Azure ML non installerà alcun pacchetto correlato al framework. |
pip_requirements_file
Necessario
|
Percorso relativo del file di testo dei requisiti pip.
Questa opzione può essere fornita in combinazione con il |
environment_variables
Necessario
|
Dizionario di nomi e valori delle variabili di ambiente. Queste variabili di ambiente vengono impostate nel processo in cui viene eseguito lo script utente. |
environment_definition
Necessario
|
Definizione dell'ambiente per l'esperimento. Include PythonSection, DockerSection e variabili di ambiente. Qualsiasi opzione di ambiente non esposta direttamente tramite altri parametri alla costruzione di Estimator può essere impostata usando questo parametro. Se questo parametro viene specificato, avrà la precedenza su altri parametri correlati all'ambiente, ad esempio |
inputs
Necessario
|
Elenco di azureml.data.data_reference. Oggetti DataReference da usare come input. |
source_directory_data_store
Necessario
|
Archivio dati di backup per la condivisione di progetto. |
shm_size
Necessario
|
Dimensioni del blocco di memoria condivisa del contenitore Docker. Se non impostato, viene utilizzata la azureml.core.environment._DEFAULT_SHM_SIZE predefinita. Per ulteriori informazioni, vedere |
framework_version
Necessario
|
Versione di PyTorch da usare per l'esecuzione del codice di training.
|
_enable_optimized_mode
Necessario
|
Abilitare la compilazione incrementale dell'ambiente con immagini del framework predefinite per una preparazione più rapida dell'ambiente. Un'immagine del framework predefinita è basata su immagini di base di CPU/GPU predefinite di Azure ML con dipendenze del framework preinstallate. |
_disable_validation
Necessario
|
Disabilitare la convalida dello script prima dell'invio. Il valore predefinito è True. |
_show_lint_warnings
Necessario
|
Mostra avvisi di linting dello script. Il valore predefinito è False. |
_show_package_warnings
Necessario
|
Mostra avvisi di convalida del pacchetto. Il valore predefinito è False. |
Commenti
Quando si invia un processo di training, Azure ML esegue lo script in un ambiente conda all'interno di un contenitore Docker. I contenitori PyTorch hanno le dipendenze seguenti installate.
Dipendenze | PyTorch 1.0/1.1/1.2/1.3/ | PyTorch 1.4/1.5/1.6 | ———————- | —————– | ————- | Python | 3.6.2 | 3.6.2 | CUDA (solo immagine GPU) | 10.0 | 10.1 | cuDNN (solo immagine GPU) | 7.6.3 | 7.6.3 | NCCL (solo immagine GPU) | 2.4.8 | 2.4.8 | azureml-defaults | Più recente | Più 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 | torcia | 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 | future | 0.17.1 | 0.17.1 |
Le immagini Docker estendono Ubuntu 16.04.
Per installare dipendenze aggiuntive, è possibile usare il pip_packages
parametro o conda_packages
. In alternativa, è possibile specificare il pip_requirements_file
parametro o conda_dependencies_file
.
In alternativa, è possibile creare un'immagine personalizzata e passare il custom_docker_image
parametro al costruttore di stima.
Per altre informazioni sui contenitori Docker usati nel training di PyTorch, vedere https://github.com/Azure/AzureML-Containers.
Lo strumento di stima PyTorch supporta il training distribuito tra cluster CPU e GPU usando Horovod, un framework open source e di riduzione per il training distribuito. Per esempi e altre informazioni sull'uso di PyTorch nel training distribuito, vedere l'esercitazione Eseguire il training e registrare modelli PyTorch su larga scala con Azure Machine Learning.
Attributi
DEFAULT_VERSION
DEFAULT_VERSION = '1.4'
FRAMEWORK_NAME
FRAMEWORK_NAME = 'PyTorch'