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._FrameworkBaseEstimatorPyTorch
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
|
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
|
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
|
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 |
entry_script
Wymagane
|
Ś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 |
node_count
Wymagane
|
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
|
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
|
Zaplecze komunikacji na potrzeby trenowania rozproszonego. PRZESTARZAŁE. Użyj parametru Obsługiwane wartości: "mpi", "gloo" i "nccl". "mpi": MPI/Horovod "gloo", "nccl": Native PyTorch Distributed Training Ten parametr jest wymagany, gdy Gdy |
distributed_training
Wymagane
|
Parametry uruchamiania rozproszonego zadania trenowania. Aby uruchomić zadanie rozproszone z zapleczem MPI, użyj Mpi obiektu , aby określić |
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 |
use_docker
Wymagane
|
Określa, czy środowisko do uruchomienia eksperymentu powinno być oparte na platformie Docker. |
custom_docker_base_image
Wymagane
|
Nazwa obrazu platformy Docker, z którego obraz do użycia do trenowania zostanie utworzony. PRZESTARZAŁE. Użyj parametru Jeśli nie zostanie ustawiony, zostanie użyty domyślny obraz oparty na procesorze CPU jako obraz podstawowy. |
custom_docker_image
Wymagane
|
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
|
Ś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 |
pip_requirements_file_path
Wymagane
|
Ścieżka względna do pliku tekstowego wymagań pip.
Można to podać w połączeniu z parametrem |
conda_dependencies_file
Wymagane
|
Ś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
|
Ścieżka względna do pliku tekstowego wymagań pip.
Można to podać w połączeniu z parametrem |
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 |
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
|
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
|
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
|
Wersja PyTorch do użycia do wykonywania kodu szkoleniowego.
|
source_directory
Wymagane
|
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
|
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
|
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 |
entry_script
Wymagane
|
Ś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 |
node_count
Wymagane
|
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
|
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
|
Zaplecze komunikacji na potrzeby trenowania rozproszonego. PRZESTARZAŁE. Użyj parametru Obsługiwane wartości: "mpi", "gloo" i "nccl". "mpi": MPI/Horovod "gloo", "nccl": Native PyTorch Distributed Training Ten parametr jest wymagany, gdy Gdy |
distributed_training
Wymagane
|
Parametry uruchamiania rozproszonego zadania trenowania. Aby uruchomić zadanie rozproszone z zapleczem MPI, użyj Mpi obiektu , aby określić |
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 |
use_docker
Wymagane
|
Określa, czy środowisko do uruchomienia eksperymentu powinno być oparte na platformie Docker. |
custom_docker_base_image
Wymagane
|
Nazwa obrazu platformy Docker, z którego obraz do użycia do trenowania zostanie utworzony. PRZESTARZAŁE. Użyj parametru Jeśli nie zostanie ustawiony, zostanie użyty domyślny obraz oparty na procesorze CPU jako obraz podstawowy. |
custom_docker_image
Wymagane
|
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
|
Ś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 |
pip_requirements_file_path
Wymagane
|
Ścieżka względna do pliku tekstowego wymagań pip.
Można to podać w połączeniu z parametrem |
conda_dependencies_file
Wymagane
|
Ś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
|
Ścieżka względna do pliku tekstowego wymagań pip.
Można to podać w połączeniu z parametrem |
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 |
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
|
Wersja PyTorch do użycia do wykonywania kodu szkoleniowego.
|
_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'