Udostępnij za pośrednictwem


TensorFlow Klasa

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

PRZESTARZAŁE. ScriptRunConfig Użyj obiektu z własnym zdefiniowanym środowiskiem lub jednym ze środowisk wyselekcjonowanych Biblioteki TensorFlow usługi Azure ML. Aby zapoznać się z wprowadzeniem do konfigurowania przebiegów eksperymentów TensorFlow za pomocą polecenia ScriptRunConfig, zobacz Trenowanie modeli TensorFlow na dużą skalę za pomocą usługi Azure Machine Learning.

Obsługiwane wersje: 1.10, 1.12, 1.13, 2.0, 2.1, 2.2

Zainicjuj narzędzie do szacowania TensorFlow.

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 ma być wznowione 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
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)

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. Tylko element docelowy AmlCompute jest obsługiwany w przypadku trenowania rozproszonego (node_count> 1).

process_count_per_node
Wymagane
int

W przypadku korzystania z interfejsu MPI liczba procesów na węzeł.

worker_count
Wymagane
int

W przypadku korzystania z serwera parametrów do trenowania rozproszonego liczba węzłów roboczych.

PRZESTARZAŁE. Określ jako część parametru distributed_training .

parameter_server_count
Wymagane
int

W przypadku korzystania z serwera parametrów do trenowania rozproszonego liczba węzłów serwera parametrów.

distributed_backend
Wymagane
str

Zaplecze komunikacji na potrzeby trenowania rozproszonego.

PRZESTARZAŁE. Użyj parametru distributed_training .

Obsługiwane wartości: "mpi" i "ps". Element "mpi" reprezentuje mpI/Horovod i "ps" reprezentuje serwer parametrów.

Ten parametr jest wymagany, gdy dowolny z node_count, process_count_per_node, worker_countlub parameter_server_count> 1. W przypadku wartości "ps" suma worker_count wartości i parameter_server_count powinna być mniejsza lub równa node_count * (liczba procesorów CPU lub procesorów GPU na węzeł)

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

Parametry uruchamiania rozproszonego zadania trenowania.

Aby uruchomić zadanie rozproszone z zapleczem serwera parametrów, użyj ParameterServer obiektu , aby określić worker_count i parameter_server_count. Suma parametrów worker_count i parameter_server_count powinna być mniejsza lub równa node_count * (liczba procesorów CPU lub procesorów GPU na węzeł).

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

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, w którym należy uruchomić eksperyment, 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

Ciąg reprezentujący ścieżkę względną 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

Ciąg reprezentujący ścieżkę względną 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

Ciąg reprezentujący ścieżkę względną 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

Ciąg reprezentujący ścieżkę względną 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, pierwszeństwo przed innymi parametrami powiązanymi ze środowiskiem, takimi jak use_gpu, , custom_docker_imagelub conda_packagespip_packages. Błędy zostaną zgłoszone w przypadku tych nieprawidłowych kombinacji.

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 tensorFlow do użycia do wykonywania kodu szkoleniowego. Jeśli nie podano żadnej wersji, narzędzie do szacowania będzie domyślnie korzystać z najnowszej wersji obsługiwanej przez usługę Azure ML. Użyj polecenia TensorFlow.get_supported_versions() , aby zwrócić listę, aby uzyskać listę wszystkich wersji obsługiwanych przez bieżący zestaw SDK usługi Azure ML.

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 obiektu 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 obiektu obliczeniowego, który zostanie utworzony na potrzeby trenowania. Jeśli nie zostanie określony, zostanie użyty ciąg "dedicated".

Obsługiwane wartości:"dedicated" 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 uczenia.

script_params
Wymagane

Słownik argumentów wiersza polecenia do przekazania do skryptu trenowania tne określonego w .entry_script

node_count
Wymagane
int

Liczba węzłów w docelowym obiekcie obliczeniowym używanym do trenowania. Tylko element docelowy AmlCompute jest obsługiwany w przypadku trenowania rozproszonego (node_count> 1).

process_count_per_node
Wymagane
int

W przypadku korzystania z interfejsu MPI liczba procesów na węzeł.

worker_count
Wymagane
int

W przypadku korzystania z serwera parametrów liczba węzłów roboczych.

PRZESTARZAŁE. Określ jako część parametru distributed_training .

parameter_server_count
Wymagane
int

W przypadku korzystania z serwera parametrów liczba węzłów serwera parametrów.

distributed_backend
Wymagane
str

Zaplecze komunikacji na potrzeby trenowania rozproszonego.

PRZESTARZAŁE. Użyj parametru distributed_training .

Obsługiwane wartości: "mpi" i "ps". Element "mpi" reprezentuje mpI/Horovod i "ps" reprezentuje serwer parametrów.

Ten parametr jest wymagany, gdy dowolny z node_count, process_count_per_node, worker_countlub parameter_server_count> 1. W przypadku wartości "ps" suma worker_count i parameter_server_count powinna być mniejsza lub równa node_count * (liczba procesorów CPU lub procesorów GPU na węzeł)

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. jest obsługiwany w przypadku trenowania rozproszonego.

distributed_training
Wymagane

Parametry uruchamiania rozproszonego zadania trenowania.

W przypadku uruchamiania zadania rozproszonego z zapleczem serwera parametrów użyj ParameterServer obiektu , aby określić worker_count elementy i parameter_server_count. Suma parametrów worker_count i parameter_server_count powinna być mniejsza lub równa node_count * (liczba procesorów CPU lub PROCESORów GPU na węzeł).

W przypadku uruchamiania zadania rozproszonego z zapleczem MPI użyj Mpi obiektu w celu określenia elementu process_count_per_node.

use_gpu
Wymagane

Określa, czy środowisko do uruchomienia eksperymentu powinno obsługiwać procesory GPU. W przypadku wartości true 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 docelowych obiektach obliczeniowych z obsługą platformy Docker.

use_docker
Wymagane

Określa, czy środowisko, w którym ma być uruchamiany eksperyment, 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 skompilowany.

PRZESTARZAŁE. Użyj parametru custom_docker_image .

Jeśli nie zostanie ustawiony, domyślny obraz oparty na procesorze CPU będzie używany jako obraz podstawowy.

custom_docker_image
Wymagane
str

Nazwa obrazu platformy Docker, z którego obraz do użycia do trenowania zostanie skompilowany. Jeśli nie zostanie ustawiony, domyślny obraz oparty na procesorze CPU będzie używany 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 .

environment_variables
Wymagane

Słownik nazw i wartości zmiennych środowiskowych. Te zmienne środowiskowe są ustawiane w procesie wykonywania skryptu użytkownika.

conda_dependencies_file
Wymagane
str

Ciąg reprezentujący ścieżkę względną 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 wykonywania skryptu użytkownika.

environment_definition
Wymagane

Definicja środowiska dla eksperymentu. Obejmuje ona zmienne środowiskowe PythonSection, DockerSection i . Za pomocą tego parametru można ustawić opcję środowiska, która nie jest bezpośrednio widoczna za pośrednictwem innych parametrów konstrukcji narzędzia do szacowania. Jeśli ten parametr zostanie określony, pierwszeństwo będzie mieć inne parametry związane ze środowiskiem, takie jak use_gpu, custom_docker_image, conda_packageslub pip_packages. Błędy zostaną zgłoszone dla tych nieprawidłowych kombinacji.

inputs
Wymagane

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

source_directory_data_store
Wymagane
str

Magazyn danych kopii zapasowej dla udziału projektu.

shm_size
Wymagane

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

framework_version
Wymagane
str

Wersja biblioteki TensorFlow, która ma być używana do wykonywania kodu szkoleniowego. Jeśli wersja nie zostanie podana, narzędzie do szacowania będzie domyślnie korzystać z najnowszej wersji obsługiwanej przez usługę Azure ML. Użyj TensorFlow.get_supported_versions(), aby zwrócić listę, aby uzyskać listę wszystkich wersji obsługiwanych przez bieżący zestaw SDK usługi Azure ML.

_enable_optimized_mode
Wymagane

Włącz kompilację środowiska przyrostowego za pomocą wstępnie utworzonych obrazów platformy w celu szybszego przygotowania środowiska. Wstępnie utworzony obraz struktury 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 trenowania usługa Azure ML uruchamia skrypt w środowisku conda w kontenerze platformy Docker. Kontenery TensorFlow mają zainstalowane następujące zależności.

Zależności | 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 (tylko obraz gpu) | 9.0 | 10.0 | 10.0 | cuDNN (tylko obraz procesora GPU) | 7.6.3 | 7.6.3 | 7.6.3 | NCCL (tylko obraz gpu) | 2.4.8 | 2.4.8 | 2.4.8 | azureml-defaults | Najnowsze | Najnowsze | Najnowsze | azureml-dataset-runtime[fuse,pandas] | Najnowsze | Najnowsze | Najnowsze | 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 |

Obrazy platformy Docker w wersji 1 rozszerzają system Ubuntu 16.04. Obrazy platformy Docker w wersji 2 rozszerzają system Ubuntu 18.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 lub 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 biblioteki TensorFlow, zobacz https://github.com/Azure/AzureML-Containers.

Klasa TensorFlow obsługuje dwie metody trenowania rozproszonego:

Aby uzyskać przykłady i więcej informacji na temat korzystania z biblioteki TensorFlow w trenowaniu rozproszonym, zobacz samouczek Trenowanie i rejestrowanie modeli TensorFlow na dużą skalę za pomocą usługi Azure Machine Learning.

Atrybuty

DEFAULT_VERSION

DEFAULT_VERSION = '1.13'

FRAMEWORK_NAME

FRAMEWORK_NAME = 'TensorFlow'