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._FrameworkBaseEstimatorPyTorch
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
Répertoire local contenant les fichiers de configuration de l’expérience.
- compute_target
- AbstractComputeTarget ou str
Cible de calcul où la formation aura lieu. Il peut s’agir d’un objet ou de la chaîne « local ».
- vm_size
- str
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
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.
- script_params
- dict
Dictionnaire d’arguments de ligne de commande à transmettre au script de formation spécifié dans entry_script
.
- node_count
- int
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
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
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.
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
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
Indique si l’environnement d’exécution de l’expérience doit être basé sur Docker.
- custom_docker_base_image
- str
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
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.
- user_managed
- bool
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
Liste des chaînes représentant les packages Conda à ajouter à l’environnement Python pour l’expérience.
- pip_packages
- list
Liste des chaînes représentant les packages pip à ajouter à l’environnement Python pour l’expérience.
- conda_dependencies_file_path
- str
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
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
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
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
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
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
Liste d’objets DataReference ou DatasetConsumptionConfig à utiliser comme entrée.
- source_directory_data_store
- Datastore
Magasin de données de stockage pour le partage de projet.
- shm_size
- str
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
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
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
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
Répertoire local contenant les fichiers de configuration de l’expérience.
- compute_target
- AbstractComputeTarget ou str
Cible de calcul où la formation aura lieu. Il peut s’agir d’un objet ou de la chaîne « local ».
- vm_size
- str
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
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.
- script_params
- dict
Dictionnaire d’arguments de ligne de commande à transmettre au script de formation spécifié dans entry_script
.
- node_count
- int
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
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
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.
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
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
Indique si l’environnement d’exécution de l’expérience doit être basé sur Docker.
- custom_docker_base_image
- str
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
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.
- user_managed
- bool
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
Liste des chaînes représentant les packages Conda à ajouter à l’environnement Python pour l’expérience.
- pip_packages
- list
Liste des chaînes représentant les packages pip à ajouter à l’environnement Python pour l’expérience.
- conda_dependencies_file_path
- str
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
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
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
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
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
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
Liste de azureml.data.data_reference. Objets DataReference à utiliser comme entrée.
- source_directory_data_store
- Datastore
Magasin de données de stockage pour le partage de projet.
- shm_size
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
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
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
Désactivez la validation du script avant d’exécuter la soumission. La valeur par défaut est True.
- _show_lint_warnings
- bool
Afficher les avertissements de linting de script. La valeur par défaut est False.
- _show_package_warnings
- bool
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'
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : tout au long de 2024, nous allons éliminer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d'informations, consultez :Envoyer et afficher des commentaires pour