Partager via


TensorFlow Classe

Représente un estimateur pour la formation dans les expériences TensorFlow.

DÉPRÉCIÉ. Utilisez l’objet ScriptRunConfig avec votre propre environnement défini ou l’un des environnements organisés Azure ML TensorFlow. Pour une présentation de la configuration de l’expérience TensorFlow avec ScriptRunConfig, consultez Former 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

Initialiser un estimateur TensorFlow.

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
TensorFlow

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 les fichiers de configuration de l’expérience.

compute_target
Obligatoire

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

vm_size
Obligatoire
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
Obligatoire
str

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

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

Prend effet uniquement quand le paramètre vm_size param est spécifié dans l’entrée.

entry_script
Obligatoire
str

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

script_params
Obligatoire

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

node_count
Obligatoire
int

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

process_count_per_node
Obligatoire
int

En cas d’utilisation de MPI, nombre de processus par nœud.

worker_count
Obligatoire
int

En cas d’utilisation d’un serveur de paramètres pour la formation distribuée, nombre de nœuds worker.

DÉPRÉCIÉ. Spécifiez-le dans le cadre du paramètre distributed_training.

parameter_server_count
Obligatoire
int

En cas d’utilisation d’un serveur de paramètres pour la formation distribuée, nombre de nœuds du serveur de paramètres.

distributed_backend
Obligatoire
str

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

DÉPRÉCIÉ. Utilisez 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 obligatoire quand node_count, process_count_per_node, worker_count ou parameter_server_count> 1. Dans le cas de « ps », la somme de worker_count et parameter_server_count doit être inférieure ou égale à node_count * (nombre de processeurs ou processeurs graphiques par nœud)

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

distributed_training
Obligatoire

Paramètres pour l’exécution d’une tâche de formation distribuée.

Pour exécuter un travail distribué avec le back-end Serveur de paramètres, utilisez l’objet ParameterServer pour spécifier worker_count et parameter_server_count. La somme des paramètres worker_count et parameter_server_count doit être inférieure ou égale à node_count * (nombre de processeurs ou de processeurs graphiques 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

Indique si l’environnement d’exécution de l’expérience doit prendre en charge les processeurs graphiques. Si la valeur est true, une image Docker par défaut basée sur un processeur graphique est utilisée dans l’environnement. Si la valeur est false, une image basée sur un processeur est 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 utilisé uniquement dans les cibles de calcul Docker.

use_docker
Obligatoire

Indique si l’environnement d’exécution 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 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
Obligatoire
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.

image_registry_details
Obligatoire

Détails du registre de l’image 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 des chaînes représentant les packages Conda à ajouter à l’environnement Python pour l’expérience.

pip_packages
Obligatoire

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

conda_dependencies_file_path
Obligatoire
str

Chaîne représentant le chemin relatif du 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
Obligatoire
str

Chaîne représentant le chemin relatif du fichier texte des exigences 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
Obligatoire
str

Chaîne représentant le chemin relatif du 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
Obligatoire
str

Chaîne représentant le chemin relatif du fichier texte des exigences pip. Peut être fourni en association avec le paramètre pip_packages.

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

La définition de l’environnement pour l’expérience. Inclut PythonSection, DockerSection et les variables d’environnement. Toute option d’environnement non directement exposée à travers d’autres paramètres dans la construction de l’estimateur peut être définie avec ce paramètre. Si ce paramètre est spécifié, il a 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 ces combinaisons non valides.

inputs
Obligatoire

Liste d’objets DataReference ou 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. 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
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
Obligatoire
int

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

framework_version
Obligatoire
str

Version TensorFlow à utiliser pour exécuter le code de formation. Si aucune version n’est fournie, l’estimateur utilise par défaut la dernière version prise en charge par Azure ML. Utilisez TensorFlow.get_supported_versions() pour retourner la liste de toutes les versions prises en charge du SDK Azure ML actuel.

source_directory
Obligatoire
str

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

compute_target
Obligatoire

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

vm_size
Obligatoire
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
Obligatoire
str

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

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

Prend effet uniquement quand le paramètre vm_size param est spécifié dans l’entrée.

entry_script
Obligatoire
str

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

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 la formation. Seule la cible AmlCompute est prise en charge pour la formation distribuée (node_count> 1).

process_count_per_node
Obligatoire
int

En cas d’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.

DÉPRÉCIÉ. Spécifiez-le dans le cadre du paramètre distributed_training.

parameter_server_count
Obligatoire
int

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

distributed_backend
Obligatoire
str

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

DÉPRÉCIÉ. Utilisez 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 obligatoire quand node_count, process_count_per_node, worker_count ou parameter_server_count> 1. Dans le cas de « ps », la somme de worker_count et parameter_server_count doit être inférieure ou égale à node_count * (nombre de processeurs ou processeurs graphiques par nœud)

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

distributed_training
Obligatoire

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

Pour exécuter un travail distribué avec le serveur principal du serveur de paramètres, utilisez ParameterServer l’objet pour spécifier worker_count et parameter_server_count. La somme des paramètres worker_count et parameter_server_count doit être inférieure ou égale à node_count * (nombre de processeurs ou de processeurs graphiques 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

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 (PROCESSEUR ou GPU) ne seront utilisées que si custom_docker_image le paramètre n’est pas défini. Ce paramètre est utilisé uniquement dans les cibles de calcul Docker.

use_docker
Obligatoire

Indique si l’environnement d’exécution 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 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
Obligatoire
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.

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 basé sur la spécification des dépendances Conda.

conda_packages
Obligatoire

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

pip_packages
Obligatoire

Liste des chaînes représentant les 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. 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
Obligatoire
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.

environment_variables
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.

conda_dependencies_file
Obligatoire
str

Chaîne représentant le chemin relatif du 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
Obligatoire
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
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
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 ces combinaisons non valides.

inputs
Obligatoire

Liste des 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 TensorFlow à utiliser pour exécuter le code de formation. Si aucune version n’est fournie, l’estimateur utilise par défaut la dernière version prise en charge par Azure ML. Utilisez TensorFlow.get_supported_versions() pour renvoyer une liste afin d’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éfinie s’appuie sur des images de base processeur/GPU Par défaut Azure ML avec des dépendances de framework 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

Pendant l’envoi d’une tâche de formation, 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 | Latest | Latest | Latest | azureml-dataset-runtime[fuse,pandas] | Latest | Latest | Latest | 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 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 TensorFlow, consultez https://github.com/Azure/AzureML-Containers.

La classe TensorFlow prend en charge deux méthodes de formation distribuée :

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'