Condividi tramite


TensorFlow Classe

Rappresenta un strumento di stima per il training negli esperimenti tensorFlow.

DEPRECATO. Usare l'oggetto ScriptRunConfig con il proprio ambiente definito o uno degli ambienti curati di Azure ML TensorFlow. Per un'introduzione alla configurazione delle esecuzioni dell'esperimento TensorFlow con ScriptRunConfig, vedere Eseguire il training di 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 oggetto estimator TensorFlow.

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

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

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

Questa operazione ha effetto solo quando l'oggetto vm_size param viene 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 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 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 il server parametri 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 parametro distributed_training.

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.

distributed_training
Necessario

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

Per eseguire un processo distribuito con il back-end del server dei parametri, 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 * (il 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 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 parametro custom_docker_image.

Se non è impostata, 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 è impostata, come immagine di base verrà usata un'immagine predefinita basata sulla CPU.

image_registry_details
Necessario

Dettagli del Registro di sistema delle 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

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

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 parametro pip_requirements_file.

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

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 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 use_gpuesempio , custom_docker_imageconda_packages, o pip_packages. Gli errori verranno segnalati in queste combinazioni non valide.

inputs
Necessario

Elenco di DataReference oggetti o DatasetConsumptionConfig da utilizzare come input.

source_directory_data_store
Necessario

Archivio dati di backup per la condivisione di progetto.

shm_size
Necessario
str

Dimensioni del blocco di memoria condivisa del contenitore Docker. Se non è impostata, viene utilizzata la azureml.core.environment._DEFAULT_SHM_SIZE predefinita. Per altre informazioni, vedere Informazioni di riferimento sull'esecuzione di Docker.

resume_from
Necessario

Percorso dati contenente i file del checkpoint o del 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, 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.

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

Questa operazione ha effetto solo quando l'oggetto vm_size param viene 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 parametro distributed_training.

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 del server dei parametri, 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 * (il 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 parametro custom_docker_image.

Se non è impostata, 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 è impostata, come immagine di base verrà usata un'immagine predefinita basata sulla CPU.

image_registry_details
Necessario

Dettagli del Registro di sistema delle 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 parametro conda_dependencies_file.

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 parametro pip_requirements_file.

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 use_gpuesempio , custom_docker_imageconda_packages, o pip_packages. Gli errori verranno segnalati in queste combinazioni non valide.

inputs
Necessario

Elenco di azureml.data.data_reference. Oggetti DataReference da utilizzare 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, consultare.

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 framework predefinite per una preparazione più rapida dell'ambiente. Un'immagine del framework predefinita si basa sulle 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. L'impostazione predefinita è 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 di 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 modelli TensorFlow su larga scala con Azure Machine Learning.

Attributi

DEFAULT_VERSION

DEFAULT_VERSION = '1.13'

FRAMEWORK_NAME

FRAMEWORK_NAME = 'TensorFlow'