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
Обязательно
|
[Обязательный] Имя шага. |
|
hyperdrive_config
Обязательно
|
[Обязательный] HyperDriveConfig, определяющий конфигурацию для запуска HyperDrive. |
|
estimator_entry_script_arguments
|
Список аргументов командной строки для скрипта записи оценки. Если скрипт записи Estimator не принимает аргументы командной строки, задайте для этого параметра пустой список. Default value: None
|
|
inputs
|
list[Union[InputPortBinding, PipelineOutputAbstractDataset, DataReference, PortDataReference, PipelineData, DatasetConsumptionConfig]]
Список входных привязок портов. Default value: None
|
|
outputs
|
Список привязок выходного порта Default value: None
|
|
metrics_output
|
Необязательное значение, указывающее расположение для хранения метрик Запуска HyperDrive в виде JSON-файла. Default value: None
|
|
allow_reuse
|
Указывает, должен ли шаг повторно использовать предыдущие результаты при повторном запуске с теми же параметрами. Повторное использование включено по умолчанию. Если содержимое шага (скрипты или зависимости), а также входные и параметры остаются неизменными, выходные данные предыдущего выполнения этого шага повторно будут использоваться. При повторном использовании шага вместо отправки задания на вычисление результаты предыдущего запуска немедленно становятся доступными для всех последующих шагов. Если вы используете наборы данных Машинного обучения Azure в качестве входных данных, повторное использование определяется тем, изменилось ли определение набора данных, а не по изменению базовых данных. Default value: True
|
|
version
|
Необязательный тег версии, обозначающий изменение функциональности модуля. Default value: None
|
|
name
Обязательно
|
[Обязательный] Имя шага. |
|
hyperdrive_config
Обязательно
|
[Обязательный] HyperDriveConfig, определяющий конфигурацию для запуска HyperDrive. |
|
estimator_entry_script_arguments
Обязательно
|
Список аргументов командной строки для скрипта записи оценки. Если скрипт записи Estimator не принимает аргументы командной строки, задайте для этого параметра пустой список. |
|
inputs
Обязательно
|
list[Union[InputPortBinding, PipelineOutputAbstractDataset, DataReference, PortDataReference, PipelineData, DatasetConsumptionConfig]]
Список входных привязок портов. |
|
outputs
Обязательно
|
Список привязок выходного порта. |
|
metrics_output
Обязательно
|
Необязательное значение, указывающее расположение для хранения метрик запуска HyperDrive в виде JSON-файла. |
|
allow_reuse
Обязательно
|
Указывает, должен ли шаг повторно использовать предыдущие результаты при повторном запуске с теми же параметрами. Повторное использование включено по умолчанию. Если содержимое шага (скрипты или зависимости), а также входные и параметры остаются неизменными, выходные данные предыдущего выполнения этого шага повторно будут использоваться. При повторном использовании шага вместо отправки задания на вычисление результаты предыдущего запуска немедленно становятся доступными для всех последующих шагов. Если вы используете наборы данных Машинного обучения Azure в качестве входных данных, повторное использование определяется тем, изменилось ли определение набора данных, а не по изменению базовых данных. |
|
version
Обязательно
|
версия |
Комментарии
Обратите внимание, что аргументы скрипта записи, используемого в объекте оценки (например, 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>
Контекст графа. |
Возвращаемое значение
| Тип | Описание |
|---|---|
|
Созданный узел. |