Delen via


TensorFlow Klas

Vertegenwoordigt een estimator voor training in TensorFlow-experimenten.

VEROUDERD. Gebruik het ScriptRunConfig object met uw eigen gedefinieerde omgeving of een van de door Azure ML TensorFlow beheerde omgevingen. Zie TensorFlow-modellen op schaal trainen met Azure Machine Learning voor een inleiding tot het configureren van tensorFlow-experimentuitvoeringen met ScriptRunConfig.

Ondersteunde versies: 1.10, 1.12, 1.13, 2.0, 2.1, 2.2

Initialiseer een TensorFlow-estimator.

Naslaginformatie over Docker-uitvoering. :type shm_size: str :p aram resume_from: het gegevenspad met de controlepunt- of modelbestanden waaruit het experiment moet worden hervat. :type resume_from: azureml.data.datapath.DataPath :p aram max_run_duration_seconds: De maximale toegestane tijd voor de uitvoering. Azure ML probeert automatisch

annuleer de uitvoering als het langer duurt dan deze waarde.

Constructor

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)

Parameters

Name Description
source_directory
Vereist
str

Een lokale map met experimentconfiguratiebestanden.

compute_target
Vereist

Het rekendoel waar de training plaatsvindt. Dit kan een object zijn of de tekenreeks 'lokaal'.

vm_size
Vereist
str

De VM-grootte van het rekendoel dat wordt gemaakt voor de training. Ondersteunde waarden: elke Azure-VM-grootte.

vm_priority
Vereist
str

De vm-prioriteit van het rekendoel dat wordt gemaakt voor de training. Als dit niet is opgegeven, wordt 'dedicated' gebruikt.

Ondersteunde waarden: 'dedicated' en 'lowpriority'.

Dit wordt alleen van kracht wanneer de vm_size param invoer is opgegeven.

entry_script
Vereist
str

Het relatieve pad naar het bestand met het trainingsscript.

script_params
Vereist

Een woordenlijst met opdrachtregelargumenten die moeten worden doorgegeven aan het trainingsscript dat is opgegeven in entry_script.

node_count
Vereist
int

Het aantal knooppunten in het rekendoel dat wordt gebruikt voor training. Alleen het AmlCompute doel wordt ondersteund voor gedistribueerde training (node_count> 1).

process_count_per_node
Vereist
int

Wanneer u MPI gebruikt, wordt het aantal processen per knooppunt gebruikt.

worker_count
Vereist
int

Bij het gebruik van parameterserver voor gedistribueerde training, het aantal werkknooppunten.

VEROUDERD. Geef op als onderdeel van de distributed_training parameter.

parameter_server_count
Vereist
int

Wanneer u parameterserver gebruikt voor gedistribueerde training, is het aantal parameterserverknooppunten.

distributed_backend
Vereist
str

De communicatieback-end voor gedistribueerde training.

VEROUDERD. Gebruik de distributed_training parameter.

Ondersteunde waarden: 'mpi' en 'ps'. 'mpi' vertegenwoordigt MPI/Horovod en 'ps' vertegenwoordigt parameterserver.

Deze parameter is vereist wanneer een vannode_count, process_count_per_nodeof worker_countparameter_server_count> 1. In het geval van 'ps' moet de som van worker_count en parameter_server_count kleiner zijn dan of gelijk zijn aan node_count * (aantal CPU's of GPU's per knooppunt)

Wanneer node_count == 1 en process_count_per_node == 1, wordt er geen back-end gebruikt, tenzij de back-end expliciet is ingesteld. Alleen het AmlCompute doel wordt ondersteund voor gedistribueerde training.

distributed_training
Vereist

Parameters voor het uitvoeren van een gedistribueerde trainingstaak.

Als u een gedistribueerde taak wilt uitvoeren met de back-end van parameterserver, gebruikt u het ParameterServer object om op te geven worker_count en parameter_server_count. De som van de worker_count en de parameter_server_count parameters moet kleiner zijn dan of gelijk zijn aan node_count * (het aantal CPU's of GPU's per knooppunt).

Voor het uitvoeren van een gedistribueerde taak met MPI-back-end gebruikt u het Mpi object om op te geven process_count_per_node.

use_gpu
Vereist

Hiermee geeft u op of de omgeving voor het uitvoeren van het experiment GPU's moet ondersteunen. Indien waar, wordt een op GPU gebaseerde standaard docker-installatiekopieën gebruikt in de omgeving. Als dit onwaar is, wordt een op CPU gebaseerde installatiekopieën gebruikt. Standaard-Docker-installatiekopieën (CPU of GPU) worden alleen gebruikt als de custom_docker_image parameter niet is ingesteld. Deze instelling wordt alleen gebruikt in rekendoelen waarvoor Docker is ingeschakeld.

use_docker
Vereist

Hiermee geeft u op of de omgeving waarin het experiment moet worden uitgevoerd, docker moet zijn.

custom_docker_base_image
Vereist
str

De naam van de Docker-installatiekopie waaruit de installatiekopie voor training moet worden gebouwd.

VEROUDERD. Gebruik de custom_docker_image parameter.

Als deze niet is ingesteld, wordt een standaardinstallatiekopieën op basis van CPU gebruikt als basisinstallatiekopieën.

custom_docker_image
Vereist
str

De naam van de Docker-installatiekopie waaruit de installatiekopie voor training moet worden gebouwd. Als deze niet is ingesteld, wordt een standaardinstallatiekopieën op basis van CPU gebruikt als basisinstallatiekopieën.

image_registry_details
Vereist

De details van het Docker-installatiekopieënregister.

user_managed
Vereist

Hiermee geeft u op of Azure ML een bestaande Python-omgeving opnieuw gebruikt. Als dit onwaar is, maakt Azure ML een Python-omgeving op basis van de conda-afhankelijkhedenspecificatie.

conda_packages
Vereist

Een lijst met tekenreeksen die conda-pakketten vertegenwoordigen die moeten worden toegevoegd aan de Python-omgeving voor het experiment.

pip_packages
Vereist

Een lijst met tekenreeksen die pip-pakketten vertegenwoordigen die moeten worden toegevoegd aan de Python-omgeving voor het experiment.

conda_dependencies_file_path
Vereist
str

Een tekenreeks die het relatieve pad naar het yaml-bestand conda-afhankelijkheden aangeeft. Indien opgegeven, installeert Azure ML geen frameworkgerelateerde pakketten. VEROUDERD. Gebruik de conda_dependencies_file parameter.

pip_requirements_file_path
Vereist
str

Een tekenreeks die het relatieve pad naar het tekstbestand pip-vereisten aangeeft. Dit kan worden opgegeven in combinatie met de pip_packages parameter. VEROUDERD. Gebruik de pip_requirements_file parameter.

conda_dependencies_file
Vereist
str

Een tekenreeks die het relatieve pad naar het yaml-bestand conda-afhankelijkheden aangeeft. Indien opgegeven, installeert Azure ML geen frameworkgerelateerde pakketten.

pip_requirements_file
Vereist
str

Een tekenreeks die het relatieve pad naar het tekstbestand pip-vereisten aangeeft. Dit kan worden opgegeven in combinatie met de pip_packages parameter.

environment_variables
Vereist

Een woordenlijst met namen en waarden van omgevingsvariabelen. Deze omgevingsvariabelen worden ingesteld voor het proces waarin het gebruikersscript wordt uitgevoerd.

environment_definition
Vereist

De omgevingsdefinitie voor het experiment. Dit omvat PythonSection, DockerSection en omgevingsvariabelen. Elke omgevingsoptie die niet rechtstreeks via andere parameters aan de Estimator-constructie wordt blootgesteld, kan worden ingesteld met behulp van deze parameter. Als deze parameter is opgegeven, heeft deze voorrang op andere omgevingsgerelateerde parameters, zoals use_gpu, custom_docker_image, conda_packagesof pip_packages. Fouten worden gerapporteerd over deze ongeldige combinaties.

inputs
Vereist

Een lijst met DataReference objecten die DatasetConsumptionConfig als invoer moeten worden gebruikt.

source_directory_data_store
Vereist

Het back-upgegevensarchief voor projectshare.

shm_size
Vereist
str

De grootte van het gedeelde geheugenblok van de Docker-container. Als dit niet is ingesteld, wordt de standaard-azureml.core.environment._DEFAULT_SHM_SIZE gebruikt. Zie Docker run referentie voor meer informatie.

resume_from
Vereist

Het gegevenspad met het controlepunt of modelbestanden waaruit het experiment moet worden hervat.

max_run_duration_seconds
Vereist
int

De maximaal toegestane tijd voor de uitvoering. Azure ML probeert de uitvoering automatisch te annuleren als het langer duurt dan deze waarde.

framework_version
Vereist
str

De TensorFlow-versie die moet worden gebruikt voor het uitvoeren van trainingscode. Als er geen versie is opgegeven, wordt de estimator standaard ingesteld op de nieuwste versie die wordt ondersteund door Azure ML. Gebruik TensorFlow.get_supported_versions() dit om een lijst te retourneren om een lijst op te halen met alle versies die de huidige Azure ML SDK ondersteunen.

source_directory
Vereist
str

Een lokale map met experimentconfiguratiebestanden.

compute_target
Vereist

Het rekendoel waar de training plaatsvindt. Dit kan een object zijn of de tekenreeks 'lokaal'.

vm_size
Vereist
str

De VM-grootte van het rekendoel dat wordt gemaakt voor de training. Ondersteunde waarden: elke Azure-VM-grootte.

vm_priority
Vereist
str

De vm-prioriteit van het rekendoel dat wordt gemaakt voor de training. Als dit niet is opgegeven, wordt 'dedicated' gebruikt.

Ondersteunde waarden: 'dedicated' en 'lowpriority'.

Dit wordt alleen van kracht wanneer de vm_size param invoer is opgegeven.

entry_script
Vereist
str

Het relatieve pad naar het bestand met het trainingsscript.

script_params
Vereist

Een woordenlijst met opdrachtregelargumenten die moeten worden doorgegeven aan een trainingsscript dat is opgegeven in entry_script.

node_count
Vereist
int

Het aantal knooppunten in het rekendoel dat wordt gebruikt voor training. Alleen het AmlCompute doel wordt ondersteund voor gedistribueerde training (node_count> 1).

process_count_per_node
Vereist
int

Wanneer u MPI gebruikt, wordt het aantal processen per knooppunt gebruikt.

worker_count
Vereist
int

Wanneer u parameterserver gebruikt, is het aantal werkknooppunten.

VEROUDERD. Geef op als onderdeel van de distributed_training parameter.

parameter_server_count
Vereist
int

Wanneer u parameterserver gebruikt, is het aantal parameterserverknooppunten.

distributed_backend
Vereist
str

De communicatieback-end voor gedistribueerde training.

VEROUDERD. Gebruik de distributed_training parameter.

Ondersteunde waarden: 'mpi' en 'ps'. 'mpi' vertegenwoordigt MPI/Horovod en 'ps' vertegenwoordigt parameterserver.

Deze parameter is vereist wanneer een vannode_count, process_count_per_nodeof worker_countparameter_server_count> 1. In het geval van 'ps' moet de som van worker_count en parameter_server_count kleiner zijn dan of gelijk zijn aan node_count * (aantal CPU's of GPU's per knooppunt)

Wanneer node_count == 1 en process_count_per_node == 1, wordt er geen back-end gebruikt, tenzij de back-end expliciet is ingesteld. Alleen het AmlCompute doel wordt ondersteund voor gedistribueerde training. wordt ondersteund voor gedistribueerde training.

distributed_training
Vereist

Parameters voor het uitvoeren van een gedistribueerde trainingstaak.

Gebruik voor het uitvoeren van een gedistribueerde taak met de back-end ParameterServer parameterserver het object om op te geven worker_count en parameter_server_count. De som van de worker_count en de parameter_server_count parameters moet kleiner zijn dan of gelijk zijn aan node_count * (het aantal CPU's of GPU's per knooppunt).

Gebruik het object om op te geven Mpivoor het uitvoeren van een gedistribueerde taak met MPI-back-endprocess_count_per_node.

use_gpu
Vereist

Hiermee geeft u op of de omgeving voor het uitvoeren van het experiment GPU's moet ondersteunen. Indien waar, wordt een op GPU gebaseerde standaard Docker-installatiekopieën gebruikt in de omgeving. Als dit onwaar is, wordt een op CPU gebaseerde installatiekopieën gebruikt. Standaard docker-installatiekopieën (CPU of GPU) worden alleen gebruikt als custom_docker_image de parameter niet is ingesteld. Deze instelling wordt alleen gebruikt in rekendoelen waarvoor Docker is ingeschakeld.

use_docker
Vereist

Hiermee geeft u op of de omgeving waarin het experiment moet worden uitgevoerd, docker moet zijn.

custom_docker_base_image
Vereist
str

De naam van de Docker-installatiekopie waaruit de installatiekopie voor training moet worden gebouwd.

VEROUDERD. Gebruik de custom_docker_image parameter.

Als deze niet is ingesteld, wordt een standaardinstallatiekopieën op basis van CPU gebruikt als basisinstallatiekopieën.

custom_docker_image
Vereist
str

De naam van de Docker-installatiekopie waaruit de installatiekopie voor training moet worden gebouwd. Als deze niet is ingesteld, wordt een standaardinstallatiekopieën op basis van CPU gebruikt als basisinstallatiekopieën.

image_registry_details
Vereist

De details van het Docker-installatiekopieënregister.

user_managed
Vereist

Hiermee geeft u op of Azure ML een bestaande Python-omgeving opnieuw gebruikt. Als dit onwaar is, maakt Azure ML een Python-omgeving op basis van de conda-afhankelijkhedenspecificatie.

conda_packages
Vereist

Een lijst met tekenreeksen die conda-pakketten vertegenwoordigen die moeten worden toegevoegd aan de Python-omgeving voor het experiment.

pip_packages
Vereist

Een lijst met tekenreeksen die pip-pakketten vertegenwoordigen die moeten worden toegevoegd aan de Python-omgeving voor het experiment.

conda_dependencies_file_path
Vereist
str

Het relatieve pad naar het yaml-bestand van conda-afhankelijkheden. Indien opgegeven, installeert Azure ML geen frameworkgerelateerde pakketten. VEROUDERD. Gebruik de conda_dependencies_file parameter.

pip_requirements_file_path
Vereist
str

Het relatieve pad naar het tekstbestand met pip-vereisten. Dit kan worden opgegeven in combinatie met de pip_packages parameter. VEROUDERD. Gebruik de pip_requirements_file parameter.

environment_variables
Vereist

Een woordenlijst met namen en waarden van omgevingsvariabelen. Deze omgevingsvariabelen worden ingesteld voor het proces waarin het gebruikersscript wordt uitgevoerd.

conda_dependencies_file
Vereist
str

Een tekenreeks die het relatieve pad naar het yaml-bestand conda-afhankelijkheden aangeeft. Indien opgegeven, installeert Azure ML geen frameworkgerelateerde pakketten.

pip_requirements_file
Vereist
str

Het relatieve pad naar het tekstbestand met pip-vereisten. Dit kan worden opgegeven in combinatie met de pip_packages parameter.

environment_variables
Vereist

Een woordenlijst met namen en waarden van omgevingsvariabelen. Deze omgevingsvariabelen worden ingesteld voor het proces waarin het gebruikersscript wordt uitgevoerd.

environment_definition
Vereist

De omgevingsdefinitie voor het experiment. Dit omvat PythonSection, DockerSection en omgevingsvariabelen. Elke omgevingsoptie die niet rechtstreeks via andere parameters aan de Estimator-constructie wordt blootgesteld, kan worden ingesteld met behulp van deze parameter. Als deze parameter is opgegeven, heeft deze voorrang op andere omgevingsgerelateerde parameters, zoals use_gpu, custom_docker_image, conda_packagesof pip_packages. Fouten worden gerapporteerd over deze ongeldige combinaties.

inputs
Vereist

Een lijst met azureml.data.data_reference. DataReference-objecten die moeten worden gebruikt als invoer.

source_directory_data_store
Vereist
str

Het back-upgegevensarchief voor projectshare.

shm_size
Vereist

De grootte van het gedeelde geheugenblok van de Docker-container. Als deze niet is ingesteld, wordt de standaardwaarde azureml.core.environment._DEFAULT_SHM_SIZE. Zie voor meer informatie

framework_version
Vereist
str

De TensorFlow-versie die moet worden gebruikt voor het uitvoeren van trainingscode. Als er geen versie is opgegeven, wordt de estimator standaard ingesteld op de nieuwste versie die wordt ondersteund door Azure ML. Gebruik TensorFlow.get_supported_versions() om een lijst te retourneren om een lijst op te halen met alle versies die de huidige Azure ML SDK ondersteunen.

_enable_optimized_mode
Vereist

Schakel incrementele omgevingsbuild in met vooraf gebouwde frameworkinstallatiekopieën voor snellere voorbereiding van de omgeving. Een vooraf gebouwde frameworkinstallatiekopie is gebouwd op basis van azure ML-standaard-CPU/GPU-basisinstallatiekopieën met vooraf geïnstalleerde frameworkafhankelijkheden.

_disable_validation
Vereist

Schakel scriptvalidatie uit voordat het verzenden wordt uitgevoerd. De standaardwaarde is Waar.

_show_lint_warnings
Vereist

Waarschuwingen voor het linten van scripts weergeven. De standaardwaarde is Onwaar.

_show_package_warnings
Vereist

Pakketvalidatiewaarschuwingen weergeven. De standaardwaarde is Onwaar.

Opmerkingen

Wanneer u een trainingstaak verzendt, voert Azure ML uw script uit in een Conda-omgeving in een Docker-container. De TensorFlow-containers hebben de volgende afhankelijkheden geïnstalleerd.

Afhankelijkheden | 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 (alleen GPU-installatiekopie) | 9.0 | 10.0 | 10.0 | cuDNN (alleen GPU-installatiekopieën) | 7.6.3 | 7.6.3 | 7.6.3 | NCCL (alleen GPU-installatiekopieën) | 2.4.8 | 2.4.8 | 2.4.8 | azureml-defaults | Meest recente | Meest recente | Meest recente | azureml-dataset-runtime[fuse,pandas] | Meest recente | Meest recente | Meest 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 |

De v1 Docker-installatiekopieën breiden Ubuntu 16.04 uit. De v2 Docker-installatiekopieën breiden Ubuntu 18.04 uit.

Als u aanvullende afhankelijkheden wilt installeren, kunt u de pip_packages of conda_packages parameter gebruiken. U kunt ook de pip_requirements_file of conda_dependencies_file parameter opgeven. U kunt ook uw eigen installatiekopieën bouwen en de custom_docker_image parameter doorgeven aan de estimatorconstructor.

Zie voor meer informatie over Docker-containers die worden gebruikt in TensorFlow-training https://github.com/Azure/AzureML-Containers.

De TensorFlow-klasse ondersteunt twee methoden voor gedistribueerde training:

Zie de zelfstudie TensorFlow-modellen trainen en registreren op schaal met Azure Machine Learning voor voorbeelden en meer informatie over het gebruik van TensorFlow in gedistribueerde training.

Kenmerken

DEFAULT_VERSION

DEFAULT_VERSION = '1.13'

FRAMEWORK_NAME

FRAMEWORK_NAME = 'TensorFlow'