Freigeben über


PyTorch Klasse

Stellt eine Schätzung für schulungen in PyTorch-Experimenten dar.

VERALTET. Verwenden Sie das ScriptRunConfig Objekt mit Ihrer eigenen definierten Umgebung oder einer der kuratierten Azure ML PyTorch-Umgebungen. Eine Einführung in die Konfiguration des PyTorch-Experiments mit ScriptRunConfig finden Sie unter Train PyTorch-Modelle im Maßstab mit Azure Machine Learning.

Unterstützte Versionen: 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6

Initialisieren Sie einen PyTorch-Schätzer.

Docker run reference. :type shm_size: str :p aram resume_from: Der Datenpfad mit den Prüfpunkt- oder Modelldateien, aus denen das Experiment fortgesetzt werden soll. :type resume_from: azureml.data.datapath.DataPath :p aram max_run_duration_seconds: Die maximal zulässige Zeit für die Ausführung. Azure ML versucht automatisch,

abbrechen, wenn die Ausführung länger dauert als dieser Wert.

Konstruktor

PyTorch(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, 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
str

Ein lokales Verzeichnis, das Experimentkonfigurationsdateien enthält.

compute_target
Erforderlich

Das Computeziel, in dem die Schulung stattfinden wird. Dies kann entweder ein Objekt oder die Zeichenfolge "local" sein.

vm_size
Erforderlich
str

Die VM-Größe des Computeziels, das für die Schulung erstellt wird. Unterstützte Werte: Eine beliebige Größe eines virtuellen Azure-Computers.

vm_priority
Erforderlich
str

Die VM-Priorität des Computeziels, das für die Schulung erstellt wird. Wenn nicht angegeben, wird "dedicated" verwendet.

Unterstützte Werte: "dedicated" und "lowpriority".

Dies wird nur wirksam, wenn die vm_size param Eingabe angegeben wird.

entry_script
Erforderlich
str

Der relative Pfad zur Datei, die das Schulungsskript enthält.

script_params
Erforderlich

Ein Wörterbuch mit Befehlszeilenargumenten, das an das in entry_scriptder Datei angegebene Schulungsskript übergeben werden soll.

node_count
Erforderlich
int

Die Anzahl der Knoten im Computeziel, das für die Schulung verwendet wird. Wenn größer als 1, wird ein MPI verteilter Auftrag ausgeführt. Nur das AmlCompute Ziel wird für verteilte Aufträge unterstützt.

process_count_per_node
Erforderlich
int

Die Anzahl der Prozesse pro Knoten. Wenn größer als 1, wird ein MPI verteilter Auftrag ausgeführt. Nur das AmlCompute Ziel wird für verteilte Aufträge unterstützt.

distributed_backend
Erforderlich
str

Das Kommunikations-Back-End für verteilte Schulungen.

VERALTET. Verwenden Sie den Parameter distributed_training.

Unterstützte Werte: "mpi", "gloo" und "nccl".

'mpi': MPI/Horovod 'gloo', 'nccl': Native PyTorch Distributed Training

Dieser Parameter ist erforderlich, wenn node_count oder process_count_per_node> 1.

Wenn node_count == 1 und process_count_per_node == 1, wird kein Back-End verwendet, es sei denn, das Back-End ist explizit festgelegt. Nur das AmlCompute Ziel wird für verteilte Schulungen unterstützt.

distributed_training
Erforderlich
Mpi oder Gloo oder Nccl

Parameter zum Ausführen eines verteilten Schulungsauftrags.

Verwenden Sie Mpi zum Ausführen eines verteilten Auftrags mit MPI-Back-End das Objekt, um anzugeben process_count_per_node. Verwenden Sie Gloozum Ausführen eines verteilten Auftrags mit gloo-Back-End . Verwenden Sie Ncclzum Ausführen eines verteilten Auftrags mit nccl-Back-End .

use_gpu
Erforderlich

Gibt an, ob die Umgebung, in der das Experiment ausgeführt werden soll, GPUs unterstützen soll. Wenn true, wird ein GPU-basiertes Standard-Docker-Image in der Umgebung verwendet. Bei "false" wird ein CPU-basiertes Image verwendet. Standardmäßige Docker-Images (CPU oder GPU) werden nur verwendet, wenn der custom_docker_image Parameter nicht festgelegt ist. Diese Einstellung wird nur in Docker-fähigen Computezielen verwendet.

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
str

Der Name des Docker-Images, aus dem das für Schulungen zu verwendende Image erstellt wird.

VERALTET. Verwenden Sie den Parameter custom_docker_image.

Wenn nicht festgelegt, wird ein CPU-basiertes Standardimage als Basisimage verwendet.

custom_docker_image
Erforderlich
str

Der Name des Docker-Images, aus dem das für Schulungen zu verwendende Image erstellt wird. Wenn nicht festgelegt, wird ein CPU-basiertes Standardimage als Basisimage verwendet.

image_registry_details
Erforderlich

Die Details der Docker-Imageregistrierung.

user_managed
Erforderlich

Gibt an, ob Azure ML eine vorhandene Python-Umgebung wiederverwendet. Bei "false" erstellt Azure ML eine Python-Umgebung basierend auf der Conda-Abhängigkeitsspezifikation.

conda_packages
Erforderlich

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

pip_packages
Erforderlich

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

conda_dependencies_file_path
Erforderlich
str

Der relative Pfad zur Conda-Abhängigkeiten yaml-Datei. Wenn angegeben, installiert Azure ML keine Framework-bezogenen Pakete. VERALTET. Verwenden Sie den Parameter conda_dependencies_file.

pip_requirements_file_path
Erforderlich
str

Der relative Pfad zur Pip-Anforderungstextdatei. Dies kann in Kombination mit dem pip_packages Parameter bereitgestellt werden. VERALTET. Verwenden Sie den Parameter pip_requirements_file.

conda_dependencies_file
Erforderlich
str

Der relative Pfad zur Conda-Abhängigkeiten yaml-Datei. Wenn angegeben, installiert Azure ML keine Framework-bezogenen Pakete.

pip_requirements_file
Erforderlich
str

Der relative Pfad zur Pip-Anforderungstextdatei. Dies kann in Kombination mit dem pip_packages Parameter bereitgestellt werden.

environment_variables
Erforderlich

Ein Wörterbuch mit Namen und Werten für Umgebungsvariablen. Diese Umgebungsvariablen werden für den Prozess festgelegt, bei dem Benutzerskript ausgeführt wird.

environment_definition
Erforderlich

Die Umgebungsdefinition für das Experiment. Es enthält PythonSection-, DockerSection- und Umgebungsvariablen. Jede Umgebungsoption, die nicht direkt über andere Parameter für die Estimator-Konstruktion 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_packagesoder pip_packages. Fehler werden bei ungültigen Kombinationen von Parametern gemeldet.

inputs
Erforderlich

Eine Liste von objekten, DataReference die DatasetConsumptionConfig als Eingabe verwendet werden sollen.

source_directory_data_store
Erforderlich

Der Sicherungsdatenspeicher für die Projektfreigabe.

shm_size
Erforderlich
str

Die Größe des freigegebenen Speicherblocks des Docker-Containers. Wenn nicht festgelegt, wird der Standard-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
int

Die maximal zulässige Zeit für die Ausführung. Azure ML versucht, die Ausführung automatisch abzubrechen, wenn dieser Wert länger dauert.

framework_version
Erforderlich
str

Die PyTorch-Version, die zum Ausführen von Schulungscode verwendet werden soll. PyTorch.get_supported_versions() gibt eine Liste der vom aktuellen SDK unterstützten Versionen zurück.

source_directory
Erforderlich
str

Ein lokales Verzeichnis, das Experimentkonfigurationsdateien enthält.

compute_target
Erforderlich

Das Computeziel, in dem die Schulung stattfinden wird. Dies kann entweder ein Objekt oder die Zeichenfolge "local" sein.

vm_size
Erforderlich
str

Die VM-Größe des Computeziels, das für die Schulung erstellt wird. Unterstützte Werte: Eine beliebige Größe eines virtuellen Azure-Computers.

vm_priority
Erforderlich
str

Die VM-Priorität des Computeziels, das für die Schulung erstellt wird. Wenn nicht angegeben, wird "dedicated" verwendet.

Unterstützte Werte: "dedicated" und "lowpriority".

Dies wird nur wirksam, wenn die vm_size param Eingabe angegeben wird.

entry_script
Erforderlich
str

Der relative Pfad zur Datei, die das Schulungsskript enthält.

script_params
Erforderlich

Ein Wörterbuch mit Befehlszeilenargumenten, das an das in entry_scriptder Datei angegebene Schulungsskript übergeben werden soll.

node_count
Erforderlich
int

Die Anzahl der Knoten im Computeziel, das für die Schulung verwendet wird. Wenn größer als 1, wird der verteilte Mpi-Auftrag ausgeführt. Nur das Ziel "azureml.core.compute.AmlCompute" wird für verteilte Aufträge unterstützt.

process_count_per_node
Erforderlich
int

Die Anzahl der Prozesse pro Knoten. Wenn größer als 1, wird ein MPI verteilter Auftrag ausgeführt. Nur das AmlCompute Ziel wird für verteilte Aufträge unterstützt.

distributed_backend
Erforderlich
str

Das Kommunikations-Back-End für verteilte Schulungen.

VERALTET. Verwenden Sie den Parameter distributed_training.

Unterstützte Werte: "mpi", "gloo" und "nccl".

'mpi': MPI/Horovod 'gloo', 'nccl': Native PyTorch Distributed Training

Dieser Parameter ist erforderlich, wenn node_count oder process_count_per_node> 1.

Wenn node_count == 1 und process_count_per_node == 1, wird kein Back-End verwendet, es sei denn, das Back-End ist explizit festgelegt. Nur das AmlCompute Ziel wird für verteilte Schulungen unterstützt.

distributed_training
Erforderlich
Mpi oder Gloo oder Nccl

Parameter zum Ausführen eines verteilten Schulungsauftrags.

Verwenden Sie Mpi zum Ausführen eines verteilten Auftrags mit MPI-Back-End das Objekt, um anzugeben process_count_per_node. Verwenden Sie Gloozum Ausführen eines verteilten Auftrags mit gloo-Back-End . Verwenden Sie Ncclzum Ausführen eines verteilten Auftrags mit nccl-Back-End .

use_gpu
Erforderlich

Gibt an, ob die Umgebung, in der das Experiment ausgeführt werden soll, GPUs unterstützen soll. Wenn true, wird ein GPU-basiertes Standard-Docker-Image in der Umgebung verwendet. Bei "false" wird ein CPU-basiertes Image verwendet. Standardmäßige Docker-Images (CPU oder GPU) werden nur verwendet, wenn der custom_docker_image Parameter nicht festgelegt ist. Diese Einstellung wird nur in Docker-fähigen Computezielen verwendet.

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
str

Der Name des Docker-Images, aus dem das für Schulungen zu verwendende Image erstellt wird.

VERALTET. Verwenden Sie den Parameter custom_docker_image.

Wenn nicht festgelegt, wird ein CPU-basiertes Standardimage als Basisimage verwendet.

custom_docker_image
Erforderlich
str

Der Name des Docker-Images, aus dem das für Schulungen zu verwendende Image erstellt wird. Wenn nicht festgelegt, wird ein CPU-basiertes Standardimage als Basisimage verwendet.

image_registry_details
Erforderlich

Die Details der Docker-Imageregistrierung.

user_managed
Erforderlich

Gibt an, ob Azure ML eine vorhandene Python-Umgebung wiederverwendet. Bei "false" erstellt Azure ML eine Python-Umgebung basierend auf der Conda-Abhängigkeitsspezifikation.

conda_packages
Erforderlich

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

pip_packages
Erforderlich

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

conda_dependencies_file_path
Erforderlich
str

Der relative Pfad zur Conda-Abhängigkeiten yaml-Datei. Wenn angegeben, installiert Azure ML keine Framework-bezogenen Pakete. VERALTET. Verwenden Sie den Parameter conda_dependencies_file.

pip_requirements_file_path
Erforderlich
str

Der relative Pfad zur Pip-Anforderungstextdatei. Dies kann in Kombination mit dem pip_packages Parameter bereitgestellt werden. VERALTET. Verwenden Sie den Parameter pip_requirements_file.

conda_dependencies_file
Erforderlich
str

Der relative Pfad zur Conda-Abhängigkeiten yaml-Datei. Wenn angegeben, installiert Azure ML keine Framework-bezogenen Pakete.

pip_requirements_file
Erforderlich
str

Der relative Pfad zur Pip-Anforderungstextdatei. Dies kann in Kombination mit dem pip_packages Parameter bereitgestellt werden.

environment_variables
Erforderlich

Ein Wörterbuch mit Namen und Werten für Umgebungsvariablen. Diese Umgebungsvariablen werden für den Prozess festgelegt, bei dem Benutzerskript ausgeführt wird.

environment_definition
Erforderlich

Die Umgebungsdefinition für das Experiment. Es enthält PythonSection-, DockerSection- und Umgebungsvariablen. Jede Umgebungsoption, die nicht direkt über andere Parameter für die Estimator-Konstruktion 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_packagesoder pip_packages. Fehler werden für ungültige Kombinationen gemeldet.

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, wird der Standard-azureml.core.environment._DEFAULT_SHM_SIZE verwendet. Weitere Informationen finden Sie unter

framework_version
Erforderlich
str

Die PyTorch-Version, die zum Ausführen von Schulungscode verwendet werden soll. PyTorch.get_supported_versions() gibt eine Liste der vom aktuellen SDK unterstützten Versionen zurück.

_enable_optimized_mode
Erforderlich

Aktivieren Sie den inkrementellen Umgebungsbuild mit vordefinierten Frameworkimages für eine schnellere Vorbereitung der Umgebung. 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 dem Ausführen der Übermittlung. Der Standardwert ist True.

_show_lint_warnings
Erforderlich

Anzeigen von Skript-Lintingwarnungen. Der Standardwert ist False.

_show_package_warnings
Erforderlich

Paketüberprüfungswarnungen anzeigen. Der Standardwert ist False.

Hinweise

Beim Übermitteln eines Schulungsauftrags führt Azure ML Ihr Skript in einer Conda-Umgebung in einem Docker-Container aus. Die PyTorch-Container haben die folgenden Abhängigkeiten installiert.

Abhängigkeiten | PyTorch 1.0/1.1/1.2/1.3/ | PyTorch 1.4/1.5/1.6 | ———————- | —————– | ————- | Python | 3.6.2 | 3.6.2 | CUDA (nur GPU-Bild) | 10.0 | 10.1 | cuDNN (nur GPU-Bild) | 7.6.3 | 7.6.3 | NCCL (nur GPU-Bild) | 2.4.8 | 2.4.8 | azureml-defaults | Neueste | Neueste | OpenMpi | 3.1.2 | 3.1.2 | horovod | 0.18.1 | 0.18.1/0.19.1/0.19.5 | miniconda | 4.5.11 | 4.5.11 | Taschenlampe | 1.0/1.1/1.2/1.3.1 | 1.4.0/1.5.0/1.6.0 | torchvision | 0.4.1 | 0.5.0 | git | 2.7.4 | 2.7.4 | Tensorboard | 1.14 | 1.14 | Zukunft | 0.17.1 | 0.17.1 |

Die Docker-Images erweitern Ubuntu 16.04.

Um zusätzliche Abhängigkeiten zu installieren, können Sie entweder den Parameter oder pip_packages den conda_packages Parameter verwenden. Oder Sie können den Parameter oder pip_requirements_file den conda_dependencies_file Parameter angeben. Alternativ können Sie ein eigenes Image erstellen und den custom_docker_image Parameter an den Schätzwertkonstruktor übergeben.

Weitere Informationen zu Docker-Containern, die in pyTorch-Schulungen verwendet werden, finden Sie unter https://github.com/Azure/AzureML-Containers.

Der PyTorch-Schätzator unterstützt verteilte Schulungen über CPU- und GPU-Cluster mithilfe von Horovod, einem Open-Source-Framework, das gesamte Framework für verteilte Schulungen reduziert. Beispiele und weitere Informationen zur Verwendung von PyTorch in verteilten Schulungen finden Sie im Lernprogramm "Trainieren und Registrieren von PyTorch-Modellen im Maßstab mit Azure Machine Learning".

Attribute

DEFAULT_VERSION

DEFAULT_VERSION = '1.4'

FRAMEWORK_NAME

FRAMEWORK_NAME = 'PyTorch'