Udostępnij za pośrednictwem


PyTorch Klasa

Reprezentuje narzędzie do szacowania na potrzeby trenowania w eksperymentach PyTorch.

PRZESTARZAŁE. ScriptRunConfig Użyj obiektu z własnym zdefiniowanym środowiskiem lub jednym z wyselekcjonowanych środowisk usługi Azure ML PyTorch. Aby zapoznać się z wprowadzeniem do konfigurowania przebiegów eksperymentów PyTorch przy użyciu polecenia ScriptRunConfig, zobacz Train PyTorch models at scale with Azure Machine Learning (Trenowanie modeli PyTorch na dużą skalę przy użyciu usługi Azure Machine Learning).

Obsługiwane wersje: 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6

Zainicjuj narzędzie do szacowania PyTorch.

Dokumentacja uruchamiania platformy Docker. :type shm_size: str :p aram resume_from: ścieżka danych zawierająca pliki punktu kontrolnego lub modelu, z których można wznowić eksperyment. :type resume_from: azureml.data.datapath.DataPath :p aram max_run_duration_seconds: maksymalny dozwolony czas uruchomienia. Usługa Azure ML podejmie próbę automatycznego

anuluj przebieg, jeśli trwa dłużej niż ta wartość.

Dziedziczenie
azureml.train.estimator._framework_base_estimator._FrameworkBaseEstimator
PyTorch

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)

Parametry

Nazwa Opis
source_directory
Wymagane
str

Katalog lokalny zawierający pliki konfiguracji eksperymentu.

compute_target
Wymagane

Docelowy obiekt obliczeniowy, w którym nastąpi trenowanie. Może to być obiekt lub ciąg "local".

vm_size
Wymagane
str

Rozmiar maszyny wirtualnej docelowego obliczeniowego, który zostanie utworzony na potrzeby trenowania. Obsługiwane wartości: dowolny rozmiar maszyny wirtualnej platformy Azure.

vm_priority
Wymagane
str

Priorytet maszyny wirtualnej docelowego obliczeniowego, który zostanie utworzony na potrzeby trenowania. Jeśli nie zostanie określona, zostanie użyta wartość "dedykowana".

Obsługiwane wartości: "dedykowane" i "lowpriority".

Ma to zastosowanie tylko wtedy, gdy vm_size param element jest określony w danych wejściowych.

entry_script
Wymagane
str

Ścieżka względna do pliku zawierającego skrypt trenowania.

script_params
Wymagane

Słownik argumentów wiersza polecenia, który ma być przekazywany do skryptu szkoleniowego określonego w pliku entry_script.

node_count
Wymagane
int

Liczba węzłów w docelowym obiekcie obliczeniowym używanym do trenowania. Jeśli jest większe niż 1, zadanie rozproszone mpI zostanie uruchomione. Tylko element docelowy AmlCompute jest obsługiwany w przypadku zadań rozproszonych.

process_count_per_node
Wymagane
int

Liczba procesów na węzeł. Jeśli jest większe niż 1, zadanie rozproszone mpI zostanie uruchomione. Tylko element docelowy AmlCompute jest obsługiwany w przypadku zadań rozproszonych.

distributed_backend
Wymagane
str

Zaplecze komunikacji na potrzeby trenowania rozproszonego.

PRZESTARZAŁE. Użyj parametru distributed_training .

Obsługiwane wartości: "mpi", "gloo" i "nccl".

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

Ten parametr jest wymagany, gdy node_count lub process_count_per_node> 1.

Gdy node_count == 1 i process_count_per_node == 1, nie będzie używane zaplecze, chyba że zaplecze jest jawnie ustawione. Tylko element docelowy AmlCompute jest obsługiwany w przypadku trenowania rozproszonego.

distributed_training
Wymagane
Mpi lub Gloo lub Nccl

Parametry uruchamiania rozproszonego zadania trenowania.

Aby uruchomić zadanie rozproszone z zapleczem MPI, użyj Mpi obiektu , aby określić process_count_per_node. Aby uruchomić zadanie rozproszone z zapleczem gloo, użyj polecenia Gloo. Aby uruchomić zadanie rozproszone z zapleczem nccl, użyj polecenia Nccl.

use_gpu
Wymagane

Określa, czy środowisko do uruchomienia eksperymentu powinno obsługiwać procesory GPU. Jeśli to prawda, domyślny obraz platformy Docker oparty na procesorze GPU będzie używany w środowisku. Jeśli wartość false, zostanie użyty obraz oparty na procesorze CPU. Domyślne obrazy platformy Docker (procesor CPU lub PROCESOR GPU) będą używane tylko wtedy, gdy custom_docker_image parametr nie jest ustawiony. To ustawienie jest używane tylko w obiektach docelowych obliczeniowych z obsługą platformy Docker.

use_docker
Wymagane

Określa, czy środowisko do uruchomienia eksperymentu powinno być oparte na platformie Docker.

custom_docker_base_image
Wymagane
str

Nazwa obrazu platformy Docker, z którego obraz do użycia do trenowania zostanie utworzony.

PRZESTARZAŁE. Użyj parametru custom_docker_image .

Jeśli nie zostanie ustawiony, zostanie użyty domyślny obraz oparty na procesorze CPU jako obraz podstawowy.

custom_docker_image
Wymagane
str

Nazwa obrazu platformy Docker, z którego obraz do użycia do trenowania zostanie utworzony. Jeśli nie zostanie ustawiony, zostanie użyty domyślny obraz oparty na procesorze CPU jako obraz podstawowy.

image_registry_details
Wymagane

Szczegóły rejestru obrazów platformy Docker.

user_managed
Wymagane

Określa, czy usługa Azure ML ponownie używa istniejącego środowiska języka Python. Jeśli wartość false, usługa Azure ML utworzy środowisko języka Python na podstawie specyfikacji zależności conda.

conda_packages
Wymagane

Lista ciągów reprezentujących pakiety conda do dodania do środowiska języka Python na potrzeby eksperymentu.

pip_packages
Wymagane

Lista ciągów reprezentujących pakiety pip do dodania do środowiska języka Python na potrzeby eksperymentu.

conda_dependencies_file_path
Wymagane
str

Ścieżka względna do pliku yaml zależności conda. Jeśli zostanie określony, usługa Azure ML nie zainstaluje żadnych pakietów powiązanych ze strukturą. PRZESTARZAŁE. Użyj parametru conda_dependencies_file .

pip_requirements_file_path
Wymagane
str

Ścieżka względna do pliku tekstowego wymagań pip. Można to podać w połączeniu z parametrem pip_packages . PRZESTARZAŁE. Użyj parametru pip_requirements_file .

conda_dependencies_file
Wymagane
str

Ścieżka względna do pliku yaml zależności conda. Jeśli zostanie określony, usługa Azure ML nie zainstaluje żadnych pakietów powiązanych ze strukturą.

pip_requirements_file
Wymagane
str

Ścieżka względna do pliku tekstowego wymagań pip. Można to podać w połączeniu z parametrem pip_packages .

environment_variables
Wymagane

Słownik nazw i wartości zmiennych środowiskowych. Te zmienne środowiskowe są ustawiane w procesie, w którym jest wykonywany skrypt użytkownika.

environment_definition
Wymagane

Definicja środowiska eksperymentu. Obejmuje ona zmienne środowiskowe PythonSection, DockerSection i Environment. Każda opcja środowiska nie jest bezpośrednio uwidaczniona za pośrednictwem innych parametrów do konstrukcji narzędzia do szacowania, można ustawić przy użyciu tego parametru. Jeśli ten parametr zostanie określony, będzie on mieć pierwszeństwo przed innymi parametrami powiązanymi ze środowiskiem, takimi jak use_gpu, , custom_docker_imageconda_packageslub pip_packages. Błędy będą zgłaszane w przypadku nieprawidłowych kombinacji parametrów.

inputs
Wymagane

Lista obiektów lubDatasetConsumptionConfig, DataReference które mają być używane jako dane wejściowe.

source_directory_data_store
Wymagane

Magazyn danych zaplecza dla udziału projektu.

shm_size
Wymagane
str

Rozmiar bloku pamięci udostępnionej kontenera platformy Docker. Jeśli nie zostanie ustawiona, zostanie użyta domyślna azureml.core.environment._DEFAULT_SHM_SIZE. Aby uzyskać więcej informacji, zobacz Dokumentacja uruchamiania platformy Docker.

resume_from
Wymagane

Ścieżka danych zawierająca pliki punktu kontrolnego lub modelu, z których ma być wznowione eksperyment.

max_run_duration_seconds
Wymagane
int

Maksymalny dozwolony czas przebiegu. Usługa Azure ML podejmie próbę automatycznego anulowania przebiegu, jeśli trwa dłużej niż ta wartość.

framework_version
Wymagane
str

Wersja PyTorch do użycia do wykonywania kodu szkoleniowego. PyTorch.get_supported_versions() Zwraca listę wersji obsługiwanych przez bieżący zestaw SDK.

source_directory
Wymagane
str

Katalog lokalny zawierający pliki konfiguracji eksperymentu.

compute_target
Wymagane

Docelowy obiekt obliczeniowy, w którym nastąpi trenowanie. Może to być obiekt lub ciąg "local".

vm_size
Wymagane
str

Rozmiar maszyny wirtualnej docelowego obliczeniowego, który zostanie utworzony na potrzeby trenowania. Obsługiwane wartości: dowolny rozmiar maszyny wirtualnej platformy Azure.

vm_priority
Wymagane
str

Priorytet maszyny wirtualnej docelowego obliczeniowego, który zostanie utworzony na potrzeby trenowania. Jeśli nie zostanie określona, zostanie użyta wartość "dedykowana".

Obsługiwane wartości: "dedykowane" i "lowpriority".

Ma to zastosowanie tylko wtedy, gdy vm_size param element jest określony w danych wejściowych.

entry_script
Wymagane
str

Ścieżka względna do pliku zawierającego skrypt trenowania.

script_params
Wymagane

Słownik argumentów wiersza polecenia, który ma być przekazywany do skryptu szkoleniowego określonego w pliku entry_script.

node_count
Wymagane
int

Liczba węzłów w docelowym obiekcie obliczeniowym używanym do trenowania. Jeśli jest większe niż 1, zadanie rozproszone mpi zostanie uruchomione. Tylko obiekt docelowy azureml.core.compute.AmlCompute jest obsługiwany w przypadku zadań rozproszonych.

process_count_per_node
Wymagane
int

Liczba procesów na węzeł. Jeśli jest większe niż 1, zadanie rozproszone mpI zostanie uruchomione. Tylko element docelowy AmlCompute jest obsługiwany w przypadku zadań rozproszonych.

distributed_backend
Wymagane
str

Zaplecze komunikacji na potrzeby trenowania rozproszonego.

PRZESTARZAŁE. Użyj parametru distributed_training .

Obsługiwane wartości: "mpi", "gloo" i "nccl".

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

Ten parametr jest wymagany, gdy node_count lub process_count_per_node> 1.

Gdy node_count == 1 i process_count_per_node == 1, nie będzie używane zaplecze, chyba że zaplecze jest jawnie ustawione. Tylko element docelowy AmlCompute jest obsługiwany w przypadku trenowania rozproszonego.

distributed_training
Wymagane
Mpi lub Gloo lub Nccl

Parametry uruchamiania rozproszonego zadania trenowania.

Aby uruchomić zadanie rozproszone z zapleczem MPI, użyj Mpi obiektu , aby określić process_count_per_node. Aby uruchomić zadanie rozproszone z zapleczem gloo, użyj polecenia Gloo. Aby uruchomić zadanie rozproszone z zapleczem nccl, użyj polecenia Nccl.

use_gpu
Wymagane

Określa, czy środowisko do uruchomienia eksperymentu powinno obsługiwać procesory GPU. Jeśli to prawda, domyślny obraz platformy Docker oparty na procesorze GPU będzie używany w środowisku. Jeśli wartość false, zostanie użyty obraz oparty na procesorze CPU. Domyślne obrazy platformy Docker (procesor CPU lub PROCESOR GPU) będą używane tylko wtedy, gdy custom_docker_image parametr nie jest ustawiony. To ustawienie jest używane tylko w obiektach docelowych obliczeniowych z obsługą platformy Docker.

use_docker
Wymagane

Określa, czy środowisko do uruchomienia eksperymentu powinno być oparte na platformie Docker.

custom_docker_base_image
Wymagane
str

Nazwa obrazu platformy Docker, z którego obraz do użycia do trenowania zostanie utworzony.

PRZESTARZAŁE. Użyj parametru custom_docker_image .

Jeśli nie zostanie ustawiony, zostanie użyty domyślny obraz oparty na procesorze CPU jako obraz podstawowy.

custom_docker_image
Wymagane
str

Nazwa obrazu platformy Docker, z którego obraz do użycia do trenowania zostanie utworzony. Jeśli nie zostanie ustawiony, zostanie użyty domyślny obraz oparty na procesorze CPU jako obraz podstawowy.

image_registry_details
Wymagane

Szczegóły rejestru obrazów platformy Docker.

user_managed
Wymagane

Określa, czy usługa Azure ML ponownie używa istniejącego środowiska języka Python. Jeśli wartość false, usługa Azure ML utworzy środowisko języka Python na podstawie specyfikacji zależności conda.

conda_packages
Wymagane

Lista ciągów reprezentujących pakiety conda do dodania do środowiska języka Python na potrzeby eksperymentu.

pip_packages
Wymagane

Lista ciągów reprezentujących pakiety pip do dodania do środowiska języka Python na potrzeby eksperymentu.

conda_dependencies_file_path
Wymagane
str

Ścieżka względna do pliku yaml zależności conda. Jeśli zostanie określony, usługa Azure ML nie zainstaluje żadnych pakietów powiązanych ze strukturą. PRZESTARZAŁE. Użyj parametru conda_dependencies_file .

pip_requirements_file_path
Wymagane
str

Ścieżka względna do pliku tekstowego wymagań pip. Można to podać w połączeniu z parametrem pip_packages . PRZESTARZAŁE. Użyj parametru pip_requirements_file .

conda_dependencies_file
Wymagane
str

Ścieżka względna do pliku yaml zależności conda. Jeśli zostanie określony, usługa Azure ML nie zainstaluje żadnych pakietów powiązanych ze strukturą.

pip_requirements_file
Wymagane
str

Ścieżka względna do pliku tekstowego wymagań pip. Można to podać w połączeniu z parametrem pip_packages .

environment_variables
Wymagane

Słownik nazw i wartości zmiennych środowiskowych. Te zmienne środowiskowe są ustawiane w procesie, w którym jest wykonywany skrypt użytkownika.

environment_definition
Wymagane

Definicja środowiska eksperymentu. Obejmuje ona zmienne środowiskowe PythonSection, DockerSection i Environment. Każda opcja środowiska nie jest bezpośrednio uwidaczniona za pośrednictwem innych parametrów do konstrukcji narzędzia do szacowania, można ustawić przy użyciu tego parametru. Jeśli ten parametr zostanie określony, będzie on mieć pierwszeństwo przed innymi parametrami powiązanymi ze środowiskiem, takimi jak use_gpu, , custom_docker_imageconda_packageslub pip_packages. Błędy zostaną zgłoszone w przypadku nieprawidłowych kombinacji.

inputs
Wymagane

Lista azureml.data.data_reference. Obiekty DataReference do użycia jako dane wejściowe.

source_directory_data_store
Wymagane

Magazyn danych zaplecza dla udziału projektu.

shm_size
Wymagane

Rozmiar bloku pamięci udostępnionej kontenera platformy Docker. Jeśli nie zostanie ustawiona, zostanie użyta domyślna azureml.core.environment._DEFAULT_SHM_SIZE. Aby uzyskać więcej informacji, zobacz

framework_version
Wymagane
str

Wersja PyTorch do użycia do wykonywania kodu szkoleniowego. PyTorch.get_supported_versions() Zwraca listę wersji obsługiwanych przez bieżący zestaw SDK.

_enable_optimized_mode
Wymagane

Włącz kompilację środowiska przyrostowego przy użyciu wstępnie utworzonych obrazów platform w celu szybszego przygotowania środowiska. Wstępnie utworzony obraz platformy jest oparty na domyślnych obrazach podstawowych procesora CPU/procesora GPU usługi Azure ML ze wstępnie zainstalowanymi zależnościami platformy.

_disable_validation
Wymagane

Wyłącz walidację skryptu przed przesłaniem. Wartość domyślna to True.

_show_lint_warnings
Wymagane

Pokaż ostrzeżenia dotyczące lintingu skryptu. Wartość domyślna to False.

_show_package_warnings
Wymagane

Pokaż ostrzeżenia dotyczące walidacji pakietu. Wartość domyślna to False.

Uwagi

Podczas przesyłania zadania szkoleniowego usługa Azure ML uruchamia skrypt w środowisku conda w kontenerze platformy Docker. Kontenery PyTorch mają zainstalowane następujące zależności.

Zależności | PyTorch 1.0/1.1/1.2/1.3/ | PyTorch 1.4/1.5/1.6 | ———————- | —————– | ————- | Python | 3.6.2 | 3.6.2 | CUDA (tylko obraz gpu) | 10.0 | 10.1 | cuDNN (tylko obraz gpu) | 7.6.3 | 7.6.3 | NCCL (tylko obraz gpu) | 2.4.8 | 2.4.8 | azureml-defaults | Najnowsze | Najnowsze | 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 | torch | 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 | future | 0.17.1 | 0.17.1 |

Obrazy platformy Docker rozszerzają system Ubuntu 16.04.

Aby zainstalować dodatkowe zależności, możesz użyć parametru pip_packages lub conda_packages . Możesz też określić pip_requirements_file parametr or conda_dependencies_file . Alternatywnie możesz utworzyć własny obraz i przekazać custom_docker_image parametr do konstruktora narzędzia do szacowania.

Aby uzyskać więcej informacji na temat kontenerów platformy Docker używanych w trenowaniu PyTorch, zobacz https://github.com/Azure/AzureML-Containers.

Narzędzie do szacowania PyTorch obsługuje trenowanie rozproszone w klastrach procesora CPU i procesora GPU przy użyciu platformy Horovod, typu open source, wszystkie struktury redukcji na potrzeby trenowania rozproszonego. Aby uzyskać przykłady i więcej informacji na temat korzystania z rozwiązania PyTorch w trenowaniu rozproszonym, zobacz samouczek Trenowanie i rejestrowanie modeli PyTorch na dużą skalę przy użyciu usługi Azure Machine Learning.

Atrybuty

DEFAULT_VERSION

DEFAULT_VERSION = '1.4'

FRAMEWORK_NAME

FRAMEWORK_NAME = 'PyTorch'