Поделиться через


TensorFlow Класс

Представляет оценщик для обучения в экспериментах TensorFlow.

УСТАРЕВШИЕ. ScriptRunConfig Используйте объект с определенной средой или одной из проверенных сред Azure ML TensorFlow. Общие сведения о настройке экспериментов 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 попытается автоматически

отмените выполнение, если оно занимает больше времени, чем это значение.

Конструктор

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)

Параметры

Имя Описание
source_directory
Обязательно
str

Локальный каталог, содержащий файлы конфигурации эксперимента.

compute_target
Обязательно

Целевой объект вычислений, в котором будет выполняться обучение. Это может быть объект или строка "local".

vm_size
Обязательно
str

Размер виртуальной машины целевого объекта вычислений, который будет создан для обучения. Поддерживаемые значения: любой размер виртуальной машины Azure.

vm_priority
Обязательно
str

Приоритет виртуальной машины целевого объекта вычислений, который будет создан для обучения. Если значение не указано, используется значение "выделенный".

Поддерживаемые значения:'dedicated' и 'lowpriority'.

Это действует только при vm_size param указании входных данных.

entry_script
Обязательно
str

Относительный путь к файлу, содержаму скрипт обучения.

script_params
Обязательно

Словарь аргументов командной строки для передачи в скрипт обучения, указанный в entry_script.

node_count
Обязательно
int

Количество узлов в целевом объекте вычислений, используемое для обучения. Для распределенного обученияAmlComputenode_count (1) поддерживается только целевой > объект.

process_count_per_node
Обязательно
int

При использовании MPI число процессов на узел.

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_nodeworker_countили parameter_server_count> 1. В случае ps сумма worker_count и parameter_server_count должна быть меньше или равна node_count * (число ЦП или GPU на узел)

Если node_count == 1 и process_count_per_node == 1, серверная часть не будет использоваться, если серверная часть не задана явным образом. Для распределенного обучения поддерживается только целевой AmlCompute объект.

distributed_training
Обязательно

Параметры для выполнения распределенного задания обучения.

Для выполнения распределенного задания с серверной частью сервера параметров используйте ParameterServer объект для указания worker_count и parameter_server_count. worker_count Сумма и parameter_server_count параметры должны быть меньше или равно node_count * (количество ЦП или GPU на узел).

Для выполнения распределенного задания с серверной частью MPI используйте Mpi объект для указания process_count_per_node.

use_gpu
Обязательно

Указывает, должна ли среда запускать эксперимент, поддерживать графические процессоры. Если значение true, в среде будет использоваться образ docker на основе GPU по умолчанию. Если значение false, будет использоваться образ на основе ЦП. Образы Docker по умолчанию (ЦП или GPU) будут использоваться только в том случае, если custom_docker_image параметр не задан. Этот параметр используется только в целевых объектах вычислений с поддержкой Docker.

use_docker
Обязательно

Указывает, должна ли среда, в которой запустить эксперимент, на основе Docker.

custom_docker_base_image
Обязательно
str

Имя образа Docker, из которого будет создан образ, используемый для обучения.

УСТАРЕВШИЕ. Используйте параметр custom_docker_image.

Если не задано, образ на основе ЦП по умолчанию будет использоваться в качестве базового образа.

custom_docker_image
Обязательно
str

Имя образа Docker, из которого будет создан образ, используемый для обучения. Если не задано, образ на основе ЦП по умолчанию будет использоваться в качестве базового образа.

image_registry_details
Обязательно

Сведения о реестре образов Docker.

user_managed
Обязательно

Указывает, повторно ли azure ML использует существующую среду Python. Если значение false, машинное обучение Azure создаст среду Python на основе спецификации зависимостей conda.

conda_packages
Обязательно

Список строк, представляющих пакеты conda, добавляемые в среду Python для эксперимента.

pip_packages
Обязательно

Список строк, представляющих пакеты 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
Обязательно

Словарь имен и значений переменных среды. Эти переменные среды задаются в процессе выполнения пользовательского скрипта.

environment_definition
Обязательно

Определение среды для эксперимента. Она включает в себя переменные PythonSection, DockerSection и среды. Любой параметр среды, не предоставляемый напрямую с помощью других параметров конструкции оценщика, можно задать с помощью этого параметра. Если этот параметр указан, он будет иметь приоритет над другими связанными с средой параметрами, такими как use_gpu, custom_docker_imageconda_packagesили pip_packages. Ошибки будут сообщаться об этих недопустимых сочетаниях.

inputs
Обязательно

Список DataReference или DatasetConsumptionConfig объекты, используемые в качестве входных данных.

source_directory_data_store
Обязательно

Резервное хранилище данных для общего ресурса проекта.

shm_size
Обязательно
str

Размер общего блока памяти контейнера Docker. Если не задано, используется azureml.core.environment._DEFAULT_SHM_SIZE по умолчанию. Для получения дополнительной информации см. справочник по команде Docker run.

resume_from
Обязательно

Путь к данным, содержащий файлы контрольной точки или модели, из которых необходимо возобновить эксперимент.

max_run_duration_seconds
Обязательно
int

Максимально допустимое время выполнения. Машинное обучение Azure попытается автоматически отменить выполнение, если оно занимает больше времени, чем это значение.

framework_version
Обязательно
str

Версия TensorFlow, используемая для выполнения кода обучения. Если версия не указана, estimator по умолчанию будет поддерживать последнюю версию, поддерживаемую Машинным обучением Azure. Используйте TensorFlow.get_supported_versions() для возврата списка, чтобы получить список всех версий, поддерживаемых текущим пакетом SDK машинного обучения Azure.

source_directory
Обязательно
str

Локальный каталог, содержащий файлы конфигурации эксперимента.

compute_target
Обязательно

Целевой объект вычислений, в котором будет выполняться обучение. Это может быть объект или строка "local".

vm_size
Обязательно
str

Размер виртуальной машины целевого объекта вычислений, который будет создан для обучения. Поддерживаемые значения: любой размер виртуальной машины Azure.

vm_priority
Обязательно
str

Приоритет виртуальной машины целевого объекта вычислений, который будет создан для обучения. Если значение не указано, используется значение "выделенный".

Поддерживаемые значения:'dedicated' и 'lowpriority'.

Это действует только при vm_size param указании входных данных.

entry_script
Обязательно
str

Относительный путь к файлу, содержаму скрипт обучения.

script_params
Обязательно

Словарь аргументов командной строки для передачи в скрипт обучения tne, указанный в entry_script.

node_count
Обязательно
int

Количество узлов в целевом объекте вычислений, используемое для обучения. Для распределенного обученияAmlComputenode_count (1) поддерживается только целевой > объект.

process_count_per_node
Обязательно
int

При использовании MPI число процессов на узел.

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_nodeworker_countили parameter_server_count> 1. В случае ps сумма worker_count и parameter_server_count должна быть меньше или равна node_count * (число ЦП или GPU на узел)

Если node_count == 1 и process_count_per_node == 1, серверная часть не будет использоваться, если серверная часть не задана явным образом. Для распределенного обучения поддерживается только целевой AmlCompute объект. поддерживается для распределенного обучения.

distributed_training
Обязательно

Параметры для выполнения распределенного задания обучения.

Для выполнения распределенного задания с серверной частью сервера параметров используйте ParameterServer объект для указания worker_count и parameter_server_count. worker_count Сумма и parameter_server_count параметры должны быть меньше или равно node_count * (количество ЦП или GPU на узел).

Для выполнения распределенного задания с серверной частью MPI используйте Mpi объект для указания process_count_per_node.

use_gpu
Обязательно

Указывает, должна ли среда запускать эксперимент, поддерживать графические процессоры. Если значение true, образ Docker на основе GPU по умолчанию будет использоваться в среде. Если значение false, будет использоваться образ на основе ЦП. Образы Docker по умолчанию (ЦП или GPU) будут использоваться только в том случае, если custom_docker_image параметр не задан. Этот параметр используется только в целевых объектах вычислений с поддержкой Docker.

use_docker
Обязательно

Указывает, должна ли среда, в которой запустить эксперимент, на основе Docker.

custom_docker_base_image
Обязательно
str

Имя образа Docker, из которого будет создан образ, используемый для обучения.

УСТАРЕВШИЕ. Используйте параметр custom_docker_image.

Если не задано, образ на основе ЦП по умолчанию будет использоваться в качестве базового образа.

custom_docker_image
Обязательно
str

Имя образа Docker, из которого будет создан образ, используемый для обучения. Если не задано, образ на основе ЦП по умолчанию будет использоваться в качестве базового образа.

image_registry_details
Обязательно

Сведения о реестре образов Docker.

user_managed
Обязательно

Указывает, повторно ли azure ML использует существующую среду Python. Если значение false, машинное обучение Azure создаст среду Python на основе спецификации зависимостей conda.

conda_packages
Обязательно

Список строк, представляющих пакеты conda, добавляемые в среду Python для эксперимента.

pip_packages
Обязательно

Список строк, представляющих пакеты 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
Обязательно

Словарь имен и значений переменных среды. Эти переменные среды задаются в процессе выполнения пользовательского скрипта.

conda_dependencies_file
Обязательно
str

Строка, представляющая относительный путь к yaml-файлу зависимостей conda. Если задано, Машинное обучение Azure не установит пакеты, связанные с платформой.

pip_requirements_file
Обязательно
str

Относительный путь к текстовому файлу требований pip. Это можно предоставить в сочетании с параметром pip_packages .

environment_variables
Обязательно

Словарь имен и значений переменных среды. Эти переменные среды задаются в процессе выполнения пользовательского скрипта.

environment_definition
Обязательно

Определение среды для эксперимента. Она включает в себя переменные PythonSection, DockerSection и среды. Любой параметр среды, не предоставляемый напрямую с помощью других параметров конструкции оценщика, можно задать с помощью этого параметра. Если этот параметр указан, он будет иметь приоритет над другими параметрами, связанными с средой, например use_gpu, custom_docker_imageconda_packagesили pip_packages. Ошибки будут сообщаться об этих недопустимых сочетаниях.

inputs
Обязательно

Список azureml.data.data_reference. Объекты DataReference для использования в качестве входных данных.

source_directory_data_store
Обязательно
str

Резервное хранилище данных для общего ресурса проекта.

shm_size
Обязательно

Размер общего блока памяти контейнера Docker. Если значение не задано, значение по умолчанию azureml.core.environment._DEFAULT_SHM_SIZE. Для получения дополнительной информации см. раздел

framework_version
Обязательно
str

Версия TensorFlow, используемая для выполнения кода обучения. Если версия не указана, estimator по умолчанию будет поддерживать последнюю версию, поддерживаемую Машинным обучением Azure. Используйте TensorFlow.get_supported_versions() для возврата списка, чтобы получить список всех версий, поддерживаемых текущим пакетом SDK машинного обучения Azure.

_enable_optimized_mode
Обязательно

Включите добавочную сборку среды с предварительно созданными образами платформ для ускорения подготовки среды. Предварительно созданный образ платформы построен на основе базовых образов ЦП и GPU azure ML по умолчанию с предварительно установленными зависимостями платформы.

_disable_validation
Обязательно

Отключите проверку скрипта перед отправкой. Значение по умолчанию — True.

_show_lint_warnings
Обязательно

Отображение предупреждений о подстраивание скрипта. Значение по умолчанию — False.

_show_package_warnings
Обязательно

Отображение предупреждений проверки пакета. Значение по умолчанию — False.

Комментарии

При отправке задания обучения Машинное обучение Azure запускает скрипт в среде 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 версии 1 расширяют 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 поддерживает два метода распределенного обучения:

Примеры и дополнительные сведения об использовании TensorFlow в распределенном обучении см. в руководстве по обучению и регистрации моделей TensorFlow в масштабе с помощью Машинного обучения Azure.

Атрибуты

DEFAULT_VERSION

DEFAULT_VERSION = '1.13'

FRAMEWORK_NAME

FRAMEWORK_NAME = 'TensorFlow'