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._FrameworkBaseEstimator
TensorFlow

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
Erforderlich

Ein lokales Verzeichnis mit Konfigurationsdateien für Experimente.

compute_target
AbstractComputeTarget oder str
Erforderlich

Das Computeziel für das Training. Dies kann entweder ein Objekt oder die Zeichenfolge „local“ sein.

vm_size
str
Erforderlich

Die VM-Größe des Computeziels, das für das Training erstellt wird. Unterstützte Werte: beliebige Azure-VM-Größen.

vm_priority
str
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 vm_size param in der Eingabe angegeben wird.

entry_script
str
Erforderlich

Der relative Pfad zu der Datei, die das Trainingsskript enthält.

script_params
dict
Erforderlich

Ein Wörterbuch mit Befehlszeilenargumenten, die an das in entry_script angegebene Trainingsskript übergeben werden.

node_count
int
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 (node_count> 1).

process_count_per_node
int
Erforderlich

Bei Verwendung von MPI die Anzahl der Prozesse pro Knoten.

worker_count
int
Erforderlich

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
Erforderlich

Bei Verwendung des Parameterservers für verteiltes Training die Anzahl der Parameterserverknoten.

distributed_backend
str
Erforderlich

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_countprocess_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
Erforderlich

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
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 custom_docker_image-Parameter nicht festgelegt ist. Diese Einstellung wird nur bei Docker-fähigen Computezielen verwendet.

use_docker
bool
Erforderlich

Gibt an, ob die Umgebung, in der das Experiment ausgeführt werden soll, Docker-basiert sein soll.

custom_docker_base_image
str
Erforderlich

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
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
ContainerRegistry
Erforderlich

Die Details der Docker-Imageregistrierung

user_managed
bool
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
list
Erforderlich

Eine Liste von Zeichenfolgen, die Conda-Pakete darstellen, die der Python-Umgebung für das Experiment hinzugefügt werden sollen

pip_packages
list
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
str
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 conda_dependencies_file.

pip_requirements_file_path
str
Erforderlich

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
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
str
Erforderlich

Eine Zeichenfolge, die den relativen Pfad zur Pip-Anforderungstextdatei darstellt. Dieser kann in Kombination mit dem Parameter pip_packages bereitgestellt werden.

environment_variables
dict
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
Environment
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 use_gpu, custom_docker_image, conda_packages oder pip_packages. Für diese ungültigen Kombinationen werden Fehler gemeldet.

inputs
list
Erforderlich

Eine Liste von DataReference- oder DatasetConsumptionConfig-Objekten, die als Eingabe verwendet werden sollen

source_directory_data_store
Datastore
Erforderlich

Der Sicherungsdatenspeicher für die Projektfreigabe.

shm_size
str
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
DataPath
Erforderlich

Der Datenpfad, der die Prüfpunkt- oder Modelldateien enthält, aus denen das Experiment fortgesetzt werden soll

max_run_duration_seconds
int
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
str
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ück zu geben, um eine Liste aller Versionen zu erhalten, die vom aktuellen Azure ML SDK unterstützt werden.

source_directory
str
Erforderlich

Ein lokales Verzeichnis mit Konfigurationsdateien für Experimente.

compute_target
AbstractComputeTarget oder str
Erforderlich

Das Computeziel für das Training. Dies kann entweder ein Objekt oder die Zeichenfolge „local“ sein.

vm_size
str
Erforderlich

Die VM-Größe des Computeziels, das für das Training erstellt wird. Unterstützte Werte: beliebige Azure-VM-Größen.

vm_priority
str
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 vm_size param in der Eingabe angegeben wird.

entry_script
str
Erforderlich

Der relative Pfad zu der Datei, die das Trainingsskript enthält.

script_params
dict
Erforderlich

Ein Wörterbuch mit Befehlszeilenargumenten, die an das in entry_scriptangegebene tne-Trainingsskript übergeben werden sollen.

node_count
int
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 (node_count> 1).

process_count_per_node
int
Erforderlich

Bei Verwendung von MPI die Anzahl der Prozesse pro Knoten.

worker_count
int
Erforderlich

Bei Verwendung von Parameter Server die Anzahl der Workerknoten.

VERALTET. Geben Sie als Teil des Parameters distributed_training an.

parameter_server_count
int
Erforderlich

Bei Verwendung von Parameter Server die Anzahl der Parameterserverknoten.

distributed_backend
str
Erforderlich

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_countprocess_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
Erforderlich

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_countanzugebenworker_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
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 custom_docker_image der Parameter nicht festgelegt ist. Diese Einstellung wird nur bei Docker-fähigen Computezielen verwendet.

use_docker
bool
Erforderlich

Gibt an, ob die Umgebung, in der das Experiment ausgeführt werden soll, Docker-basiert sein soll.

custom_docker_base_image
str
Erforderlich

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
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
ContainerRegistry
Erforderlich

Die Details der Docker-Imageregistrierung

user_managed
bool
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
list
Erforderlich

Eine Liste von Zeichenfolgen, die Conda-Pakete darstellen, die der Python-Umgebung für das Experiment hinzugefügt werden sollen

pip_packages
list
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
str
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 conda_dependencies_file.

pip_requirements_file_path
str
Erforderlich

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
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
str
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
str
Erforderlich

Der relative Pfad zur Textdatei mit den pip-Anforderungen. Dieser kann in Kombination mit dem Parameter pip_packages bereitgestellt werden.

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
Environment
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 use_gpu, custom_docker_image, conda_packages oder pip_packages. Für diese ungültigen Kombinationen werden Fehler gemeldet.

inputs
list
Erforderlich

Eine Liste der azureml.data.data_reference. DataReference-Objekte, die als Eingabe verwendet werden sollen.

source_directory_data_store
str
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
str
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
bool
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
bool
Erforderlich

Deaktivieren Sie die Skriptüberprüfung vor der Übermittlung. Der Standardwert ist True.

_show_lint_warnings
bool
Erforderlich

Anzeigen von Skript-Lintingwarnungen. Die Standardeinstellung lautet „false“.

_show_package_warnings
bool
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:

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'