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._FrameworkBaseEstimatorTensorFlow
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
|
Directory locale contenente i file di configurazione dell'esperimento. |
compute_target
Necessario
|
AbstractComputeTarget oppure
str
Destinazione di calcolo in cui si verificherà il training. Può essere un oggetto o la stringa "local". |
vm_size
Necessario
|
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
|
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 |
entry_script
Necessario
|
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 |
node_count
Necessario
|
Numero di nodi nella destinazione di calcolo usata per il training. Solo la destinazione è supportata per il AmlCompute training distribuito ( |
process_count_per_node
Necessario
|
Quando si usa MPI, il numero di processi per nodo. |
worker_count
Necessario
|
Quando si usa Parameter Server per il training distribuito, il numero di nodi di lavoro. DEPRECATO. Specificare come parte del |
parameter_server_count
Necessario
|
Quando si usa Parameter Server per il training distribuito, il numero di nodi del server dei parametri. |
distributed_backend
Necessario
|
Back-end di comunicazione per il training distribuito. DEPRECATO. Usare il Valori supportati: 'mpi' e 'ps'. 'mpi' rappresenta MPI/Horovod e 'ps' rappresenta il server dei parametri. Questo parametro è necessario quando uno di Quando |
distributed_training
Necessario
|
ParameterServer oppure
Mpi
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 Per l'esecuzione di un processo distribuito con back-end MPI, usare l'oggetto Mpi per specificare |
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 |
use_docker
Necessario
|
Specifica se l'ambiente in cui eseguire l'esperimento deve essere basato su Docker. |
custom_docker_base_image
Necessario
|
Nome dell'immagine Docker da cui verrà compilata l'immagine da usare per il training. DEPRECATO. Usare il In caso contrario, un'immagine basata sulla CPU predefinita verrà usata come immagine di base. |
custom_docker_image
Necessario
|
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
|
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 |
pip_requirements_file_path
Necessario
|
Stringa che rappresenta il percorso relativo del file di testo dei requisiti pip.
Questa opzione può essere fornita in combinazione con il |
conda_dependencies_file
Necessario
|
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
|
Stringa che rappresenta il percorso relativo del file di testo dei requisiti pip.
Questa opzione può essere fornita in combinazione con il |
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 |
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
|
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
|
Tempo massimo consentito per l'esecuzione. Azure ML tenterà di annullare automaticamente l'esecuzione se richiede più tempo di questo valore. |
framework_version
Necessario
|
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 |
source_directory
Necessario
|
Directory locale contenente i file di configurazione dell'esperimento. |
compute_target
Necessario
|
AbstractComputeTarget oppure
str
Destinazione di calcolo in cui verrà eseguito il training. Può trattarsi di un oggetto o della stringa "local". |
vm_size
Necessario
|
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
|
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 |
entry_script
Necessario
|
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 |
node_count
Necessario
|
Numero di nodi nella destinazione di calcolo usata per il training. Solo la destinazione è supportata per il AmlCompute training distribuito ( |
process_count_per_node
Necessario
|
Quando si usa MPI, il numero di processi per nodo. |
worker_count
Necessario
|
Quando si usa Il server dei parametri, il numero di nodi di lavoro. DEPRECATO. Specificare come parte del |
parameter_server_count
Necessario
|
Quando si usa Il server dei parametri, il numero di nodi del server dei parametri. |
distributed_backend
Necessario
|
Back-end di comunicazione per il training distribuito. DEPRECATO. Usare il Valori supportati: 'mpi' e 'ps'. 'mpi' rappresenta MPI/Horovod e 'ps' rappresenta il server dei parametri. Questo parametro è obbligatorio quando uno qualsiasi di Quando |
distributed_training
Necessario
|
ParameterServer oppure
Mpi
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 Per eseguire un processo distribuito con back-end MPI, usare l'oggetto Mpi per specificare |
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 |
use_docker
Necessario
|
Specifica se l'ambiente in cui eseguire l'esperimento deve essere basato su Docker. |
custom_docker_base_image
Necessario
|
Nome dell'immagine Docker da cui verrà compilata l'immagine da usare per il training. DEPRECATO. Usare il Se non impostato, come immagine di base verrà usata un'immagine predefinita basata sulla CPU. |
custom_docker_image
Necessario
|
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
|
Percorso relativo del file yaml delle dipendenze conda. Se specificato, Azure ML non installerà alcun pacchetto correlato al framework.
DEPRECATO. Usare il |
pip_requirements_file_path
Necessario
|
Percorso relativo del file di testo dei requisiti pip.
Questa opzione può essere fornita in combinazione con il |
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
|
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
|
Percorso relativo del file di testo dei requisiti pip.
Questa opzione può essere fornita in combinazione con il |
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 |
inputs
Necessario
|
Elenco di azureml.data.data_reference. Oggetti DataReference da usare come input. |
source_directory_data_store
Necessario
|
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
|
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:
Training distribuito basato su MPI usando
TensorFlow distribuito nativo
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'