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
|
Ein lokales Verzeichnis, das Experimentkonfigurationsdateien enthält. |
|
compute_target
Erforderlich
|
AbstractComputeTarget oder
str
Das Computeziel, in dem die Schulung stattfinden wird. Dies kann entweder ein Objekt oder die Zeichenfolge "local" sein. |
|
vm_size
Erforderlich
|
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
|
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 |
|
entry_script
Erforderlich
|
Der relative Pfad zur Datei, die das Schulungsskript enthält. |
|
script_params
Erforderlich
|
Ein Wörterbuch mit Befehlszeilenargumenten, das an das in |
|
node_count
Erforderlich
|
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
|
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
|
Das Kommunikations-Back-End für verteilte Schulungen. VERALTET. Verwenden Sie den Parameter Unterstützte Werte: "mpi", "gloo" und "nccl". 'mpi': MPI/Horovod 'gloo', 'nccl': Native PyTorch Distributed Training Dieser Parameter ist erforderlich, wenn Wenn |
|
distributed_training
Erforderlich
|
Parameter zum Ausführen eines verteilten Schulungsauftrags. Verwenden Sie Mpi zum Ausführen eines verteilten Auftrags mit MPI-Back-End das Objekt, um anzugeben |
|
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 |
|
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, aus dem das für Schulungen zu verwendende Image erstellt wird. VERALTET. Verwenden Sie den Parameter Wenn nicht festgelegt, wird ein CPU-basiertes Standardimage als Basisimage verwendet. |
|
custom_docker_image
Erforderlich
|
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
|
Der relative Pfad zur Conda-Abhängigkeiten yaml-Datei.
Wenn angegeben, installiert Azure ML keine Framework-bezogenen Pakete.
VERALTET. Verwenden Sie den Parameter |
|
pip_requirements_file_path
Erforderlich
|
Der relative Pfad zur Pip-Anforderungstextdatei.
Dies kann in Kombination mit dem |
|
conda_dependencies_file
Erforderlich
|
Der relative Pfad zur Conda-Abhängigkeiten yaml-Datei. Wenn angegeben, installiert Azure ML keine Framework-bezogenen Pakete. |
|
pip_requirements_file
Erforderlich
|
Der relative Pfad zur Pip-Anforderungstextdatei.
Dies kann in Kombination mit dem |
|
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 |
|
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
|
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
|
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
|
Die PyTorch-Version, die zum Ausführen von Schulungscode verwendet werden soll.
|
|
source_directory
Erforderlich
|
Ein lokales Verzeichnis, das Experimentkonfigurationsdateien enthält. |
|
compute_target
Erforderlich
|
AbstractComputeTarget oder
str
Das Computeziel, in dem die Schulung stattfinden wird. Dies kann entweder ein Objekt oder die Zeichenfolge "local" sein. |
|
vm_size
Erforderlich
|
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
|
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 |
|
entry_script
Erforderlich
|
Der relative Pfad zur Datei, die das Schulungsskript enthält. |
|
script_params
Erforderlich
|
Ein Wörterbuch mit Befehlszeilenargumenten, das an das in |
|
node_count
Erforderlich
|
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
|
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
|
Das Kommunikations-Back-End für verteilte Schulungen. VERALTET. Verwenden Sie den Parameter Unterstützte Werte: "mpi", "gloo" und "nccl". 'mpi': MPI/Horovod 'gloo', 'nccl': Native PyTorch Distributed Training Dieser Parameter ist erforderlich, wenn Wenn |
|
distributed_training
Erforderlich
|
Parameter zum Ausführen eines verteilten Schulungsauftrags. Verwenden Sie Mpi zum Ausführen eines verteilten Auftrags mit MPI-Back-End das Objekt, um anzugeben |
|
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 |
|
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, aus dem das für Schulungen zu verwendende Image erstellt wird. VERALTET. Verwenden Sie den Parameter Wenn nicht festgelegt, wird ein CPU-basiertes Standardimage als Basisimage verwendet. |
|
custom_docker_image
Erforderlich
|
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
|
Der relative Pfad zur Conda-Abhängigkeiten yaml-Datei. Wenn angegeben, installiert Azure ML keine Framework-bezogenen Pakete.
VERALTET. Verwenden Sie den Parameter |
|
pip_requirements_file_path
Erforderlich
|
Der relative Pfad zur Pip-Anforderungstextdatei.
Dies kann in Kombination mit dem |
|
conda_dependencies_file
Erforderlich
|
Der relative Pfad zur Conda-Abhängigkeiten yaml-Datei. Wenn angegeben, installiert Azure ML keine Framework-bezogenen Pakete. |
|
pip_requirements_file
Erforderlich
|
Der relative Pfad zur Pip-Anforderungstextdatei.
Dies kann in Kombination mit dem |
|
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 |
|
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
|
Die PyTorch-Version, die zum Ausführen von Schulungscode verwendet werden soll.
|
|
_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'