TensorFlow Classe

Rappresenta un stimatore per il training negli esperimenti TensorFlow.

DEPRECATO. Usare l'oggetto ScriptRunConfig con un ambiente definito o uno degli ambienti di TensorFlow di Azure ML. Per un'introduzione alla configurazione dell'esperimento TensorFlow viene eseguito con ScriptRunConfig, vedere Eseguire il training dei modelli TensorFlow su larga scala con Azure Machine Learning.

Versioni supportate: 1.10, 1.12, 1.13, 2.0, 2.1, 2.2

Inizializzare un stima tensorFlow.

Riferimento all'esecuzione di Docker. :type shm_size: str :p aram resume_from: percorso dati contenente i file di checkpoint o modello da cui riprendere l'esperimento. :type resume_from: azureml.datapath.datapath.DataPath :p aram max_run_duration_seconds: tempo massimo consentito per l'esecuzione. Azure ML tenterà di eseguire automaticamente il tentativo

annullare l'esecuzione se richiede più tempo di questo valore.

Ereditarietà
azureml.train.estimator._framework_base_estimator._FrameworkBaseEstimator
TensorFlow

Costruttore

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)

Parametri

Nome Descrizione
source_directory
Necessario
str

Directory locale contenente i file di configurazione dell'esperimento.

compute_target
Necessario

Destinazione di calcolo in cui si verificherà il training. Può essere un oggetto o la stringa "local".

vm_size
Necessario
str

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
str

Priorità della macchina virtuale della destinazione di calcolo che verrà creata per il training. Se non specificato, viene usato "dedicato".

Valori supportati:'dedicato' e 'lowpriority'.

Ciò ha effetto solo quando l'oggetto viene specificato nell'input vm_size param .

entry_script
Necessario
str

Percorso relativo del file contenente lo script di training.

script_params
Necessario

Dizionario degli argomenti della riga di comando da passare allo script di training specificato in entry_script.

node_count
Necessario
int

Numero di nodi nella destinazione di calcolo usata per il training. Solo la destinazione è supportata per il AmlCompute training distribuito (node_count> 1).

process_count_per_node
Necessario
int

Quando si usa MPI, il numero di processi per nodo.

worker_count
Necessario
int

Quando si usa Parameter Server per il training distribuito, il numero di nodi di lavoro.

DEPRECATO. Specificare come parte del distributed_training parametro.

parameter_server_count
Necessario
int

Quando si usa Parameter Server per il training distribuito, il numero di nodi del server dei parametri.

distributed_backend
Necessario
str

Back-end di comunicazione per il training distribuito.

DEPRECATO. Usare il distributed_training parametro .

Valori supportati: 'mpi' e 'ps'. 'mpi' rappresenta MPI/Horovod e 'ps' rappresenta il server dei parametri.

Questo parametro è necessario quando uno di node_count, process_count_per_node, worker_counto parameter_server_count> 1. Nel caso di 'ps', la somma di worker_count e parameter_server_count deve essere minore o uguale a node_count * (numero di CPU o GPU per nodo)

Quando node_count == 1 e process_count_per_node == 1, non verrà usato alcun back-end a meno che il back-end non sia impostato in modo esplicito. Solo la destinazione è supportata per il AmlCompute training distribuito.

distributed_training
Necessario

Parametri per l'esecuzione di un processo di training distribuito.

Per l'esecuzione di un processo distribuito con il back-end di Parameter Server, usare l'oggetto ParameterServer per specificare worker_count e parameter_server_count. La somma dei worker_count parametri e parameter_server_count deve essere minore o uguale a node_count * (numero di CPU o GPU per nodo).

Per l'esecuzione di un processo distribuito con back-end MPI, usare l'oggetto Mpi per specificare process_count_per_node.

use_gpu
Necessario

Specifica se l'ambiente da 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 custom_docker_image parametro non è impostato. Questa impostazione viene usata solo nelle destinazioni di calcolo abilitate per Docker.

use_docker
Necessario

Specifica se l'ambiente in cui eseguire l'esperimento deve essere basato su Docker.

custom_docker_base_image
Necessario
str

Nome dell'immagine Docker da cui verrà compilata l'immagine da usare per il training.

DEPRECATO. Usare il custom_docker_image parametro .

In caso contrario, un'immagine basata sulla CPU predefinita verrà usata come immagine di base.

custom_docker_image
Necessario
str

Nome dell'immagine Docker da cui verrà compilata l'immagine da usare per il training. In caso contrario, un'immagine basata sulla CPU predefinita verrà usata come immagine di base.

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

Stringa che rappresenta il percorso relativo del file yaml delle dipendenze conda. Se specificato, Azure ML non installerà pacchetti correlati al framework. DEPRECATO. Usare il conda_dependencies_file parametro .

pip_requirements_file_path
Necessario
str

Stringa che rappresenta il percorso relativo del file di testo dei requisiti pip. Questa opzione può essere fornita in combinazione con il pip_packages parametro . DEPRECATO. Usare il pip_requirements_file parametro .

conda_dependencies_file
Necessario
str

Stringa che rappresenta il percorso relativo del file yaml delle dipendenze conda. Se specificato, Azure ML non installerà pacchetti correlati al framework.

pip_requirements_file
Necessario
str

Stringa che rappresenta il percorso relativo del file di testo dei requisiti pip. Questa opzione può essere fornita in combinazione con il pip_packages parametro .

environment_variables
Necessario

Dizionario dei nomi e dei 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 è specificato, avrà la precedenza su altri parametri correlati all'ambiente, ad esempio use_gpu, custom_docker_image, conda_packageso pip_packages. Gli errori verranno segnalati in queste combinazioni non valide.

inputs
Necessario

Elenco di DataReference oggetti da DatasetConsumptionConfig usare come input.

source_directory_data_store
Necessario

Archivio dati di backup per la condivisione progetto.

shm_size
Necessario
str

Dimensioni del blocco di memoria condiviso del contenitore Docker. Se non è impostato, viene usato il azureml.core.environment._DEFAULT_SHM_SIZE predefinito. Per altre informazioni, vedere Informazioni di riferimento sull'esecuzione di Docker.

resume_from
Necessario

Percorso dati contenente i file di checkpoint o modello da cui riprendere l'esperimento.

max_run_duration_seconds
Necessario
int

Tempo massimo consentito per l'esecuzione. Azure ML tenterà di annullare automaticamente l'esecuzione se richiede più tempo di questo valore.

framework_version
Necessario
str

Versione di TensorFlow da usare per l'esecuzione del codice di training. Se non viene fornita alcuna versione, lo strumento di stima verrà impostato per impostazione predefinita sulla versione più recente supportata da Azure ML. Usare TensorFlow.get_supported_versions() per restituire un elenco per ottenere un elenco di tutte le versioni supportate dall'SDK di Azure ML corrente.

source_directory
Necessario
str

Directory locale contenente i file di configurazione dell'esperimento.

compute_target
Necessario

Destinazione di calcolo in cui verrà eseguito il training. Può trattarsi di un oggetto o della stringa "local".

vm_size
Necessario
str

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
str

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 vm_size param è specificato nell'input.

entry_script
Necessario
str

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 tne specificato in entry_script.

node_count
Necessario
int

Numero di nodi nella destinazione di calcolo usata per il training. Solo la destinazione è supportata per il AmlCompute training distribuito (node_count> 1).

process_count_per_node
Necessario
int

Quando si usa MPI, il numero di processi per nodo.

worker_count
Necessario
int

Quando si usa Il server dei parametri, il numero di nodi di lavoro.

DEPRECATO. Specificare come parte del distributed_training parametro .

parameter_server_count
Necessario
int

Quando si usa Il server dei parametri, il numero di nodi del server dei parametri.

distributed_backend
Necessario
str

Back-end di comunicazione per il training distribuito.

DEPRECATO. Usare il distributed_training parametro .

Valori supportati: 'mpi' e 'ps'. 'mpi' rappresenta MPI/Horovod e 'ps' rappresenta il server dei parametri.

Questo parametro è obbligatorio quando uno qualsiasi di node_count, process_count_per_node, worker_counto parameter_server_count> 1. Nel caso di 'ps', la somma di worker_count e parameter_server_count deve essere minore o uguale a node_count * (numero di CPU o GPU per nodo)

Quando node_count == 1 e process_count_per_node == 1, non verrà usato alcun back-end a meno che il back-end non sia impostato in modo esplicito. Solo la destinazione è supportata per il AmlCompute training distribuito. è supportato per il training distribuito.

distributed_training
Necessario

Parametri per l'esecuzione di un processo di training distribuito.

Per eseguire un processo distribuito con il back-end parameter server, usare l'oggetto ParameterServer per specificare worker_count e parameter_server_count. La somma dei worker_count parametri e parameter_server_count deve essere minore o uguale a node_count * (numero di CPU o GPU per nodo).

Per eseguire un processo distribuito con back-end MPI, usare l'oggetto Mpi per specificare process_count_per_node.

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 custom_docker_image il parametro non è impostato. Questa impostazione viene usata solo nelle destinazioni di calcolo abilitate per Docker.

use_docker
Necessario

Specifica se l'ambiente in cui eseguire l'esperimento deve essere basato su Docker.

custom_docker_base_image
Necessario
str

Nome dell'immagine Docker da cui verrà compilata l'immagine da usare per il training.

DEPRECATO. Usare il custom_docker_image parametro .

Se non impostato, come immagine di base verrà usata un'immagine predefinita basata sulla CPU.

custom_docker_image
Necessario
str

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
str

Percorso relativo del file yaml delle dipendenze conda. Se specificato, Azure ML non installerà alcun pacchetto correlato al framework. DEPRECATO. Usare il conda_dependencies_file parametro .

pip_requirements_file_path
Necessario
str

Percorso relativo del file di testo dei requisiti pip. Questa opzione può essere fornita in combinazione con il pip_packages parametro . DEPRECATO. Usare il pip_requirements_file parametro .

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.

conda_dependencies_file
Necessario
str

Stringa che rappresenta il percorso relativo del file yaml delle dipendenze conda. Se specificato, Azure ML non installerà alcun pacchetto correlato al framework.

pip_requirements_file
Necessario
str

Percorso relativo del file di testo dei requisiti pip. Questa opzione può essere fornita in combinazione con il pip_packages parametro .

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 use_gpu, custom_docker_image, conda_packageso pip_packages. Gli errori verranno segnalati in queste combinazioni non valide.

inputs
Necessario

Elenco di azureml.data.data_reference. Oggetti DataReference da usare come input.

source_directory_data_store
Necessario
str

Archivio dati di backup per la condivisione di progetto.

shm_size
Necessario

Dimensioni del blocco di memoria condivisa del contenitore Docker. Se non impostato, il valore predefinito è azureml.core.environment._DEFAULT_SHM_SIZE. Per ulteriori informazioni, vedere

framework_version
Necessario
str

Versione di TensorFlow da usare per l'esecuzione del codice di training. Se non viene fornita alcuna versione, per impostazione predefinita lo strumento di stima sarà la versione più recente supportata da Azure ML. Usare TensorFlow.get_supported_versions() per restituire un elenco per ottenere un elenco di tutte le versioni supportate dall'SDK di Azure ML corrente.

_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. Nei contenitori TensorFlow sono installate le dipendenze seguenti.

Dipendenze | 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 (solo immagine GPU) | 9.0 | 10.0 | 10.0 | cuDNN (solo immagine GPU) | 7.6.3 | 7.6.3 | 7.6.3 | NCCL (solo immagine GPU) | 2.4.8 | 2.4.8 | 2.4.8 | azureml-defaults | Più recente | Più recente | Più recente | azureml-dataset-runtime[fuse,pandas] | Più recente | Più recente | Più recente | 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 |

Le immagini Docker v1 estendono Ubuntu 16.04. Le immagini Docker v2 estendono Ubuntu 18.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 tensorFlow, vedere https://github.com/Azure/AzureML-Containers.

La classe TensorFlow supporta due metodi di training distribuito:

Per esempi e altre informazioni sull'uso di TensorFlow nel training distribuito, vedere l'esercitazione Eseguire il training e registrare i modelli TensorFlow su larga scala con Azure Machine Learning.

Attributi

DEFAULT_VERSION

DEFAULT_VERSION = '1.13'

FRAMEWORK_NAME

FRAMEWORK_NAME = 'TensorFlow'