HyperDriveStep Класс
Создает этап конвейера Azure ML для выполнения настройки гиперпараметров для обучения модели Машинного обучения.
Пример использования HyperDriveStep см. в записной книжке: https://aka.ms/pl-hyperdrive.
Создайте шаг конвейера машинного обучения Azure для запуска настройки гиперпараметров для обучения модели Машинного обучения.
- Наследование
-
HyperDriveStep
Конструктор
HyperDriveStep(name, hyperdrive_config, estimator_entry_script_arguments=None, inputs=None, outputs=None, metrics_output=None, allow_reuse=True, version=None)
Параметры
- hyperdrive_config
- HyperDriveConfig
[Обязательно] Объект HyperDriveConfig, определяющий конфигурацию для запуска HyperDrive.
- estimator_entry_script_arguments
- list
Список аргументов командной строки для начального скрипта оценщика. Если скрипт записи оценщика не принимает аргументы командной строки, задайте в качестве значения этого параметра пустой список.
- inputs
- list[Union[InputPortBinding, PipelineOutputAbstractDataset, DataReference, PortDataReference, PipelineData, DatasetConsumptionConfig]]
Список входных привязок портов.
- outputs
- list[Union[PipelineData, OutputDatasetConfig, PipelineOutputAbstractDataset, OutputPortBinding]]
Список выходных привязок портов.
- metrics_output
- Union[PipelineData, DataReference, OutputPortBinding]
Необязательное значение, указывающее расположение для хранения метрик выполнения HyperDrive в виде файла JSON.
- allow_reuse
- bool
Указывает, должен ли этап повторно использовать предыдущие результаты при повторном выполнении с теми же параметрами. Повторное использование включено по умолчанию. Если содержимое этапа (скрипты или зависимости), а также входные данные и параметры не изменяются, выходные данные предыдущего выполнения этого этапа используются повторно. При повторном использовании этапа вместо отправки задания для вычисления немедленно предоставляются результаты предыдущего выполнения для последующих этапов. Если в качестве входных данных используются наборы данных Машинного обучения Azure, то повторное использование зависит от изменения определения набора данных, а не базовых данных.
- version
- str
Необязательный тег версии для обозначения изменения функциональности модуля.
- hyperdrive_config
- HyperDriveConfig
[Обязательно] Объект HyperDriveConfig, определяющий конфигурацию для запуска HyperDrive.
- estimator_entry_script_arguments
- list
Список аргументов командной строки для начального скрипта оценщика. Если скрипт записи оценщика не принимает аргументы командной строки, задайте в качестве значения этого параметра пустой список.
- inputs
- list[Union[InputPortBinding, PipelineOutputAbstractDataset, DataReference, PortDataReference, PipelineData, DatasetConsumptionConfig]]
Список входных привязок портов.
Список выходных привязок портов.
- metrics_output
- Union[PipelineData, DataReference, OutputPortBinding]
Необязательное значение, указывающее расположение для хранения метрик запуска HyperDrive в виде JSON-файла.
- allow_reuse
- bool
Указывает, должен ли этап повторно использовать предыдущие результаты при повторном выполнении с теми же параметрами. Повторное использование включено по умолчанию. Если содержимое этапа (скрипты или зависимости), а также входные данные и параметры не изменяются, выходные данные предыдущего выполнения этого этапа используются повторно. При повторном использовании этапа вместо отправки задания для вычисления немедленно предоставляются результаты предыдущего выполнения для последующих этапов. Если в качестве входных данных используются наборы данных Машинного обучения Azure, то повторное использование зависит от изменения определения набора данных, а не базовых данных.
Комментарии
Обратите внимание, что аргументы для скрипта записи, используемого в объекте Estimator (например, в объекте TensorFlow), должны быть указаны в виде списка с помощью параметра estimator_entry_script_arguments
при создании экземпляра HyperDriveStep. Параметр оценщика script_params
принимает словарь. Однако параметр estimator_entry_script_argument
принимает аргументы в виде списка.
При инициализации HyperDriveStep указывается список объектов DataReference с помощью параметра inputs
. В конвейерах ML Azure этап конвейера может принимать выходные данные другого этапа или объекты DataReference в качестве входных данных. Поэтому при создании HyperDriveStep параметры inputs
и outputs
должны быть заданы явным образом, что переопределяет параметр inputs
, указанный в объекте Estimator.
Для работы с HyperDriveStep рекомендуется использовать отдельную папку для скриптов и зависимых файлов, связанных с этим этапом, и указать эту папку как source_directory
объекта Estimator. Например, см. параметр 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 ML автоматически передает необходимые параметры через этот метод, чтобы данный этап можно было добавить в граф конвейера, представляющий рабочий процесс. |
create_node
Создание узла на этапе HyperDrive и его добавление в указанный граф.
Данный метод не предназначен для непосредственного использования. При создании экземпляра конвейера с помощью этого этапа Azure ML автоматически передает необходимые параметры через этот метод, чтобы данный этап можно было добавить в граф конвейера, представляющий рабочий процесс.
create_node(graph, default_datastore, context)
Параметры
- default_datastore
- Union[AbstractAzureStorageDatastore, AzureDataLakeDatastore]
Хранилище данных по умолчанию.
- context
- <xref:azureml.pipeline.core._GraphContext>
Контекст графа.
Возвращаемое значение
Созданный узел.
Возвращаемый тип
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по