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._FrameworkBaseEstimatorTensorFlow
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
- compute_target
- AbstractComputeTarget lub str
Docelowy obiekt obliczeniowy, w którym nastąpi trenowanie. Może to być obiekt lub ciąg "local".
- vm_size
- 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
- 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.
- script_params
- dict
Słownik argumentów wiersza polecenia, który ma być przekazywany do skryptu szkoleniowego określonego w pliku entry_script
.
- node_count
- 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
- int
W przypadku korzystania z interfejsu MPI liczba procesów na węzeł.
- worker_count
- 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
- int
W przypadku korzystania z serwera parametrów do trenowania rozproszonego liczba węzłów serwera parametrów.
- distributed_backend
- 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_count
lub 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
- ParameterServer lub Mpi
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
- bool
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
- bool
Określa, czy środowisko, w którym należy uruchomić eksperyment, powinno być oparte na platformie Docker.
- custom_docker_base_image
- 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
- 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.
- user_managed
- bool
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
- list
Lista ciągów reprezentujących pakiety conda do dodania do środowiska języka Python na potrzeby eksperymentu.
- pip_packages
- list
Lista ciągów reprezentujących pakiety pip do dodania do środowiska języka Python na potrzeby eksperymentu.
- conda_dependencies_file_path
- 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
- 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
- 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
- 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
- dict
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
- Environment
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_image
lub conda_packages
pip_packages
.
Błędy zostaną zgłoszone w przypadku tych nieprawidłowych kombinacji.
- inputs
- list
Lista obiektów lubDatasetConsumptionConfig, DataReference które mają być używane jako dane wejściowe.
- shm_size
- 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
- DataPath
Ścieżka danych zawierająca pliki punktu kontrolnego lub modelu, z których ma być wznowione eksperyment.
- max_run_duration_seconds
- 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
- 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.
- compute_target
- AbstractComputeTarget lub str
Docelowy obiekt obliczeniowy, w którym nastąpi trenowanie. Może to być obiekt lub ciąg "local".
- vm_size
- 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
- 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.
- script_params
- dict
Słownik argumentów wiersza polecenia do przekazania do skryptu trenowania tne określonego w .entry_script
- node_count
- 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
- int
W przypadku korzystania z interfejsu MPI liczba procesów na węzeł.
- worker_count
- 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
- int
W przypadku korzystania z serwera parametrów liczba węzłów serwera parametrów.
- distributed_backend
- 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_count
lub 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
- ParameterServer lub Mpi
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
- bool
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
- bool
Określa, czy środowisko, w którym ma być uruchamiany eksperyment, powinno być oparte na platformie Docker.
- custom_docker_base_image
- 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
- 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.
- user_managed
- bool
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
- list
Lista ciągów reprezentujących pakiety Conda do dodania do środowiska języka Python na potrzeby eksperymentu.
- pip_packages
- list
Lista ciągów reprezentujących pakiety pip do dodania do środowiska języka Python na potrzeby eksperymentu.
- conda_dependencies_file_path
- 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
- 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
- dict
Słownik nazw i wartości zmiennych środowiskowych. Te zmienne środowiskowe są ustawiane w procesie wykonywania skryptu użytkownika.
- conda_dependencies_file
- 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
- str
Ścieżka względna do pliku tekstowego wymagań pip.
Można to podać w połączeniu z parametrem pip_packages
.
- environment_variables
Słownik nazw i wartości zmiennych środowiskowych. Te zmienne środowiskowe są ustawiane w procesie wykonywania skryptu użytkownika.
- environment_definition
- Environment
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_packages
lub pip_packages
.
Błędy zostaną zgłoszone dla tych nieprawidłowych kombinacji.
- inputs
- list
Lista azureml.data.data_reference. Obiekty DataReference do użycia jako dane wejściowe.
- shm_size
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
- 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
- bool
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
- bool
Wyłącz walidację skryptu przed przesłaniem. Wartość domyślna to True.
- _show_lint_warnings
- bool
Pokaż ostrzeżenia dotyczące lintingu skryptu. Wartość domyślna to False.
- _show_package_warnings
- bool
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:
Trenowanie rozproszone oparte na protokole MPI przy użyciu narzędzia
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'
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla