TensorFlow Klasse
Stellt einen Schätzer für das Training in TensorFlow-Experimenten dar.
VERALTET. Verwenden Sie das ScriptRunConfig-Objekt mit Ihrer eigenen definierten Umgebung oder eine der von Azure ML TensorFlow-Umgebungen zusammengestellten Umgebungen. Eine Einführung in die Konfiguration von TensorFlow-Experimentausführungen mit ScriptRunConfig finden Sie unter Trainieren von TensorFlow-Modellen im großen Stil mit Azure Machine Learning.
Unterstützte Versionen: 1.10, 1.12, 1.13, 2.0, 2.1, 2.2
Initialisieren Sie einen TensorFlow-Schätzer.
Docker-Ausführungsreferenz. :type shm_size: str :p aram resume_from: Der Datenpfad, der die Prüfpunkt- oder Modelldateien enthält, von denen aus das Experiment fortgesetzt werden soll. :type resume_from: azureml.data.datapath.DataPath :p aram max_run_duration_seconds: Die maximal zulässige Ausführungszeit. Azure ML versucht automatisch
Brechen Sie die Ausführung ab, wenn sie länger als dieser Wert dauert.
- Vererbung
-
azureml.train.estimator._framework_base_estimator._FrameworkBaseEstimatorTensorFlow
Konstruktor
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)
Parameter
Name | Beschreibung |
---|---|
source_directory
Erforderlich
|
Ein lokales Verzeichnis mit Konfigurationsdateien für Experimente. |
compute_target
Erforderlich
|
AbstractComputeTarget oder
str
Das Computeziel für das Training. Dies kann entweder ein Objekt oder die Zeichenfolge „local“ sein. |
vm_size
Erforderlich
|
Die VM-Größe des Computeziels, das für das Training erstellt wird. Unterstützte Werte: beliebige Azure-VM-Größen. |
vm_priority
Erforderlich
|
Die VM-Priorität des Computeziels, das für das Training erstellt wird. Wenn keine Angabe erfolgt, wird „dedicated“ verwendet. Unterstützte Werte: „dedicated“ und „lowpriority“. Wird nur angewandt, wenn |
entry_script
Erforderlich
|
Der relative Pfad zu der Datei, die das Trainingsskript enthält. |
script_params
Erforderlich
|
Ein Wörterbuch mit Befehlszeilenargumenten, die an das in |
node_count
Erforderlich
|
Die Anzahl der Knoten am Computeziel, die für das Training verwendet werden. Für das verteilte Training wird nur das Ziel AmlCompute unterstützt ( |
process_count_per_node
Erforderlich
|
Bei Verwendung von MPI die Anzahl der Prozesse pro Knoten. |
worker_count
Erforderlich
|
Bei Verwendung des Parameterservers für verteiltes Training die Anzahl der Workerknoten. VERALTET. Geben Sie als Teil des Parameters |
parameter_server_count
Erforderlich
|
Bei Verwendung des Parameterservers für verteiltes Training die Anzahl der Parameterserverknoten. |
distributed_backend
Erforderlich
|
Das Kommunikations-Back-End für das verteilte Training VERALTET. Verwenden Sie den Parameter Unterstützte Werte: „mpi“ und „ps“. „mpi“ steht für MPI/Horovod und „ps“ für Parameterserver. Dieser Parameter ist erforderlich, wenn einer von Wenn |
distributed_training
Erforderlich
|
ParameterServer oder
Mpi
Parameter zum Ausführen eines verteilten Trainingsauftrags Verwenden Sie zum Ausführen eines verteilten Auftrags mit dem Parameterserver-Back-End das ParameterServer-Objekt, um Verwenden Sie zum Ausführen eines verteilten Auftrags mit MPI-Back-End das Mpi-Objekt, um |
use_gpu
Erforderlich
|
Gibt an, ob die Umgebung, in der das Experiment ausgeführt werden soll, GPUs unterstützen soll.
„True“ gibt an, dass ein GPU-basiertes Docker-Standardimage in der Umgebung verwendet wird. Bei „False“ wird ein CPU-basiertes Image verwendet. Docker-Standardimages (CPU oder GPU) werden nur verwendet, wenn der |
use_docker
Erforderlich
|
Gibt an, ob die Umgebung, in der das Experiment ausgeführt werden soll, Docker-basiert sein soll. |
custom_docker_base_image
Erforderlich
|
Der Name des Docker-Images, mit dem das für das Training zu verwendende Image erstellt wird VERALTET. Verwenden Sie den Parameter Wenn diese Einstellung nicht festgelegt ist, wird als Basisimage ein CPU-basiertes Standardimage verwendet. |
custom_docker_image
Erforderlich
|
Der Name des Docker-Images, mit dem das für das Training zu verwendende Image erstellt wird. Wenn diese Einstellung nicht festgelegt ist, wird als Basisimage ein CPU-basiertes Standardimage verwendet. |
image_registry_details
Erforderlich
|
Die Details der Docker-Imageregistrierung |
user_managed
Erforderlich
|
Gibt an, ob Azure Machine Learning eine vorhandene Python-Umgebung wiederverwendet. Bei FALSE erstellt Azure Machine Learning eine Python-Umgebung basierend auf der Spezifikation der Conda-Abhängigkeiten. |
conda_packages
Erforderlich
|
Eine Liste von Zeichenfolgen, die Conda-Pakete darstellen, die der Python-Umgebung für das Experiment hinzugefügt werden sollen |
pip_packages
Erforderlich
|
Eine Liste von Zeichenfolgen, die pip-Pakete darstellen, die der Python-Umgebung für das Experiment hinzugefügt werden sollen |
conda_dependencies_file_path
Erforderlich
|
Eine Zeichenfolge, die den relativen Pfad zur YAML-Datei der Conda-Abhängigkeiten darstellt.
Falls angegeben, installiert Azure Machine Learning keine frameworkbezogenen Pakete.
VERALTET. Verwenden Sie den Parameter |
pip_requirements_file_path
Erforderlich
|
Eine Zeichenfolge, die den relativen Pfad zur Pip-Anforderungstextdatei darstellt.
Dieser kann in Kombination mit dem Parameter |
conda_dependencies_file
Erforderlich
|
Eine Zeichenfolge, die den relativen Pfad zur YAML-Datei der Conda-Abhängigkeiten darstellt. Falls angegeben, installiert Azure Machine Learning keine frameworkbezogenen Pakete. |
pip_requirements_file
Erforderlich
|
Eine Zeichenfolge, die den relativen Pfad zur Pip-Anforderungstextdatei darstellt.
Dieser kann in Kombination mit dem Parameter |
environment_variables
Erforderlich
|
Ein Wörterbuch mit Umgebungsvariablennamen und Werten. Diese Umgebungsvariablen werden für den Prozess festgelegt, in dem das Benutzerskript ausgeführt wird. |
environment_definition
Erforderlich
|
Die Umgebungsdefinition für das Experiment Sie enthält PythonSection, DockerSection und Umgebungsvariablen. Jede Umgebungsoption, die nicht direkt über andere Parameter für die Erstellung des Schätzers verfügbar gemacht wird, kann mit diesem Parameter festgelegt werden. Wenn dieser Parameter angegeben wird, hat er Vorrang vor anderen umgebungsbezogenen Parametern wie |
inputs
Erforderlich
|
Eine Liste von DataReference- oder DatasetConsumptionConfig-Objekten, die als Eingabe verwendet werden sollen |
source_directory_data_store
Erforderlich
|
Der Sicherungsdatenspeicher für die Projektfreigabe. |
shm_size
Erforderlich
|
Die Größe des freigegebenen Speicherblocks des Docker-Containers. Wenn diese Einstellung nicht festgelegt ist, wird die Standardgröße „azureml.core.environment._DEFAULT_SHM_SIZE“ verwendet. Weitere Informationen finden Sie in der Referenz zur Docker-Ausführung. |
resume_from
Erforderlich
|
Der Datenpfad, der die Prüfpunkt- oder Modelldateien enthält, aus denen das Experiment fortgesetzt werden soll |
max_run_duration_seconds
Erforderlich
|
Die maximal zulässige Zeit für die Ausführung Azure Machine Learning versucht, die Ausführung automatisch abzubrechen, wenn sie länger dauert als dieser Wert angibt. |
framework_version
Erforderlich
|
Die TensorFlow-Version, die zum Ausführen von Trainingscode verwendet werden soll.
Wenn keine Version angegeben wird, wird der Schätzer standardmäßig auf die neueste Version festgelegt, die von Azure ML unterstützt wird.
Verwenden Sie |
source_directory
Erforderlich
|
Ein lokales Verzeichnis mit Konfigurationsdateien für Experimente. |
compute_target
Erforderlich
|
AbstractComputeTarget oder
str
Das Computeziel für das Training. Dies kann entweder ein Objekt oder die Zeichenfolge „local“ sein. |
vm_size
Erforderlich
|
Die VM-Größe des Computeziels, das für das Training erstellt wird. Unterstützte Werte: beliebige Azure-VM-Größen. |
vm_priority
Erforderlich
|
Die VM-Priorität des Computeziels, das für das Training erstellt wird. Wenn keine Angabe erfolgt, wird „dedicated“ verwendet. Unterstützte Werte: „dedicated“ und „lowpriority“. Wird nur angewandt, wenn |
entry_script
Erforderlich
|
Der relative Pfad zu der Datei, die das Trainingsskript enthält. |
script_params
Erforderlich
|
Ein Wörterbuch mit Befehlszeilenargumenten, die an das in |
node_count
Erforderlich
|
Die Anzahl der Knoten am Computeziel, die für das Training verwendet werden. Für das verteilte Training wird nur das Ziel AmlCompute unterstützt ( |
process_count_per_node
Erforderlich
|
Bei Verwendung von MPI die Anzahl der Prozesse pro Knoten. |
worker_count
Erforderlich
|
Bei Verwendung von Parameter Server die Anzahl der Workerknoten. VERALTET. Geben Sie als Teil des Parameters |
parameter_server_count
Erforderlich
|
Bei Verwendung von Parameter Server die Anzahl der Parameterserverknoten. |
distributed_backend
Erforderlich
|
Das Kommunikations-Back-End für das verteilte Training VERALTET. Verwenden Sie den Parameter Unterstützte Werte: „mpi“ und „ps“. „mpi“ steht für MPI/Horovod und „ps“ für Parameterserver. Dieser Parameter ist erforderlich, wenn einer von Wenn |
distributed_training
Erforderlich
|
ParameterServer oder
Mpi
Parameter zum Ausführen eines verteilten Trainingsauftrags. Verwenden Sie ParameterServer zum Ausführen eines verteilten Auftrags mit dem Parameter Server-Back-End das -Objekt, um und Verwenden Sie zum Ausführen eines verteilten Auftrags mit MPI-Back-End das Mpi-Objekt, um |
use_gpu
Erforderlich
|
Gibt an, ob die Umgebung, in der das Experiment ausgeführt werden soll, GPUs unterstützen soll.
„True“ gibt an, dass ein GPU-basiertes Docker-Standardimage in der Umgebung verwendet wird. Bei „False“ wird ein CPU-basiertes Image verwendet. Standardmäßige Docker-Images (CPU oder GPU) werden nur verwendet, wenn |
use_docker
Erforderlich
|
Gibt an, ob die Umgebung, in der das Experiment ausgeführt werden soll, Docker-basiert sein soll. |
custom_docker_base_image
Erforderlich
|
Der Name des Docker-Images, mit dem das für das Training zu verwendende Image erstellt wird VERALTET. Verwenden Sie den Parameter Wenn diese Einstellung nicht festgelegt ist, wird als Basisimage ein CPU-basiertes Standardimage verwendet. |
custom_docker_image
Erforderlich
|
Der Name des Docker-Images, mit dem das für das Training zu verwendende Image erstellt wird. Wenn diese Einstellung nicht festgelegt ist, wird als Basisimage ein CPU-basiertes Standardimage verwendet. |
image_registry_details
Erforderlich
|
Die Details der Docker-Imageregistrierung |
user_managed
Erforderlich
|
Gibt an, ob Azure Machine Learning eine vorhandene Python-Umgebung wiederverwendet. Bei FALSE erstellt Azure Machine Learning eine Python-Umgebung basierend auf der Spezifikation der Conda-Abhängigkeiten. |
conda_packages
Erforderlich
|
Eine Liste von Zeichenfolgen, die Conda-Pakete darstellen, die der Python-Umgebung für das Experiment hinzugefügt werden sollen |
pip_packages
Erforderlich
|
Eine Liste von Zeichenfolgen, die pip-Pakete darstellen, die der Python-Umgebung für das Experiment hinzugefügt werden sollen |
conda_dependencies_file_path
Erforderlich
|
Der relative Pfad zur YAML-Datei mit den Conda-Abhängigkeiten. Falls angegeben, installiert Azure Machine Learning keine frameworkbezogenen Pakete.
VERALTET. Verwenden Sie den Parameter |
pip_requirements_file_path
Erforderlich
|
Der relative Pfad zur Textdatei mit den pip-Anforderungen.
Dieser kann in Kombination mit dem Parameter |
environment_variables
Erforderlich
|
Ein Wörterbuch mit Umgebungsvariablennamen und Werten. Diese Umgebungsvariablen werden für den Prozess festgelegt, in dem das Benutzerskript ausgeführt wird. |
conda_dependencies_file
Erforderlich
|
Eine Zeichenfolge, die den relativen Pfad zur YAML-Datei der Conda-Abhängigkeiten darstellt. Falls angegeben, installiert Azure Machine Learning keine frameworkbezogenen Pakete. |
pip_requirements_file
Erforderlich
|
Der relative Pfad zur Textdatei mit den pip-Anforderungen.
Dieser kann in Kombination mit dem Parameter |
environment_variables
Erforderlich
|
Ein Wörterbuch mit Umgebungsvariablennamen und Werten. Diese Umgebungsvariablen werden für den Prozess festgelegt, in dem das Benutzerskript ausgeführt wird. |
environment_definition
Erforderlich
|
Die Umgebungsdefinition für das Experiment Sie enthält PythonSection, DockerSection und Umgebungsvariablen. Jede Umgebungsoption, die nicht direkt über andere Parameter für die Erstellung des Schätzers verfügbar gemacht wird, kann mit diesem Parameter festgelegt werden. Wenn dieser Parameter angegeben wird, hat er Vorrang vor anderen umgebungsbezogenen Parametern wie |
inputs
Erforderlich
|
Eine Liste der azureml.data.data_reference. DataReference-Objekte, die als Eingabe verwendet werden sollen. |
source_directory_data_store
Erforderlich
|
Der Sicherungsdatenspeicher für die Projektfreigabe. |
shm_size
Erforderlich
|
Die Größe des freigegebenen Speicherblocks des Docker-Containers. Wenn nicht festgelegt, ist der Standardwert azureml.core.environment._DEFAULT_SHM_SIZE. Weitere Informationen finden Sie unter |
framework_version
Erforderlich
|
Die TensorFlow-Version, die zum Ausführen von Trainingscode verwendet werden soll. Wenn keine Version angegeben wird, wird der Schätzer standardmäßig auf die neueste Version festgelegt, die von Azure ML unterstützt wird. Verwenden Sie TensorFlow.get_supported_versions(), um eine Liste zurückzugeben, um eine Liste aller Versionen abzurufen, die das aktuelle Azure ML SDK unterstützt. |
_enable_optimized_mode
Erforderlich
|
Aktivieren Sie den inkrementellen Umgebungsbuild mit vordefinierten Frameworkimages für eine schnellere Umgebungsvorbereitung. Ein vordefiniertes Frameworkimage basiert auf azure ML-Standard-CPU-/GPU-Basisimages mit vorinstallierten Frameworkabhängigkeiten. |
_disable_validation
Erforderlich
|
Deaktivieren Sie die Skriptüberprüfung vor der Übermittlung. Der Standardwert ist True. |
_show_lint_warnings
Erforderlich
|
Anzeigen von Skript-Lintingwarnungen. Die Standardeinstellung lautet „false“. |
_show_package_warnings
Erforderlich
|
Paketvalidierungswarnungen anzeigen. Die Standardeinstellung lautet „false“. |
Hinweise
Beim Übermitteln eines Trainingsauftrags führt Azure Machine Learning Ihr Skript in einer Conda-Umgebung innerhalb eines Docker-Containers aus. Auf den TensorFlow-Containern sind die folgenden Abhängigkeiten installiert.
Abhängigkeiten | 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 (nur GPU-Image) | 9.0 | 10.0 | 10.0 | cuDNN (nur GPU-Image) | 7.6.3 | 7.6.3 | 7.6.3 | NCCL (nur GPU-Image) | 2.4.8 | 2.4.8 | 2.4.8 | azureml-defaults | Neueste | Neueste | Neueste | azureml-dataset-runtime[fuse,pandas] | Neueste | Neueste | Neueste | 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 |
Die Docker-Images der Version 1 erweitern Ubuntu 16.04. Die Docker-Images der Version 2 erweitern Ubuntu 18.04.
Um zusätzliche Abhängigkeiten zu installieren, können Sie entweder den Parameter pip_packages
oder den Parameter conda_packages
verwenden. Sie können auch den Parameter pip_requirements_file
oder conda_dependencies_file
angeben.
Alternativ können Sie ein eigenes Image erstellen und den Parameter custom_docker_image
an den Schätzerkonstruktor übergeben.
Weitere Informationen zu Docker-Containern, die im TensorFlow-Training verwendet werden, finden Sie unter https://github.com/Azure/AzureML-Containers.
Die TensorFlow-Klasse unterstützt zwei Methoden des verteilten Trainings:
MPI-basiertesverteiltes Training mit dem
Horovod-Framework
Natives verteiltes TensorFlow
Beispiele und weitere Informationen zur Verwendung von TensorFlow im verteilten Training finden Sie im Tutorial Trainieren und Registrieren von TensorFlow-Modellen im großen Stil mit Azure Machine Learning.
Attribute
DEFAULT_VERSION
DEFAULT_VERSION = '1.13'
FRAMEWORK_NAME
FRAMEWORK_NAME = 'TensorFlow'