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
- source_directory
- str
Ein lokales Verzeichnis mit Konfigurationsdateien für Experimente.
- compute_target
- AbstractComputeTarget oder str
Das Computeziel für das Training. Dies kann entweder ein Objekt oder die Zeichenfolge „local“ sein.
- vm_size
- str
Die VM-Größe des Computeziels, das für das Training erstellt wird. Unterstützte Werte: beliebige Azure-VM-Größen.
- vm_priority
- str
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 vm_size param
in der Eingabe angegeben wird.
- script_params
- dict
Ein Wörterbuch mit Befehlszeilenargumenten, die an das in entry_script
angegebene Trainingsskript übergeben werden.
- node_count
- int
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 (node_count
> 1).
- worker_count
- int
Bei Verwendung des Parameterservers für verteiltes Training die Anzahl der Workerknoten.
VERALTET. Geben Sie als Teil des Parameters distributed_training
an.
- parameter_server_count
- int
Bei Verwendung des Parameterservers für verteiltes Training die Anzahl der Parameterserverknoten.
- distributed_backend
- str
Das Kommunikations-Back-End für das verteilte Training
VERALTET. Verwenden Sie den Parameter distributed_training
.
Unterstützte Werte: „mpi“ und „ps“. „mpi“ steht für MPI/Horovod und „ps“ für Parameterserver.
Dieser Parameter ist erforderlich, wenn einer von node_count
, worker_count
process_count_per_node
, oder parameter_server_count
> 1 ist.
Im Fall von „ps“ sollte die Summe von worker_count
und parameter_server_count
kleiner oder gleich node_count
* (Anzahl von CPUs oder GPUs pro Knoten) sein.
Wenn node_count
== 1 und process_count_per_node
== 1 ist, wird nur dann ein Back-End verwendet, wenn es explizit festgelegt wird. Für das verteilte Training wird nur das Ziel AmlCompute unterstützt.
- distributed_training
- 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 worker_count
und parameter_server_count
anzugeben.
Die Summe der Parameter worker_count
und parameter_server_count
sollte kleiner oder gleich node_count
* (die Anzahl von CPUs oder GPUs pro Knoten) sein.
Verwenden Sie zum Ausführen eines verteilten Auftrags mit MPI-Back-End das Mpi-Objekt, um process_count_per_node
anzugeben.
- use_gpu
- bool
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 custom_docker_image
-Parameter nicht festgelegt ist. Diese Einstellung wird nur bei Docker-fähigen Computezielen verwendet.
- use_docker
- bool
Gibt an, ob die Umgebung, in der das Experiment ausgeführt werden soll, Docker-basiert sein soll.
- custom_docker_base_image
- str
Der Name des Docker-Images, mit dem das für das Training zu verwendende Image erstellt wird
VERALTET. Verwenden Sie den Parameter custom_docker_image
.
Wenn diese Einstellung nicht festgelegt ist, wird als Basisimage ein CPU-basiertes Standardimage verwendet.
- custom_docker_image
- str
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.
- user_managed
- bool
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
- list
Eine Liste von Zeichenfolgen, die Conda-Pakete darstellen, die der Python-Umgebung für das Experiment hinzugefügt werden sollen
- pip_packages
- list
Eine Liste von Zeichenfolgen, die pip-Pakete darstellen, die der Python-Umgebung für das Experiment hinzugefügt werden sollen
- conda_dependencies_file_path
- str
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 conda_dependencies_file
.
- pip_requirements_file_path
- str
Eine Zeichenfolge, die den relativen Pfad zur Pip-Anforderungstextdatei darstellt.
Dieser kann in Kombination mit dem Parameter pip_packages
bereitgestellt werden.
VERALTET. Verwenden Sie den Parameter pip_requirements_file
.
- conda_dependencies_file
- str
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
- str
Eine Zeichenfolge, die den relativen Pfad zur Pip-Anforderungstextdatei darstellt.
Dieser kann in Kombination mit dem Parameter pip_packages
bereitgestellt werden.
- environment_variables
- dict
Ein Wörterbuch mit Umgebungsvariablennamen und Werten. Diese Umgebungsvariablen werden für den Prozess festgelegt, in dem das Benutzerskript ausgeführt wird.
- environment_definition
- Environment
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 use_gpu
, custom_docker_image
, conda_packages
oder pip_packages
.
Für diese ungültigen Kombinationen werden Fehler gemeldet.
- inputs
- list
Eine Liste von DataReference- oder DatasetConsumptionConfig-Objekten, die als Eingabe verwendet werden sollen
- source_directory_data_store
- Datastore
Der Sicherungsdatenspeicher für die Projektfreigabe.
- shm_size
- str
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
- DataPath
Der Datenpfad, der die Prüfpunkt- oder Modelldateien enthält, aus denen das Experiment fortgesetzt werden soll
- max_run_duration_seconds
- int
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
- str
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ück zu geben, um eine Liste aller Versionen zu erhalten, die vom aktuellen Azure ML SDK unterstützt werden.
- source_directory
- str
Ein lokales Verzeichnis mit Konfigurationsdateien für Experimente.
- compute_target
- AbstractComputeTarget oder str
Das Computeziel für das Training. Dies kann entweder ein Objekt oder die Zeichenfolge „local“ sein.
- vm_size
- str
Die VM-Größe des Computeziels, das für das Training erstellt wird. Unterstützte Werte: beliebige Azure-VM-Größen.
- vm_priority
- str
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 vm_size param
in der Eingabe angegeben wird.
- script_params
- dict
Ein Wörterbuch mit Befehlszeilenargumenten, die an das in entry_script
angegebene tne-Trainingsskript übergeben werden sollen.
- node_count
- int
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 (node_count
> 1).
- worker_count
- int
Bei Verwendung von Parameter Server die Anzahl der Workerknoten.
VERALTET. Geben Sie als Teil des Parameters distributed_training
an.
- parameter_server_count
- int
Bei Verwendung von Parameter Server die Anzahl der Parameterserverknoten.
- distributed_backend
- str
Das Kommunikations-Back-End für das verteilte Training
VERALTET. Verwenden Sie den Parameter distributed_training
.
Unterstützte Werte: „mpi“ und „ps“. „mpi“ steht für MPI/Horovod und „ps“ für Parameterserver.
Dieser Parameter ist erforderlich, wenn einer von node_count
, worker_count
process_count_per_node
, oder parameter_server_count
> 1 ist.
Im Fall von „ps“ sollte die Summe von worker_count
und parameter_server_count
kleiner oder gleich node_count
* (Anzahl von CPUs oder GPUs pro Knoten) sein.
Wenn node_count
== 1 und process_count_per_node
== 1 ist, wird nur dann ein Back-End verwendet, wenn es explizit festgelegt wird. Für das verteilte Training wird nur das Ziel AmlCompute unterstützt.
wird für verteilte Schulungen unterstützt.
- distributed_training
- 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 parameter_server_count
anzugebenworker_count
.
Die Summe der Parameter worker_count
und parameter_server_count
sollte kleiner oder gleich node_count
* (die Anzahl von CPUs oder GPUs pro Knoten) sein.
Verwenden Sie zum Ausführen eines verteilten Auftrags mit MPI-Back-End das Mpi-Objekt, um process_count_per_node
anzugeben.
- use_gpu
- bool
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 custom_docker_image
der Parameter nicht festgelegt ist. Diese Einstellung wird nur bei Docker-fähigen Computezielen verwendet.
- use_docker
- bool
Gibt an, ob die Umgebung, in der das Experiment ausgeführt werden soll, Docker-basiert sein soll.
- custom_docker_base_image
- str
Der Name des Docker-Images, mit dem das für das Training zu verwendende Image erstellt wird
VERALTET. Verwenden Sie den Parameter custom_docker_image
.
Wenn diese Einstellung nicht festgelegt ist, wird als Basisimage ein CPU-basiertes Standardimage verwendet.
- custom_docker_image
- str
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.
- user_managed
- bool
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
- list
Eine Liste von Zeichenfolgen, die Conda-Pakete darstellen, die der Python-Umgebung für das Experiment hinzugefügt werden sollen
- pip_packages
- list
Eine Liste von Zeichenfolgen, die pip-Pakete darstellen, die der Python-Umgebung für das Experiment hinzugefügt werden sollen
- conda_dependencies_file_path
- str
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 conda_dependencies_file
.
- pip_requirements_file_path
- str
Der relative Pfad zur Textdatei mit den pip-Anforderungen.
Dieser kann in Kombination mit dem Parameter pip_packages
bereitgestellt werden.
VERALTET. Verwenden Sie den Parameter pip_requirements_file
.
- environment_variables
- dict
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
- str
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
- str
Der relative Pfad zur Textdatei mit den pip-Anforderungen.
Dieser kann in Kombination mit dem Parameter pip_packages
bereitgestellt werden.
- environment_variables
Ein Wörterbuch mit Umgebungsvariablennamen und Werten. Diese Umgebungsvariablen werden für den Prozess festgelegt, in dem das Benutzerskript ausgeführt wird.
- environment_definition
- Environment
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 use_gpu
, custom_docker_image
, conda_packages
oder pip_packages
.
Für diese ungültigen Kombinationen werden Fehler gemeldet.
- inputs
- list
Eine Liste der azureml.data.data_reference. DataReference-Objekte, die als Eingabe verwendet werden sollen.
- shm_size
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
- str
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
- bool
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
- bool
Deaktivieren Sie die Skriptüberprüfung vor der Übermittlung. Der Standardwert ist True.
- _show_lint_warnings
- bool
Anzeigen von Skript-Lintingwarnungen. Die Standardeinstellung lautet „false“.
- _show_package_warnings
- bool
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'
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für