Partager via


TensorFlow Classe

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

OBSOLESCENT. Utilisez l’objet ScriptRunConfig avec votre propre environnement défini ou l’un des environnements organisés Par Azure ML TensorFlow. Pour une introduction à la configuration des exécutions d’expériences TensorFlow avec ScriptRunConfig, consultez Entraîner des modèles TensorFlow à grande échelle avec Azure Machine Learning.

Versions prises en charge : 1.10, 1.12, 1.13, 2.0, 2.1, 2.2

Initialisez un estimateur TensorFlow.

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

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

Constructeur

TensorFlow(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, worker_count=1, parameter_server_count=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

Nom Description
source_directory
Obligatoire
str

Répertoire local contenant des fichiers de configuration d’expérience.

compute_target
Obligatoire

Cible de calcul où l’entraînement se produira. Il peut s’agir d’un objet ou de la chaîne « local ».

vm_size
Obligatoire
str

Taille de machine virtuelle de la cible de calcul qui sera créée pour l’entraînement. Valeurs prises en charge : n’importe quelle taille de machine virtuelle Azure.

vm_priority
Obligatoire
str

Priorité de machine virtuelle de la cible de calcul qui sera créée pour l’entraînement. S’il n’est pas spécifié, « dédié » est utilisé.

Valeurs prises en charge : « dédié » et « lowpriority ».

Cela prend effet uniquement lorsque l’élément vm_size param est spécifié dans l’entrée.

entry_script
Obligatoire
str

Chemin d’accès relatif au fichier contenant le script d’entraînement.

script_params
Obligatoire

Dictionnaire d’arguments de ligne de commande à passer au script d’entraînement spécifié dans entry_script.

node_count
Obligatoire
int

Nombre de nœuds dans la cible de calcul utilisée pour l’entraînement. Seule la cible est prise en charge pour l’entraînement AmlCompute distribué (node_count> 1).

process_count_per_node
Obligatoire
int

Lors de l’utilisation de MPI, nombre de processus par nœud.

worker_count
Obligatoire
int

Lors de l’utilisation du serveur de paramètres pour l’entraînement distribué, le nombre de nœuds Worker.

OBSOLESCENT. Spécifiez dans le cadre du distributed_training paramètre.

parameter_server_count
Obligatoire
int

Lors de l’utilisation du serveur de paramètres pour l’entraînement distribué, nombre de nœuds de serveur de paramètres.

distributed_backend
Obligatoire
str

Back-end de communication pour l’entraînement distribué.

OBSOLESCENT. Utilise le paramètre distributed_training.

Valeurs prises en charge : « mpi » et « ps ». 'mpi' représente MPI/Horovod et 'ps' représente le serveur de paramètres.

Ce paramètre est requis quand l’un des node_countéléments , process_count_per_node, worker_countou parameter_server_count> 1. En cas de « ps », la somme worker_count et parameter_server_count doit être inférieure ou égale à node_count * (nombre de processeurs ou de GPU par nœud)

Quand node_count == 1 et process_count_per_node == 1, aucun back-end n’est utilisé, sauf si le back-end est défini explicitement. Seule la cible est prise en charge pour l’entraînement AmlCompute distribué.

distributed_training
Obligatoire

Paramètres pour l’exécution d’un travail d’entraînement distribué.

Pour exécuter un travail distribué avec le serveur principal Parameter Server, utilisez l’objet ParameterServer pour spécifier worker_count et parameter_server_count. La somme des worker_count paramètres et des parameter_server_count paramètres doit être inférieure ou égale à node_count * (nombre de processeurs ou de GPU par nœud).

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

use_gpu
Obligatoire

Spécifie si l’environnement à exécuter l’expérience doit prendre en charge les GPU. Si la valeur est true, une image Docker par défaut basée sur GPU est utilisée dans l’environnement. Si la valeur est false, une image basée sur le processeur est utilisée. Les images Docker par défaut (PROCESSEUR ou GPU) ne seront utilisées que si le custom_docker_image paramètre n’est pas défini. Ce paramètre est utilisé uniquement dans les cibles de calcul avec Docker.

use_docker
Obligatoire

Spécifie si l’environnement dans lequel exécuter l’expérience doit être basé sur Docker.

custom_docker_base_image
Obligatoire
str

Nom de l’image Docker à partir de laquelle l’image à utiliser pour l’entraînement sera générée.

OBSOLESCENT. Utilise le paramètre custom_docker_image.

Si elle n’est pas définie, une image basée sur le processeur par défaut est utilisée comme image de base.

custom_docker_image
Obligatoire
str

Nom de l’image Docker à partir de laquelle l’image à utiliser pour l’entraînement sera générée. Si elle n’est pas définie, une image basée sur le processeur par défaut est utilisée comme image de base.

image_registry_details
Obligatoire

Détails du registre d’images Docker.

user_managed
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
Obligatoire

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

pip_packages
Obligatoire

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

conda_dependencies_file_path
Obligatoire
str

Chaîne représentant le chemin d’accès relatif au fichier yaml des dépendances conda. S’il est spécifié, Azure ML n’installe aucun package lié à l’infrastructure. OBSOLESCENT. Utilise le paramètre conda_dependencies_file.

pip_requirements_file_path
Obligatoire
str

Chaîne représentant le chemin d’accès relatif au fichier texte de configuration requise pip. Cela peut être fourni en combinaison avec le pip_packages paramètre. OBSOLESCENT. Utilise le paramètre pip_requirements_file.

conda_dependencies_file
Obligatoire
str

Chaîne représentant le chemin d’accès relatif au fichier yaml des dépendances conda. S’il est spécifié, Azure ML n’installe aucun package lié à l’infrastructure.

pip_requirements_file
Obligatoire
str

Chaîne représentant le chemin d’accès relatif au fichier texte de configuration requise pip. Cela peut être fourni en combinaison avec le pip_packages paramètre.

environment_variables
Obligatoire

Dictionnaire de noms et de 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
Obligatoire

Définition de l’environnement de l’expérience. Il inclut pythonSection, DockerSection et variables d’environnement. Toute option d’environnement non directement exposée via d’autres paramètres à la construction estimateur peut être définie à l’aide de ce paramètre. Si ce paramètre est spécifié, il est prioritaire sur d’autres paramètres liés à l’environnement tels que use_gpu, , custom_docker_imageconda_packagesou pip_packages. Les erreurs sont signalées sur ces combinaisons non valides.

inputs
Obligatoire

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

source_directory_data_store
Obligatoire

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

shm_size
Obligatoire
str

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

resume_from
Obligatoire

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.

max_run_duration_seconds
Obligatoire
int

Durée maximale autorisée pour l’exécution. Azure ML tente d’annuler automatiquement l’exécution s’il prend plus de temps que cette valeur.

framework_version
Obligatoire
str

Version de TensorFlow à utiliser pour l’exécution du code d’entraînement. Si aucune version n’est fournie, l’estimateur est défini par défaut sur la dernière version prise en charge par Azure ML. Permet TensorFlow.get_supported_versions() de retourner une liste pour obtenir la liste de toutes les versions prises en charge par le Kit de développement logiciel (SDK) Azure ML actuel.

source_directory
Obligatoire
str

Répertoire local contenant des fichiers de configuration d’expérience.

compute_target
Obligatoire

Cible de calcul où l’entraînement se produira. Il peut s’agir d’un objet ou de la chaîne « local ».

vm_size
Obligatoire
str

Taille de machine virtuelle de la cible de calcul qui sera créée pour l’entraînement. Valeurs prises en charge : n’importe quelle taille de machine virtuelle Azure.

vm_priority
Obligatoire
str

Priorité de machine virtuelle de la cible de calcul qui sera créée pour l’entraînement. S’il n’est pas spécifié, « dédié » est utilisé.

Valeurs prises en charge : « dédié » et « lowpriority ».

Cela prend effet uniquement lorsque l’élément vm_size param est spécifié dans l’entrée.

entry_script
Obligatoire
str

Chemin d’accès relatif au fichier contenant le script d’entraînement.

script_params
Obligatoire

Dictionnaire d’arguments de ligne de commande à passer au script d’entraînement tne spécifié dans entry_script.

node_count
Obligatoire
int

Nombre de nœuds dans la cible de calcul utilisée pour l’entraînement. Seule la cible est prise en charge pour l’entraînement AmlCompute distribué (node_count> 1).

process_count_per_node
Obligatoire
int

Lors de l’utilisation de MPI, nombre de processus par nœud.

worker_count
Obligatoire
int

Lors de l’utilisation du serveur de paramètres, le nombre de nœuds Worker.

OBSOLESCENT. Spécifiez dans le cadre du distributed_training paramètre.

parameter_server_count
Obligatoire
int

Lors de l’utilisation du serveur de paramètres, nombre de nœuds de serveur de paramètres.

distributed_backend
Obligatoire
str

Back-end de communication pour l’entraînement distribué.

OBSOLESCENT. Utilise le paramètre distributed_training.

Valeurs prises en charge : « mpi » et « ps ». 'mpi' représente MPI/Horovod et 'ps' représente le serveur de paramètres.

Ce paramètre est requis quand l’un des node_countéléments , process_count_per_node, worker_countou parameter_server_count> 1. En cas de « ps », la somme worker_count et parameter_server_count doit être inférieure ou égale à node_count * (nombre de processeurs ou de GPU par nœud)

Quand node_count == 1 et process_count_per_node == 1, aucun back-end n’est utilisé, sauf si le back-end est défini explicitement. Seule la cible est prise en charge pour l’entraînement AmlCompute distribué. est pris en charge pour l’entraînement distribué.

distributed_training
Obligatoire

Paramètres pour l’exécution d’un travail d’entraînement distribué.

Pour exécuter un travail distribué avec le back-end Parameter Server, utilisez ParameterServer l’objet pour spécifier worker_count et parameter_server_count. La somme des worker_count paramètres et des parameter_server_count paramètres doit être inférieure ou égale à node_count * (nombre de processeurs ou de GPU par nœud).

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

use_gpu
Obligatoire

Spécifie si l’environnement à exécuter l’expérience doit prendre en charge les GPU. Si la valeur est true, une image Docker par défaut basée sur GPU est utilisée dans l’environnement. Si la valeur est false, une image basée sur le processeur est utilisée. Les images Docker par défaut (PROCESSEUR ou GPU) sont utilisées uniquement si custom_docker_image le paramètre n’est pas défini. Ce paramètre est utilisé uniquement dans les cibles de calcul avec Docker.

use_docker
Obligatoire

Spécifie si l’environnement dans lequel exécuter l’expérience doit être basé sur Docker.

custom_docker_base_image
Obligatoire
str

Nom de l’image Docker à partir de laquelle l’image à utiliser pour l’entraînement sera générée.

OBSOLESCENT. Utilise le paramètre custom_docker_image.

Si elle n’est pas définie, une image basée sur le processeur par défaut est utilisée comme image de base.

custom_docker_image
Obligatoire
str

Nom de l’image Docker à partir de laquelle l’image à utiliser pour l’entraînement sera générée. Si elle n’est pas définie, une image basée sur le processeur par défaut est utilisée comme image de base.

image_registry_details
Obligatoire

Détails du registre d’images Docker.

user_managed
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
Obligatoire

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

pip_packages
Obligatoire

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

conda_dependencies_file_path
Obligatoire
str

Chemin d’accès relatif au fichier yaml des dépendances conda. S’il est spécifié, Azure ML n’installe aucun package lié à l’infrastructure. OBSOLESCENT. Utilise le paramètre conda_dependencies_file.

pip_requirements_file_path
Obligatoire
str

Chemin d’accès relatif au fichier texte de configuration requise pip. Cela peut être fourni en combinaison avec le pip_packages paramètre. OBSOLESCENT. Utilise le paramètre pip_requirements_file.

environment_variables
Obligatoire

Dictionnaire de noms et de 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.

conda_dependencies_file
Obligatoire
str

Chaîne représentant le chemin d’accès relatif au fichier yaml des dépendances conda. S’il est spécifié, Azure ML n’installe aucun package lié à l’infrastructure.

pip_requirements_file
Obligatoire
str

Chemin d’accès relatif au fichier texte de configuration requise pip. Cela peut être fourni en combinaison avec le pip_packages paramètre.

environment_variables
Obligatoire

Dictionnaire de noms et de 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
Obligatoire

Définition de l’environnement de l’expérience. Il inclut pythonSection, DockerSection et variables d’environnement. Toute option d’environnement non directement exposée via d’autres paramètres à la construction estimateur peut être définie à l’aide de ce paramètre. Si ce paramètre est spécifié, il est prioritaire sur d’autres paramètres liés à l’environnement tels que use_gpu, , custom_docker_imageconda_packagesou pip_packages. Les erreurs sont signalées sur ces combinaisons non valides.

inputs
Obligatoire

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

source_directory_data_store
Obligatoire
str

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. S’il n’est pas défini, la valeur par défaut est azureml.core.environment._DEFAULT_SHM_SIZE. Pour plus d'informations, consultez la rubrique

framework_version
Obligatoire
str

Version de TensorFlow à utiliser pour l’exécution du code d’entraînement. Si aucune version n’est fournie, l’estimateur est défini par défaut sur la dernière version prise en charge par Azure ML. Utilisez TensorFlow.get_supported_versions() pour renvoyer une liste pour obtenir la liste de toutes les versions prises en charge par le Kit de développement logiciel (SDK) Azure ML actuel.

_enable_optimized_mode
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éfini est basée sur des images de base processeur/GPU Azure ML avec des dépendances d’infrastructure préinstallées.

_disable_validation
Obligatoire

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

_show_lint_warnings
Obligatoire

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

_show_package_warnings
Obligatoire

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

Remarques

Lors de l’envoi d’un travail d’entraînement, Azure ML exécute votre script dans un environnement conda au sein d’un conteneur Docker. Les conteneurs TensorFlow ont les dépendances suivantes installées.

Dépendances | TensorFlow 1.10/1.12 | TensorFlow 1.13 | TF 2.0/2.1/2.2 | ———————————— | ——————– | ————— | —————— | Python | 3.6.2 | 3.6.2 | 3.6.2 | CUDA (image GPU uniquement) | 9.0 | 10.0 | 10.0 | cuDNN (image GPU uniquement) | 7.6.3 | 7.6.3 | 7.6.3 | NCCL (image GPU uniquement) | 2.4.8 | 2.4.8 | 2.4.8 | azureml-defaults | Dernière | Dernière | Dernière | azureml-dataset-runtime[fuse,pandas] | Dernière | Dernière | Dernière | IntelMpi | 2018.3.222 | 2018.3.222 | —- | OpenMpi | —- | —- | 3.1.2 | horovod | 0.15.2 | 0.16.1 | 0.18.1/0.19.1/0.19.5 | miniconda | 4.5.11 | 4.5.11 | 4.5.11 | tensorflow | 1.10.0/1.12.0 | 1.13.1 | 2.0.0/2.1.0/2.2.0 | git | 2.7.4 | 2.7.4 | 2.7.4 |

Les images Docker v1 étendent Ubuntu 16.04. Les images Docker v2 étendent Ubuntu 18.04.

Pour installer des dépendances supplémentaires, vous pouvez utiliser le ou pip_packages le conda_packages paramètre. Vous pouvez également spécifier le ou pip_requirements_file le conda_dependencies_file paramètre. Vous pouvez également générer votre propre image et passer le custom_docker_image paramètre au constructeur d’estimateur.

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

La classe TensorFlow prend en charge deux méthodes d’entraînement distribué :

Pour obtenir des exemples et plus d’informations sur l’utilisation de TensorFlow dans l’entraînement distribué, consultez le tutoriel Entraîner et inscrire des modèles TensorFlow à grande échelle avec Azure Machine Learning.

Attributs

DEFAULT_VERSION

DEFAULT_VERSION = '1.13'

FRAMEWORK_NAME

FRAMEWORK_NAME = 'TensorFlow'