TensorFlow Класс
Представляет оценщик для обучения в экспериментах TensorFlow.
НЕ РЕКОМЕНДУЕТСЯ. Используйте объект ScriptRunConfig в собственной определенной среде или в одной из курированных сред TensorFlow Azure ML. Общие сведения о настройке запусков эксперимента TensorFlow с помощью ScriptRunConfig приведены в статье Обучение моделей TensorFlow в большом масштабе с помощью Машинного обучения Azure.
Поддерживаемые версии: 1.10, 1.12, 1.13, 2.0, 2.1, 2.2
Инициализация оценщика TensorFlow.
Справочник по выполнению Docker. :type shm_size: str :p aram resume_from: путь к данным, содержащий файлы контрольной точки или модели, из которых следует возобновить эксперимент. :type resume_from: azureml.datapath.DataPath :p aram max_run_duration_seconds: максимально допустимое время выполнения. Azure ML попытается автоматически
отмените выполнение, если оно занимает больше времени, чем это значение.
- Наследование
-
azureml.train.estimator._framework_base_estimator._FrameworkBaseEstimatorTensorFlow
Конструктор
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)
Параметры
- compute_target
- AbstractComputeTarget или str
Целевой объект вычислений, в котором будет выполняться обучение. Это может быть либо объект, либо строка "local" (локальный).
- vm_size
- str
Размер виртуальной машины целевого объекта вычислений, который будет создан для обучения. Поддерживаемые значения: любой размер виртуальной машины Azure.
- vm_priority
- str
Приоритет виртуальной машины целевого объекта вычислений, который будет создан для обучения. Если значение не указано, используется "dedicated" (выделенный).
Поддерживаемые значения: dedicated и lowpriority.
Действует только в том случае, если vm_size param
указан во входных данных.
- script_params
- dict
Словарь аргументов командной строки для передачи в скрипт обучения, указанный в entry_script
.
- node_count
- int
Число узлов в целевом объекте вычислений, используемом для обучения. Для распределенного обучения (node_count
> 1) поддерживается только целевой объект AmlCompute.
- worker_count
- int
При использовании сервера параметров для распределенного обучения это число рабочих узлов.
НЕ РЕКОМЕНДУЕТСЯ. Укажите как часть параметра distributed_training
.
- parameter_server_count
- int
При использовании сервера параметров для распределенного обучения это число узлов серверов параметров.
- distributed_backend
- str
Внутренний сервер подключений для распределенного обучения.
НЕ РЕКОМЕНДУЕТСЯ. Используйте параметр distributed_training
.
Поддерживаемые значения: "mpi" и "ps". MPI представляет MPI/Horovod, а PS — сервер параметров.
Этот параметр является обязательным при node_count
, process_count_per_node
, worker_count
или parameter_server_count
> 1.
В случае с PS сумма worker_count
и parameter_server_count
должна быть меньше или равна node_count
* (количество процессоров или графических процессоров на узел).
Если node_count
== 1 и process_count_per_node
== 1, серверная часть не будет использоваться, кроме случаев, когда она задана явным образом. Для распределенного обучения поддерживается только целевой объект AmlCompute.
- distributed_training
- ParameterServer или Mpi
Параметры для выполнения распределенного задания обучения.
Для выполнения распределенного задания с помощью сервера параметров используйте объект ParameterServer для указания worker_count
и parameter_server_count
.
Сумма параметров worker_count
и parameter_server_count
должна быть меньше или равна node_count
* (количество ЦП или GPU на узел).
Для выполнения распределенного задания с помощью MPI-сервера, используйте объект Mpi для указания process_count_per_node
.
- use_gpu
- bool
Указывает, должна ли среда выполнения эксперимента поддерживать GPU.
При значении True в среде будет использоваться образ Docker по умолчанию на основе GPU. При значении False будет использоваться образ на основе ЦП. Образы Docker по умолчанию (ЦП или GPU) будут использоваться только в том случае, если параметр custom_docker_image
не задан. Этот параметр используется только в целевых объектах вычислений с поддержкой Docker.
- use_docker
- bool
Указывает, должна ли среда, используемая для проведения эксперимента, быть основана на Docker.
- custom_docker_base_image
- str
Имя образа Docker, из которого будет построен образ, используемый для обучения.
НЕ РЕКОМЕНДУЕТСЯ. Используйте параметр custom_docker_image
.
Если он не задан, в качестве базового образа будет использоваться образ на основе ЦП по умолчанию.
- custom_docker_image
- str
Имя образа Docker, из которого будет построен образ, используемый для обучения. Если он не задан, в качестве базового образа будет использоваться образ на основе ЦП по умолчанию.
- user_managed
- bool
Указывает, будет ли Azure ML повторно использовать существующую среду Python. При значении False Azure ML создает среду Python на основе спецификации зависимостей Conda.
- conda_packages
- list
Список строк, представляющих пакеты Сonda, добавляемые в среду Python для эксперимента.
- pip_packages
- list
Список строк, представляющих пакеты pip, добавляемые в среду Python для эксперимента.
- conda_dependencies_file_path
- str
Строка, представляющая относительный путь к файлу YAML зависимостей Conda.
Если он указан, Машинное обучение Azure не будет устанавливать пакеты, связанные с платформой.
НЕ РЕКОМЕНДУЕТСЯ. Используйте параметр conda_dependencies_file
.
- pip_requirements_file_path
- str
Строка, представляющая относительный путь к текстовому файлу требований PIP.
Его можно указать в сочетании с параметром pip_packages
.
НЕ РЕКОМЕНДУЕТСЯ. Используйте параметр pip_requirements_file
.
- conda_dependencies_file
- str
Строка, представляющая относительный путь к файлу YAML зависимостей Conda. Если он указан, Машинное обучение Azure не будет устанавливать пакеты, связанные с платформой.
- pip_requirements_file
- str
Строка, представляющая относительный путь к текстовому файлу требований PIP.
Его можно указать в сочетании с параметром pip_packages
.
- environment_variables
- dict
Словарь имен и значений переменных среды. Эти переменные среды задаются для процесса, в котором выполняется пользовательский скрипт.
- environment_definition
- Environment
Определение среды для эксперимента. Сюда входят PythonSection, DockerSection и переменные среды. С помощью этого параметра можно задать любую опцию среды, которая не предоставляется напрямую через другие параметры в конструкцию оценщика. Если этот параметр указан, он будет иметь приоритет над другими параметрами, связанными со средой, например, use_gpu
, custom_docker_image
, conda_packages
и pip_packages
.
При недопустимых сочетаниях параметров будут выводиться сообщения об ошибке.
- inputs
- list
Список объектов DataReference или DatasetConsumptionConfig, используемых в качестве входных данных.
- source_directory_data_store
- Datastore
Резервное хранилище данных для общей папки проекта.
- shm_size
- str
Размер блока общей памяти контейнера Docker. Если значение не задано, используется значение по умолчанию azureml.core.environment._DEFAULT_SHM_SIZE. Дополнительные сведения приведены в статье со справочными сведениями о запусках Docker.
- resume_from
- DataPath
Путь к данным, содержащий файлы контрольной точки или модели, из которых возобновляется выполнение эксперимента.
- max_run_duration_seconds
- int
Максимально допустимое время выполнения. Машинное обучение Azure будет пытаться автоматически отменить выполнение, если оно занимает больше времени, чем задано этим значением.
- framework_version
- str
Версия TensorFlow, которая будет использоваться для исполнения кода обучения.
Если версия не указана, оценщик по умолчанию будет использовать последнюю версию, поддерживаемую Azure ML.
Используйте TensorFlow.get_supported_versions()
для возврата списка, чтобы получить список всех версий, поддерживаемых текущим пакетом SDK Azure ML.
- compute_target
- AbstractComputeTarget или str
Целевой объект вычислений, в котором будет выполняться обучение. Это может быть либо объект, либо строка "local" (локальный).
- vm_size
- str
Размер виртуальной машины целевого объекта вычислений, который будет создан для обучения. Поддерживаемые значения: любой размер виртуальной машины Azure.
- vm_priority
- str
Приоритет виртуальной машины целевого объекта вычислений, который будет создан для обучения. Если значение не указано, используется "dedicated" (выделенный).
Поддерживаемые значения: dedicated и lowpriority.
Действует только в том случае, если vm_size param
указан во входных данных.
- script_params
- dict
Словарь аргументов командной строки для передачи в скрипт обучения tne, указанный в entry_script
.
- node_count
- int
Число узлов в целевом объекте вычислений, используемом для обучения. Для распределенного обучения (node_count
> 1) поддерживается только целевой объект AmlCompute.
- worker_count
- int
При использовании сервера параметров — количество рабочих узлов.
НЕ РЕКОМЕНДУЕТСЯ. Укажите как часть параметра distributed_training
.
- parameter_server_count
- int
При использовании сервера параметров — количество узлов сервера параметров.
- distributed_backend
- str
Внутренний сервер подключений для распределенного обучения.
НЕ РЕКОМЕНДУЕТСЯ. Используйте параметр distributed_training
.
Поддерживаемые значения: "mpi" и "ps". MPI представляет MPI/Horovod, а PS — сервер параметров.
Этот параметр является обязательным при node_count
, process_count_per_node
, worker_count
или parameter_server_count
> 1.
В случае с PS сумма worker_count
и parameter_server_count
должна быть меньше или равна node_count
* (количество процессоров или графических процессоров на узел).
Если node_count
== 1 и process_count_per_node
== 1, серверная часть не будет использоваться, кроме случаев, когда она задана явным образом. Для распределенного обучения поддерживается только целевой объект AmlCompute.
поддерживается для распределенного обучения.
- distributed_training
- ParameterServer или Mpi
Параметры для выполнения распределенного задания обучения.
Для выполнения распределенного задания с серверной частью сервера параметров используйте ParameterServer объект , чтобы указать worker_count
и parameter_server_count
.
Сумма параметров worker_count
и parameter_server_count
должна быть меньше или равна node_count
* (количество ЦП или GPU на узел).
Чтобы запустить распределенное задание с помощью MPI-сервера, используйте объект Mpi для указания process_count_per_node
.
- use_gpu
- bool
Указывает, должна ли среда выполнения эксперимента поддерживать GPU.
При значении True в среде будет использоваться образ Docker по умолчанию на основе GPU. При значении False будет использоваться образ на основе ЦП. Образы Docker по умолчанию (ЦП или GPU) будут использоваться только в том случае, если custom_docker_image
параметр не задан. Этот параметр используется только в целевых объектах вычислений с поддержкой Docker.
- use_docker
- bool
Указывает, должна ли среда, используемая для проведения эксперимента, быть основана на Docker.
- custom_docker_base_image
- str
Имя образа Docker, из которого будет построен образ, используемый для обучения.
НЕ РЕКОМЕНДУЕТСЯ. Используйте параметр custom_docker_image
.
Если он не задан, в качестве базового образа будет использоваться образ на основе ЦП по умолчанию.
- custom_docker_image
- str
Имя образа Docker, из которого будет построен образ, используемый для обучения. Если он не задан, в качестве базового образа будет использоваться образ на основе ЦП по умолчанию.
- user_managed
- bool
Указывает, будет ли Azure ML повторно использовать существующую среду Python. При значении False Azure ML создает среду Python на основе спецификации зависимостей Conda.
- conda_packages
- list
Список строк, представляющих пакеты Сonda, добавляемые в среду Python для эксперимента.
- pip_packages
- list
Список строк, представляющих пакеты pip, добавляемые в среду Python для эксперимента.
- conda_dependencies_file_path
- str
Относительный путь к файлу YAML зависимостей Conda. Если он указан, Машинное обучение Azure не будет устанавливать пакеты, связанные с платформой.
НЕ РЕКОМЕНДУЕТСЯ. Используйте параметр conda_dependencies_file
.
- pip_requirements_file_path
- str
Относительный путь к текстовому файлу требований PIP.
Его можно указать в сочетании с параметром pip_packages
.
НЕ РЕКОМЕНДУЕТСЯ. Используйте параметр pip_requirements_file
.
- environment_variables
- dict
Словарь имен и значений переменных среды. Эти переменные среды задаются для процесса, в котором выполняется пользовательский скрипт.
- conda_dependencies_file
- str
Строка, представляющая относительный путь к файлу YAML зависимостей Conda. Если он указан, Машинное обучение Azure не будет устанавливать пакеты, связанные с платформой.
- pip_requirements_file
- str
Относительный путь к текстовому файлу требований PIP.
Его можно указать в сочетании с параметром pip_packages
.
- environment_variables
Словарь имен и значений переменных среды. Эти переменные среды задаются для процесса, в котором выполняется пользовательский скрипт.
- environment_definition
- Environment
Определение среды для эксперимента. Сюда входят PythonSection, DockerSection и переменные среды. С помощью этого параметра можно задать любую опцию среды, которая не предоставляется напрямую через другие параметры в конструкцию оценщика. Если этот параметр указан, он будет иметь приоритет над другими параметрами, связанными со средой, например, use_gpu
, custom_docker_image
, conda_packages
и pip_packages
.
При недопустимых сочетаниях параметров будут выводиться сообщения об ошибке.
- inputs
- list
Список azureml.data.data_reference. Объекты DataReference, используемые в качестве входных данных.
- shm_size
Размер блока общей памяти контейнера Docker. Если значение не задано, значение по умолчанию — azureml.core.environment._DEFAULT_SHM_SIZE. Дополнительные сведения см. в разделе
- framework_version
- str
Версия TensorFlow, которая будет использоваться для исполнения кода обучения. Если версия не указана, оценщик по умолчанию будет использовать последнюю версию, поддерживаемую Azure ML. Используйте TensorFlow.get_supported_versions(), чтобы получить список всех поддерживаемых версий текущего пакета SDK для Машинного обучения Azure.
- _enable_optimized_mode
- bool
Включите добавочную сборку среды с помощью предварительно созданных образов платформы для ускорения подготовки среды. Предварительно созданный образ платформы создан на основе базовых образов ЦП и GPU Azure ML по умолчанию с предварительно установленными зависимостями платформы.
- _disable_validation
- bool
Отключите проверку скрипта перед запуском отправки. Значение по умолчанию равно True.
- _show_lint_warnings
- bool
Отображение предупреждений о анализе кода скрипта. Значение по умолчанию — False.
- _show_package_warnings
- bool
Отображение предупреждений о проверке пакета. Значение по умолчанию — False.
Комментарии
При отправке задания обучения Azure ML выполняет скрипт в среде Conda в контейнере Docker. В контейнерах TensorFlow установлены следующие зависимости.
Зависимости | 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 (только образ GPU) | 9.0 | 10.0 | 10.0 | cuDNN (только образ GPU) | 7.6.3 | 7.6.3 | 7.6.3 | NCCL (только образ GPU) | 2.4.8 | 2.4.8 | 2.4.8 | azureml-defaults | Последняя | Последняя | Последняя azureml-dataset-runtime[fuse,pandas] | Последняя | Последняя | Последняя | 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 |
Образы Docker v1 расширяют Ubuntu 16.04. Образы Docker версии 2 расширяют Ubuntu 18.04.
Чтобы установить дополнительные зависимости, можно использовать параметр pip_packages
или conda_packages
. Либо можно указать параметр pip_requirements_file
или conda_dependencies_file
.
Кроме того, можно создать собственный образ и передать параметр custom_docker_image
конструктору оценщика.
Дополнительные сведения о контейнерах Docker, используемых в обучении TensorFlow: https://github.com/Azure/AzureML-Containers.
Класс TensorFlow поддерживает два метода распределенного обучения:
распределенное обучение на основе MPI с использованием
платформы Horovod;
собственная распределенная платформа TensorFlow.
Примеры и дополнительные сведения об использовании TensorFlow в распределенном обучении см. в руководстве по обучению моделей TensorFlow в большом масштабе с помощью Машинного обучения Azure.
Атрибуты
DEFAULT_VERSION
DEFAULT_VERSION = '1.13'
FRAMEWORK_NAME
FRAMEWORK_NAME = 'TensorFlow'
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по