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


HyperDriveStep Класс

Создает шаг Конвейера машинного обучения Azure для запуска туннинга гиперпараметров для обучения модели машинного обучения.

Пример использования HyperDriveStep см. в записной книжке https://aka.ms/pl-hyperdrive.

Создайте шаг Конвейера машинного обучения Azure для запуска туннинга гиперпараметров для обучения модели машинного обучения.

Конструктор

HyperDriveStep(name, hyperdrive_config, estimator_entry_script_arguments=None, inputs=None, outputs=None, metrics_output=None, allow_reuse=True, version=None)

Параметры

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

[Обязательный] Имя шага.

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

[Обязательный] HyperDriveConfig, определяющий конфигурацию для запуска HyperDrive.

estimator_entry_script_arguments

Список аргументов командной строки для скрипта записи оценки. Если скрипт записи Estimator не принимает аргументы командной строки, задайте для этого параметра пустой список.

Default value: None
inputs

Список входных привязок портов.

Default value: None
outputs

Список привязок выходного порта

Default value: None
metrics_output

Необязательное значение, указывающее расположение для хранения метрик Запуска HyperDrive в виде JSON-файла.

Default value: None
allow_reuse

Указывает, должен ли шаг повторно использовать предыдущие результаты при повторном запуске с теми же параметрами. Повторное использование включено по умолчанию. Если содержимое шага (скрипты или зависимости), а также входные и параметры остаются неизменными, выходные данные предыдущего выполнения этого шага повторно будут использоваться. При повторном использовании шага вместо отправки задания на вычисление результаты предыдущего запуска немедленно становятся доступными для всех последующих шагов. Если вы используете наборы данных Машинного обучения Azure в качестве входных данных, повторное использование определяется тем, изменилось ли определение набора данных, а не по изменению базовых данных.

Default value: True
version
str

Необязательный тег версии, обозначающий изменение функциональности модуля.

Default value: None
name
Обязательно
str

[Обязательный] Имя шага.

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

[Обязательный] HyperDriveConfig, определяющий конфигурацию для запуска HyperDrive.

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

Список аргументов командной строки для скрипта записи оценки. Если скрипт записи Estimator не принимает аргументы командной строки, задайте для этого параметра пустой список.

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

Список входных привязок портов.

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

Список привязок выходного порта.

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

Необязательное значение, указывающее расположение для хранения метрик запуска HyperDrive в виде JSON-файла.

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

Указывает, должен ли шаг повторно использовать предыдущие результаты при повторном запуске с теми же параметрами. Повторное использование включено по умолчанию. Если содержимое шага (скрипты или зависимости), а также входные и параметры остаются неизменными, выходные данные предыдущего выполнения этого шага повторно будут использоваться. При повторном использовании шага вместо отправки задания на вычисление результаты предыдущего запуска немедленно становятся доступными для всех последующих шагов. Если вы используете наборы данных Машинного обучения Azure в качестве входных данных, повторное использование определяется тем, изменилось ли определение набора данных, а не по изменению базовых данных.

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

версия

Комментарии

Обратите внимание, что аргументы скрипта записи, используемого в объекте оценки (например, TensorFlow объект), должны быть указаны в качестве списка с помощью estimator_entry_script_arguments параметра при создании экземпляра HyperDriveStep. Параметр оценки script_params принимает словарь. estimator_entry_script_argument Однако параметр ожидает аргументы в виде списка.

Инициализация HyperDriveStep включает указание списка DataReference объектов с параметром inputs . В Azure ML Pipelines шаг конвейера может выполнять выходные данные другого шага или объекты DataReference в качестве входных данных. Поэтому при создании HyperDriveStep inputs необходимо явно задать параметры и outputs параметры, которые переопределяют inputs параметр, указанный в объекте Estimator.

Рекомендуется работать с HyperDriveStep, чтобы использовать отдельную папку для сценариев и любых зависимых файлов, связанных с шагом, и указать папку в качестве объекта source_directoryоценки. Например, см source_directory . параметр TensorFlow класса. Это имеет два преимущества. Во-первых, это помогает уменьшить размер моментального снимка, созданного для шага, так как для этого шага создается моментальный снимок только того, что необходимо. Во-вторых, выходные данные шага из предыдущего запуска можно повторно использовать, если нет изменений source_directory , которые активируют повторную отправку оснастки.

В следующем примере показано, как использовать HyperDriveStep в конвейере машинного обучения Azure.


   metrics_output_name = 'metrics_output'
   metrics_data = PipelineData(name='metrics_data',
                               datastore=datastore,
                               pipeline_output_name=metrics_output_name,
                               training_output=TrainingOutput("Metrics"))

   model_output_name = 'model_output'
   saved_model = PipelineData(name='saved_model',
                               datastore=datastore,
                               pipeline_output_name=model_output_name,
                               training_output=TrainingOutput("Model",
                                                              model_file="outputs/model/saved_model.pb"))

   hd_step_name='hd_step01'
   hd_step = HyperDriveStep(
       name=hd_step_name,
       hyperdrive_config=hd_config,
       inputs=[data_folder],
       outputs=[metrics_data, saved_model])

Полный пример доступен из https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/machine-learning-pipelines/intro-to-pipelines/aml-pipelines-parameter-tuning-with-hyperdrive.ipynb

Методы

create_node

Создайте узел на шаге HyperDrive и добавьте его в заданный граф.

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

create_node

Создайте узел на шаге HyperDrive и добавьте его в заданный граф.

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

create_node(graph, default_datastore, context)

Параметры

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

Объект graph, в который добавляется узел.

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

Хранилище данных по умолчанию.

context
Обязательно
<xref:azureml.pipeline.core._GraphContext>

Контекст графа.

Возвращаемое значение

Тип Описание

Созданный узел.