PyTorch Classe

Représente un estimateur pour l’apprentissage dans les expériences PyTorch.

DÉPRÉCIÉ. Utilisez l’objet ScriptRunConfig avec votre propre environnement défini ou l’un des environnements organisés Azure ML PyTorch. Pour une présentation de la configuration de l’expérience PyTorch avec ScriptRunConfig, consultez Former des modèles PyTorch à grande échelle avec Azure Machine Learning.

Versions prises en charge . 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6

Initialisez un estimateur PyTorch.

Référence d’exécution Docker. :type shm_size: str :p aram resume_from : chemin d’accès aux données contenant les fichiers de point de contrôle ou de modèle à partir desquels reprendre l’expérience. :type resume_from : azureml.data.datapath.DataPath :p aram max_run_duration_seconds : durée maximale autorisée pour l’exécution. Azure ML tente automatiquement

annuler l’exécution si elle prend plus de temps que cette valeur.

Héritage
azureml.train.estimator._framework_base_estimator._FrameworkBaseEstimator
PyTorch

Constructeur

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)

Paramètres

source_directory
str
Obligatoire

Répertoire local contenant les fichiers de configuration de l’expérience.

compute_target
AbstractComputeTarget ou str
Obligatoire

Cible de calcul où la formation aura lieu. Il peut s’agir d’un objet ou de la chaîne « local ».

vm_size
str
Obligatoire

Taille de la machine virtuelle de la cible de calcul qui sera créée pour la formation. Valeurs prises en charge : toute taille de machine virtuelle Azure.

vm_priority
str
Obligatoire

Priorité de la machine virtuelle de la cible de calcul qui sera créée pour la formation. Si elle n’est pas spécifiée, la valeur « dedicated » est utilisée.

Valeurs prises en charge : « dedicated » et « lowpriority ».

Ne prend effet que lorsque le paramètre vm_size param est spécifié dans l’entrée.

entry_script
str
Obligatoire

Chemin d’accès relatif au fichier contenant le script de formation.

script_params
dict
Obligatoire

Dictionnaire d’arguments de ligne de commande à transmettre au script de formation spécifié dans entry_script.

node_count
int
Obligatoire

Nombre de nœuds de la cible de calcul utilisée pour la formation. Si la valeur est supérieure à 1, un travail distribué MPI est exécuté. Seule la cible AmlCompute est prise en charge pour les travaux distribués.

process_count_per_node
int
Obligatoire

nombre de processus par nœud. Si la valeur est supérieure à 1, un travail distribué MPI est exécuté. Seule la cible AmlCompute est prise en charge pour les travaux distribués.

distributed_backend
str
Obligatoire

Back-end de communication pour la formation distribuée.

DÉPRÉCIÉ. Utilise le paramètre distributed_training.

Valeurs prises en charge : « mpi », « gloo » et « nccl ».

« mpi »: MPI/Horovod « gloo », « nccl »: formation distribuée PyTorch natif

Ce paramètre est obligatoire quand node_count ou process_count_per_node> 1.

Lorsque node_count == 1 et process_count_per_node == 1, aucun back-end n’est utilisé, sauf si le back-end est explicitement défini. Seule la cible AmlCompute est prise en charge pour la formation distribuée.

distributed_training
Mpi ou Gloo ou Nccl
Obligatoire

Paramètres pour l’exécution d’un travail de formation distribuée.

Pour exécuter un travail distribué avec le back-end MPI, utilisez l’objet Mpi pour spécifier process_count_per_node. Pour exécuter un travail distribué avec le back-end gloo, utilisez Gloo. Pour exécuter un travail distribué avec le back-end nccl , utilisez Nccl.

use_gpu
bool
Obligatoire

Indique si l’environnement d’exécution de l’expérience doit prendre en charge les GPU. Si la valeur est True, une image Docker par défaut basée sur le GPU sera utilisée dans l’environnement. Si la valeur est false, une image basée sur l’UC sera utilisée. Les images Docker par défaut (UC ou GPU) ne sont utilisées que si le paramètre custom_docker_image n’est pas défini. Ce paramètre est uniquement utilisé dans les cibles de calcul compatibles avec Docker.

use_docker
bool
Obligatoire

Indique si l’environnement d’exécution de l’expérience doit être basé sur Docker.

custom_docker_base_image
str
Obligatoire

Nom de l’image Docker à partir de laquelle l’image à utiliser pour la formation sera générée.

DÉPRÉCIÉ. Utilise le paramètre custom_docker_image.

Si la valeur n’est pas définie, une image par défaut basée sur l’UC est utilisée comme image de base.

custom_docker_image
str
Obligatoire

Nom de l’image Docker à partir de laquelle l’image à utiliser pour la formation sera générée. Si la valeur n’est pas définie, une image par défaut basée sur l’UC est utilisée comme image de base.

image_registry_details
ContainerRegistry
Obligatoire

Détails du registre de l’image Docker.

user_managed
bool
Obligatoire

Spécifie si Azure ML réutilise un environnement Python existant. Si la valeur est false, Azure ML crée un environnement Python en fonction de la spécification des dépendances conda.

conda_packages
list
Obligatoire

Liste des chaînes représentant les packages Conda à ajouter à l’environnement Python pour l’expérience.

pip_packages
list
Obligatoire

Liste des chaînes représentant les packages pip à ajouter à l’environnement Python pour l’expérience.

conda_dependencies_file_path
str
Obligatoire

Chemin d’accès relatif au fichier yaml des dépendances Conda. Si la valeur est spécifiée, Azure ML n’installe aucun package associé à une infrastructure. DÉPRÉCIÉ. Utilise le paramètre conda_dependencies_file.

pip_requirements_file_path
str
Obligatoire

Chemin d’accès relatif au fichier texte des spécifications pip. Peut être fourni en association avec le paramètre pip_packages. DÉPRÉCIÉ. Utilise le paramètre pip_requirements_file.

conda_dependencies_file
str
Obligatoire

Chemin d’accès relatif au fichier yaml des dépendances Conda. Si la valeur est spécifiée, Azure ML n’installe aucun package associé à une infrastructure.

pip_requirements_file
str
Obligatoire

Chemin d’accès relatif au fichier texte des spécifications pip. Peut être fourni en association avec le paramètre pip_packages.

environment_variables
dict
Obligatoire

Dictionnaire des noms et valeurs des variables d’environnement. Ces variables d’environnement sont définies sur le processus où le script utilisateur est en cours d’exécution.

environment_definition
Environment
Obligatoire

La définition de l’environnement pour l’expérience. Inclut PythonSection, DockerSection et les variables d’environnement. Toute option d’environnement qui n’est pas directement exposée par le biais d’autres paramètres à la construction de l’estimateur peut être définie à l’aide de ce paramètre. Si ce paramètre est spécifié, il a la priorité sur les autres paramètres liés à l’environnement, comme use_gpu, custom_docker_image, conda_packages ou pip_packages. Les erreurs seront signalées sur des combinaisons de paramètres non valides.

inputs
list
Obligatoire

Liste d’objets DataReference ou DatasetConsumptionConfig à utiliser comme entrée.

source_directory_data_store
Datastore
Obligatoire

Magasin de données de stockage pour le partage de projet.

shm_size
str
Obligatoire

Taille du bloc de mémoire partagée du conteneur Docker. Si la valeur n’est pas définie, la valeur par défaut azureml.core.environment._DEFAULT_SHM_SIZE est utilisée. Pour plus d’informations, consultez Informations de référence sur l’exécution de Docker.

resume_from
DataPath
Obligatoire

Chemin d’accès aux données contenant le point de contrôle ou les fichiers de modèle à partir desquels reprendre l’expérience.

max_run_duration_seconds
int
Obligatoire

Durée maximale autorisée pour l’exécution. Azure ML tentera d’annuler automatiquement l’exécution si elle prend plus de temps que cette valeur.

framework_version
str
Obligatoire

Version de PyTorch à utiliser pour exécuter le code d’entraînement. PyTorch.get_supported_versions() retourne la liste des versions prises en charge par le Kit de développement logiciel (SDK) actuel.

source_directory
str
Obligatoire

Répertoire local contenant les fichiers de configuration de l’expérience.

compute_target
AbstractComputeTarget ou str
Obligatoire

Cible de calcul où la formation aura lieu. Il peut s’agir d’un objet ou de la chaîne « local ».

vm_size
str
Obligatoire

Taille de la machine virtuelle de la cible de calcul qui sera créée pour la formation. Valeurs prises en charge : toute taille de machine virtuelle Azure.

vm_priority
str
Obligatoire

Priorité de la machine virtuelle de la cible de calcul qui sera créée pour la formation. Si elle n’est pas spécifiée, la valeur « dedicated » est utilisée.

Valeurs prises en charge : « dedicated » et « lowpriority ».

Ne prend effet que lorsque le paramètre vm_size param est spécifié dans l’entrée.

entry_script
str
Obligatoire

Chemin d’accès relatif au fichier contenant le script de formation.

script_params
dict
Obligatoire

Dictionnaire d’arguments de ligne de commande à transmettre au script de formation spécifié dans entry_script.

node_count
int
Obligatoire

Nombre de nœuds de la cible de calcul utilisée pour la formation. S’il est supérieur à 1, le travail distribué mpi est exécuté. Seule la cible azureml.core.compute.AmlCompute est prise en charge pour les travaux distribués.

process_count_per_node
int
Obligatoire

nombre de processus par nœud. Si la valeur est supérieure à 1, un travail distribué MPI est exécuté. Seule la cible AmlCompute est prise en charge pour les travaux distribués.

distributed_backend
str
Obligatoire

Back-end de communication pour la formation distribuée.

DÉPRÉCIÉ. Utilise le paramètre distributed_training.

Valeurs prises en charge : « mpi », « gloo » et « nccl ».

« mpi »: MPI/Horovod « gloo », « nccl »: formation distribuée PyTorch natif

Ce paramètre est obligatoire quand node_count ou process_count_per_node> 1.

Lorsque node_count == 1 et process_count_per_node == 1, aucun back-end n’est utilisé, sauf si le back-end est explicitement défini. Seule la cible AmlCompute est prise en charge pour la formation distribuée.

distributed_training
Mpi ou Gloo ou Nccl
Obligatoire

Paramètres pour l’exécution d’un travail de formation distribuée.

Pour exécuter un travail distribué avec le back-end MPI, utilisez l’objet Mpi pour spécifier process_count_per_node. Pour exécuter un travail distribué avec le back-end gloo, utilisez Gloo. Pour exécuter un travail distribué avec le back-end nccl , utilisez Nccl.

use_gpu
bool
Obligatoire

Indique si l’environnement d’exécution de l’expérience doit prendre en charge les GPU. Si la valeur est True, une image Docker par défaut basée sur le GPU sera utilisée dans l’environnement. Si la valeur est false, une image basée sur l’UC sera utilisée. Les images Docker par défaut (UC ou GPU) ne sont utilisées que si le paramètre custom_docker_image n’est pas défini. Ce paramètre est uniquement utilisé dans les cibles de calcul compatibles avec Docker.

use_docker
bool
Obligatoire

Indique si l’environnement d’exécution de l’expérience doit être basé sur Docker.

custom_docker_base_image
str
Obligatoire

Nom de l’image Docker à partir de laquelle l’image à utiliser pour la formation sera générée.

DÉPRÉCIÉ. Utilise le paramètre custom_docker_image.

Si la valeur n’est pas définie, une image par défaut basée sur l’UC est utilisée comme image de base.

custom_docker_image
str
Obligatoire

Nom de l’image Docker à partir de laquelle l’image à utiliser pour la formation sera générée. Si la valeur n’est pas définie, une image par défaut basée sur l’UC est utilisée comme image de base.

image_registry_details
ContainerRegistry
Obligatoire

Détails du registre d’images Docker.

user_managed
bool
Obligatoire

Spécifie si Azure ML réutilise un environnement Python existant. Si la valeur est False, Azure ML crée un environnement Python basé sur la spécification des dépendances Conda.

conda_packages
list
Obligatoire

Liste des chaînes représentant les packages Conda à ajouter à l’environnement Python pour l’expérience.

pip_packages
list
Obligatoire

Liste des chaînes représentant les packages pip à ajouter à l’environnement Python pour l’expérience.

conda_dependencies_file_path
str
Obligatoire

Chemin d’accès relatif au fichier yaml des dépendances Conda. Si la valeur est spécifiée, Azure ML n’installe aucun package associé à une infrastructure. DÉPRÉCIÉ. Utilise le paramètre conda_dependencies_file.

pip_requirements_file_path
str
Obligatoire

Chemin d’accès relatif au fichier texte des spécifications pip. Peut être fourni en association avec le paramètre pip_packages. DÉPRÉCIÉ. Utilise le paramètre pip_requirements_file.

conda_dependencies_file
str
Obligatoire

Chemin d’accès relatif au fichier yaml des dépendances Conda. Si la valeur est spécifiée, Azure ML n’installe aucun package associé à une infrastructure.

pip_requirements_file
str
Obligatoire

Chemin d’accès relatif au fichier texte des spécifications pip. Peut être fourni en association avec le paramètre pip_packages.

environment_variables
dict
Obligatoire

Dictionnaire des noms et valeurs des variables d’environnement. Ces variables d’environnement sont définies sur le processus où le script utilisateur est en cours d’exécution.

environment_definition
Environment
Obligatoire

La définition de l’environnement pour l’expérience. Inclut PythonSection, DockerSection et les variables d’environnement. Toute option d’environnement qui n’est pas directement exposée par le biais d’autres paramètres à la construction de l’estimateur peut être définie à l’aide de ce paramètre. Si ce paramètre est spécifié, il a la priorité sur les autres paramètres liés à l’environnement, comme use_gpu, custom_docker_image, conda_packages ou pip_packages. Des erreurs sont signalées pour les combinaisons non valides.

inputs
list
Obligatoire

Liste de azureml.data.data_reference. Objets DataReference à utiliser comme entrée.

source_directory_data_store
Datastore
Obligatoire

Magasin de données de stockage pour le partage de projet.

shm_size
Obligatoire

Taille du bloc de mémoire partagée du conteneur Docker. Si la valeur n’est pas définie, la valeur par défaut azureml.core.environment._DEFAULT_SHM_SIZE est utilisée. Pour plus d'informations, consultez la rubrique

framework_version
str
Obligatoire

Version de PyTorch à utiliser pour exécuter le code d’entraînement. PyTorch.get_supported_versions() retourne la liste des versions prises en charge par le Kit de développement logiciel (SDK) actuel.

_enable_optimized_mode
bool
Obligatoire

Activez la génération d’environnement incrémentielle avec des images d’infrastructure prédéfinies pour accélérer la préparation de l’environnement. Une image d’infrastructure prédéfinie est basée sur des images de base processeur/GPU Azure ML par défaut avec des dépendances d’infrastructure préinstallées.

_disable_validation
bool
Obligatoire

Désactivez la validation du script avant d’exécuter la soumission. La valeur par défaut est True.

_show_lint_warnings
bool
Obligatoire

Afficher les avertissements de linting de script. La valeur par défaut est False.

_show_package_warnings
bool
Obligatoire

Afficher les avertissements de validation de package. La valeur par défaut est False.

Remarques

Pendant l’envoi d’un travail de formation, Azure ML exécute votre script dans un environnement Conda au sein d’un conteneur Docker. Les dépendances suivantes sont installées sur les conteneurs PyTorch.

Dependencies | PyTorch 1.0/1.1/1.2/1.3/ | PyTorch 1.4/1.5/1.6 | ———————- | —————– | ————- | Python | 3.6.2 | 3.6.2 | CUDA (GPU image only) | 10.0 | 10.1 | cuDNN (GPU image only) | 7.6.3 | 7.6.3 | NCCL (GPU image only) | 2.4.8 | 2.4.8 | azureml-defaults | Latest | Latest | 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 | future | 0.17.1 | 0.17.1 |

Les images Docker étendent Ubuntu 16.04.

Pour installer d’autres dépendances, vous pouvez utiliser le paramètre pip_packages ou conda_packages. Vous pouvez également spécifier le paramètre pip_requirements_file ou conda_dependencies_file. Vous pouvez également créer votre propre image et transmettre le paramètre custom_docker_image au constructeur de l’estimateur.

Pour plus d’informations sur les conteneurs Docker utilisés dans l’entraînement PyTorch, consultez https://github.com/Azure/AzureML-Containers.

L’estimateur PyTorch prend en charge l’entraînement distribué sur les clusters UC et GPU à l’aide de Horovod, une infrastructure open source réduite pour l’entraînement distribué. Pour obtenir des exemples et des informations supplémentaires sur l’utilisation de PyTorch dans l’entraînement distribué, consultez le didacticiel Entraîner et inscrire des modèles PyTorch à l’échelle avec Azure Machine Learning.

Attributs

DEFAULT_VERSION

DEFAULT_VERSION = '1.4'

FRAMEWORK_NAME

FRAMEWORK_NAME = 'PyTorch'