TensorFlow Klas
Vertegenwoordigt een estimator voor training in TensorFlow-experimenten.
AFGEKEURD. Gebruik het ScriptRunConfig object met uw eigen gedefinieerde omgeving of een van de gecureerde Azure ML TensorFlow-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.
Docker-uitvoeringsreferentie. :type shm_size: str :p aram resume_from: het gegevenspad met de controlepunt- of modelbestanden van waaruit het experiment moet worden hervat. :type resume_from: azureml.data.datapath.DataPath :p aram max_run_duration_seconds: De maximaal toegestane tijd voor de uitvoering. Azure ML probeert dit automatisch te doen
de uitvoering annuleren als deze langer duurt dan deze waarde.
- Overname
-
azureml.train.estimator._framework_base_estimator._FrameworkBaseEstimatorTensorFlow
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
- compute_target
- AbstractComputeTarget of str
Het rekendoel waar de training plaatsvindt. Dit kan een object of de tekenreeks 'lokaal' zijn.
- vm_size
- str
De VM-grootte van het rekendoel dat voor de training wordt gemaakt. Ondersteunde waarden: elke grootte van azure-VM's.
- vm_priority
- str
De VM-prioriteit van het rekendoel dat voor de training wordt gemaakt. Als dit niet is opgegeven, wordt 'dedicated' gebruikt.
Ondersteunde waarden:'dedicated' en 'lowpriority'.
Dit wordt alleen van kracht wanneer de vm_size param
is opgegeven in de invoer.
- script_params
- dict
Een woordenlijst met opdrachtregelargumenten die moeten worden doorgegeven aan het trainingsscript dat is opgegeven in entry_script
.
- node_count
- int
Het aantal knooppunten in het rekendoel dat voor de training wordt gebruikt. Alleen het AmlCompute doel wordt ondersteund voor gedistribueerde training (node_count
> 1).
- worker_count
- int
Wanneer u parameterserver gebruikt voor gedistribueerde training, het aantal werkknooppunten.
AFGEKEURD. Geef op als onderdeel van de distributed_training
parameter.
- parameter_server_count
- int
Wanneer u parameterserver gebruikt voor gedistribueerde training, het aantal parameterserverknooppunten.
- distributed_backend
- str
De communicatie-back-end voor gedistribueerde training.
AFGEKEURD. Gebruik de distributed_training
parameter .
Ondersteunde waarden: 'mpi' en 'ps'. 'mpi' staat voor MPI/Horovod en 'ps' voor Parameter Server.
Deze parameter is vereist wanneer een van node_count
, process_count_per_node
, worker_count
of parameter_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
- ParameterServer of Mpi
Parameters voor het uitvoeren van een gedistribueerde trainingstaak.
Voor het uitvoeren van een gedistribueerde taak met parameterserverback-end gebruikt u het ParameterServer -object om en parameter_server_count
op te gevenworker_count
.
De som van de worker_count
parameter_server_count
parameters en moet kleiner 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
- bool
Hiermee geeft u op of de omgeving om het experiment uit te voeren GPU's moet ondersteunen.
Als dit waar is, wordt in de omgeving een standaard docker-installatiekopieën op basis van gpu gebruikt. Als 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 Docker-rekendoelen.
- use_docker
- bool
Hiermee geeft u op of de omgeving waarin het experiment moet worden uitgevoerd docker-gebaseerd moet zijn.
- custom_docker_base_image
- str
De naam van de Docker-installatiekopieën van waaruit de installatiekopieën voor training worden gemaakt.
AFGEKEURD. Gebruik de custom_docker_image
parameter .
Als dit niet is ingesteld, wordt een standaard-CPU-installatiekopieën gebruikt als basisinstallatiekopieën.
- custom_docker_image
- str
De naam van de Docker-installatiekopieën van waaruit de installatiekopieën voor training worden gemaakt. Als dit niet is ingesteld, wordt een standaard-CPU-installatiekopieën gebruikt als basisinstallatiekopieën.
- image_registry_details
- ContainerRegistry
De details van het register van de Docker-installatiekopieën.
- user_managed
- bool
Hiermee geeft u op of Azure ML een bestaande Python-omgeving opnieuw gebruikt. Indien onwaar, maakt Azure ML een Python-omgeving op basis van de specificatie conda-afhankelijkheden.
- conda_packages
- list
Een lijst met tekenreeksen die conda-pakketten vertegenwoordigen die moeten worden toegevoegd aan de Python-omgeving voor het experiment.
- pip_packages
- list
Een lijst met tekenreeksen die pip-pakketten vertegenwoordigen die moeten worden toegevoegd aan de Python-omgeving voor het experiment.
- conda_dependencies_file_path
- str
Een tekenreeks die het relatieve pad naar het yaml-bestand conda-afhankelijkheden vertegenwoordigt.
Indien opgegeven, installeert Azure ML geen framework-gerelateerde pakketten.
AFGEKEURD. Gebruik de conda_dependencies_file
parameter .
- pip_requirements_file_path
- str
Een tekenreeks die het relatieve pad naar het tekstbestand pip-vereisten vertegenwoordigt.
Dit kan worden opgegeven in combinatie met de pip_packages
parameter .
AFGEKEURD. Gebruik de pip_requirements_file
parameter .
- conda_dependencies_file
- str
Een tekenreeks die het relatieve pad naar het yaml-bestand conda-afhankelijkheden vertegenwoordigt. Indien opgegeven, installeert Azure ML geen framework-gerelateerde pakketten.
- pip_requirements_file
- str
Een tekenreeks die het relatieve pad naar het tekstbestand pip-vereisten vertegenwoordigt.
Dit kan worden opgegeven in combinatie met de pip_packages
parameter .
- environment_variables
- dict
Een woordenlijst met namen en waarden van omgevingsvariabelen. Deze omgevingsvariabelen worden ingesteld voor het proces waarin het gebruikersscript wordt uitgevoerd.
- environment_definition
- Environment
De omgevingsdefinitie voor het experiment. Het omvat PythonSection, DockerSection en omgevingsvariabelen. Elke omgevingsoptie die niet rechtstreeks via andere parameters aan de Estimator-constructie wordt weergegeven, 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_packages
of pip_packages
.
Fouten worden gerapporteerd voor deze ongeldige combinaties.
- inputs
- list
Een lijst met DataReferenceDatasetConsumptionConfig of-objecten die als invoer moeten worden gebruikt.
- shm_size
- 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 Naslaginformatie over Docker-uitvoering voor meer informatie.
- resume_from
- DataPath
Het gegevenspad met het controlepunt of de modelbestanden van waaruit het experiment moet worden hervat.
- max_run_duration_seconds
- int
De maximaal toegestane tijd voor de uitvoering. Azure ML probeert de uitvoering automatisch te annuleren als deze langer duurt dan deze waarde.
- framework_version
- str
De TensorFlow-versie die moet worden gebruikt voor het uitvoeren van trainingscode.
Als er geen versie wordt 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.
- compute_target
- AbstractComputeTarget of str
Het rekendoel waar de training plaatsvindt. Dit kan een object of de tekenreeks 'lokaal' zijn.
- vm_size
- str
De VM-grootte van het rekendoel dat voor de training wordt gemaakt. Ondersteunde waarden: elke grootte van azure-VM's.
- vm_priority
- str
De VM-prioriteit van het rekendoel dat voor de training wordt gemaakt. Als dit niet is opgegeven, wordt 'dedicated' gebruikt.
Ondersteunde waarden:'dedicated' en 'lowpriority'.
Dit wordt alleen van kracht wanneer de vm_size param
is opgegeven in de invoer.
- script_params
- dict
Een woordenlijst met opdrachtregelargumenten die moeten worden doorgegeven aan het trainingsscript dat is opgegeven in entry_script
.
- node_count
- int
Het aantal knooppunten in het rekendoel dat voor de training wordt gebruikt. Alleen het AmlCompute doel wordt ondersteund voor gedistribueerde training (node_count
> 1).
- worker_count
- int
Wanneer u parameterserver gebruikt, het aantal werkknooppunten.
AFGEKEURD. Geef op als onderdeel van de distributed_training
parameter.
- parameter_server_count
- int
Wanneer u parameterserver gebruikt, het aantal parameterserverknooppunten.
- distributed_backend
- str
De communicatie-back-end voor gedistribueerde training.
AFGEKEURD. Gebruik de distributed_training
parameter .
Ondersteunde waarden: 'mpi' en 'ps'. 'mpi' staat voor MPI/Horovod en 'ps' voor Parameter Server.
Deze parameter is vereist wanneer een van node_count
, process_count_per_node
, worker_count
of parameter_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
- ParameterServer of Mpi
Parameters voor het uitvoeren van een gedistribueerde trainingstaak.
Voor het uitvoeren van een gedistribueerde taak met de parameterserverback-end gebruikt ParameterServer u object om en parameter_server_count
op te gevenworker_count
.
De som van de worker_count
parameter_server_count
parameters en moet kleiner 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 Mpi u object om op te geven process_count_per_node
.
- use_gpu
- bool
Hiermee geeft u op of de omgeving om het experiment uit te voeren GPU's moet ondersteunen.
Als dit waar is, wordt in de omgeving een standaard Docker-installatiekopieën op basis van een GPU gebruikt. Als 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 Docker-rekendoelen.
- use_docker
- bool
Hiermee geeft u op of de omgeving waarin het experiment moet worden uitgevoerd docker-gebaseerd moet zijn.
- custom_docker_base_image
- str
De naam van de Docker-installatiekopieën van waaruit de installatiekopieën voor training worden gemaakt.
AFGEKEURD. Gebruik de custom_docker_image
parameter .
Als dit niet is ingesteld, wordt een standaard-CPU-installatiekopieën gebruikt als basisinstallatiekopieën.
- custom_docker_image
- str
De naam van de Docker-installatiekopieën van waaruit de installatiekopieën voor training worden gemaakt. Als dit niet is ingesteld, wordt een standaard-CPU-installatiekopieën gebruikt als basisinstallatiekopieën.
- image_registry_details
- ContainerRegistry
De details van het register van de Docker-installatiekopieën.
- user_managed
- bool
Hiermee geeft u op of Azure ML een bestaande Python-omgeving opnieuw gebruikt. Indien onwaar, maakt Azure ML een Python-omgeving op basis van de specificatie conda-afhankelijkheden.
- conda_packages
- list
Een lijst met tekenreeksen die conda-pakketten vertegenwoordigen die moeten worden toegevoegd aan de Python-omgeving voor het experiment.
- pip_packages
- list
Een lijst met tekenreeksen die pip-pakketten vertegenwoordigen die moeten worden toegevoegd aan de Python-omgeving voor het experiment.
- conda_dependencies_file_path
- str
Het relatieve pad naar het yaml-bestand conda-afhankelijkheden. Indien opgegeven, installeert Azure ML geen framework-gerelateerde pakketten.
AFGEKEURD. Gebruik de conda_dependencies_file
parameter .
- pip_requirements_file_path
- str
Het relatieve pad naar het tekstbestand pip-vereisten.
Dit kan worden opgegeven in combinatie met de pip_packages
parameter .
AFGEKEURD. Gebruik de pip_requirements_file
parameter .
- environment_variables
- dict
Een woordenlijst met namen en waarden van omgevingsvariabelen. Deze omgevingsvariabelen worden ingesteld voor het proces waarin het gebruikersscript wordt uitgevoerd.
- conda_dependencies_file
- str
Een tekenreeks die het relatieve pad naar het yaml-bestand conda-afhankelijkheden vertegenwoordigt. Indien opgegeven, installeert Azure ML geen framework-gerelateerde pakketten.
- pip_requirements_file
- str
Het relatieve pad naar het tekstbestand pip-vereisten.
Dit kan worden opgegeven in combinatie met de pip_packages
parameter .
- environment_variables
Een woordenlijst met namen en waarden van omgevingsvariabelen. Deze omgevingsvariabelen worden ingesteld voor het proces waarin het gebruikersscript wordt uitgevoerd.
- environment_definition
- Environment
De omgevingsdefinitie voor het experiment. Het omvat PythonSection, DockerSection en omgevingsvariabelen. Elke omgevingsoptie die niet rechtstreeks via andere parameters aan de Estimator-constructie wordt weergegeven, 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_packages
of pip_packages
.
Fouten worden gerapporteerd voor deze ongeldige combinaties.
- inputs
- list
Een lijst met azureml.data.data_reference. DataReference-objecten die als invoer moeten worden gebruikt.
- shm_size
De grootte van het gedeelde geheugenblok van de Docker-container. Als dit niet is ingesteld, wordt de standaardwaarde azureml.core.environment._DEFAULT_SHM_SIZE. Zie voor meer informatie
- framework_version
- str
De TensorFlow-versie die moet worden gebruikt voor het uitvoeren van trainingscode. Als er geen versie wordt 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
- bool
Incrementele omgevingsbuild inschakelen met vooraf gebouwde frameworkinstallatiekopieën voor een snellere voorbereiding van de omgeving. Een vooraf gebouwde frameworkinstallatiekopieën zijn gebouwd op basisinstallatiekopieën van Azure ML met standaard CPU-/GPU-basisinstallatiekopieën met vooraf geïnstalleerde frameworkafhankelijkheden.
- _disable_validation
- bool
Schakel scriptvalidatie uit voordat u de verzending uitvoert. De standaardwaarde is True.
- _show_lint_warnings
- bool
Waarschuwingen voor linting van scripts weergeven. De standaardwaarde is False.
- _show_package_warnings
- bool
Waarschuwingen voor pakketvalidatie weergeven. De standaardwaarde is False.
Opmerkingen
Wanneer u een trainingstaak indient, voert Azure ML uw script uit in een Conda-omgeving binnen een Docker-container. Voor de TensorFlow-containers zijn 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
parameter of conda_packages
gebruiken. U kunt ook de pip_requirements_file
parameter of conda_dependencies_file
opgeven.
U kunt ook uw eigen installatiekopieën bouwen en de custom_docker_image
parameter doorgeven aan de estimator-constructor.
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:
Gedistribueerde training op basis van MPI met behulp van de
Systeemeigen gedistribueerde TensorFlow
Zie de zelfstudie TensorFlow-modellen op schaal trainen en registreren 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'
Feedback
https://aka.ms/ContentUserFeedback.
Binnenkort beschikbaar: In de loop van 2024 zullen we GitHub-problemen geleidelijk uitfaseren als het feedbackmechanisme voor inhoud en deze vervangen door een nieuw feedbacksysteem. Zie voor meer informatie:Feedback verzenden en weergeven voor