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


AutoMLStep Класс

Создает этап конвейера Azure ML, который инкапсулирует выполнение автоматизированного ML.

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

Инициализируйте AutoMLStep.

Наследование
AutoMLStep

Конструктор

AutoMLStep(name, automl_config, inputs=None, outputs=None, script_repl_params=None, allow_reuse=True, version=None, hash_paths=None, enable_default_model_output=True, enable_default_metrics_output=True, **kwargs)

Параметры

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

Имя шага этапа.

automl_config
AutoMLConfig
Обязательно

Объект AutoMLConfig, определяющий конфигурацию для этого запуска AutoML.

inputs
list[Union[InputPortBinding, DataReference, PortDataReference, PipelineData]]
значение по умолчанию: None

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

outputs
list[Union[PipelineData, OutputPortBinding]]
значение по умолчанию: None

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

script_repl_params
dict
значение по умолчанию: None

Необязательные параметры, которые необходимо заменить в скрипте, например {"param1": "value1", "param2": "value2"}.

allow_reuse
bool
значение по умолчанию: True

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

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

version
str
значение по умолчанию: None

Версия, которую необходимо назначить этапу.

hash_paths
list
значение по умолчанию: None

НЕ РЕКОМЕНДУЕТСЯ. Список путей для хэширования при проверке изменений в содержимом этапа конвейера.

По умолчанию все файлы в параметре path в AutoMLConfig являются хэшированными, кроме файлов, перечисленных в .amlignore или .gitignore в path. Если изменения не обнаружены, конвейер будет повторно использовать содержимое этапа из предыдущего запуска.

enable_default_model_output
bool
значение по умолчанию: True

Указывает, будет ли добавлена оптимальная модель в качестве выходных данных по умолчанию. Можно использовать для извлечения оптимальной модели после завершения выполнения с помощью класса AutoMLStepRun. Обратите внимание, что если выходные данные модели по умолчанию не требуются, рекомендуется присвоить этому параметру значение False.

enable_default_metrics_output
bool
значение по умолчанию: True

Указывает, будут ли добавляться все метрики дочернего выполнения в качестве выходных данных по умолчанию. Можно использовать для извлечения метрик дочерних выполнений после завершения выполнения с помощью класса AutoMLStepRun. Обратите внимание, что если выходные данные метрик по умолчанию не требуются, рекомендуется присвоить этому параметру значение False.

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

Имя шага этапа.

automl_config
AutoMLConfig
Обязательно

AutoMLConfig, определяющий конфигурацию для этого запуска AutoML.

inputs
list[Union[InputPortBinding, DataReference, PortDataReference, PipelineData]]
Обязательно

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

outputs
list[Union[PipelineData, OutputPortBinding]]
Обязательно

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

script_repl_params
dict
Обязательно

Необязательные параметры, которые необходимо заменить в скрипте, например {"param1": "value1", "param2": "value2"}.

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

Необязательные параметры для замены в скрипте.

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

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

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

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

Версия, которую необходимо назначить этапу.

hash_paths
list
Обязательно

НЕ РЕКОМЕНДУЕТСЯ. Список путей для хэширования при проверке изменений в содержимом этапа конвейера.

По умолчанию все файлы в параметре path в AutoMLConfig являются хэшированными, кроме файлов, перечисленных в .amlignore или .gitignore в path. Если изменения не обнаружены, конвейер будет повторно использовать содержимое этапа из предыдущего запуска.

enable_default_model_output
bool
Обязательно

Указывает, будет ли добавлена оптимальная модель в качестве выходных данных по умолчанию. Можно использовать для извлечения оптимальной модели после завершения выполнения с помощью класса AutoMLStepRun. Обратите внимание, что если выходные данные модели по умолчанию не требуются, рекомендуется присвоить этому параметру значение False.

enable_default_metrics_output
bool
Обязательно

Указывает, будут ли добавляться все метрики дочернего выполнения в качестве выходных данных по умолчанию. Можно использовать для извлечения метрик дочерних выполнений после завершения выполнения с помощью класса AutoMLStepRun. Обратите внимание, что если выходные данные метрик по умолчанию не требуются, рекомендуется присвоить этому параметру значение False.

Комментарии

С помощью класса AutoMLStep можно запустить рабочий процесс автоматизированного ML в конвейере Машинного обучения Azure. Конвейеры обеспечивают такие преимущества, как повторяемость, автоматическое выполнение, управление версиями и отслеживание, а также модульность для рабочего процесса автоматизированного ML. Дополнительные сведения приведены в разделе Конвейеры Машинного обучения Azure.

Если в конвейере используется рабочий процесс автоматизированного ML, можно запланировать запуск конвейера по расписанию на основе времени или на основе изменений. Расписания на основе времени полезны при выполнении стандартных задач, таких как отслеживание смещения данных, а расписания на основе изменений используются в случае нерегулярных или непредсказуемых изменений, включая изменение данных. Например, расписание может опросить хранилище BLOB-объектов, куда передаются данные, а затем снова запустить конвейер, если данные будут изменены, и зарегистрировать новую версию модели после завершения запуска. Дополнительные сведения приведены в разделе Планирование конвейеров машинного обучения и Запуск конвейера Машинного обучения из приложения логики.

В следующем примере показано, как создавать AutoMLStep.


   automl_step = AutoMLStep(
       name='automl_module',
       automl_config=automl_config,
       outputs=[metrics_data, model_data],
       allow_reuse=True)

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

В следующем примере показано, как использовать объект AutoMLStep в Pipeline.


   from azureml.pipeline.core import Pipeline
   pipeline = Pipeline(
       description="pipeline_with_automlstep",
       workspace=ws,
       steps=[automl_step])

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

В приведенном выше примере показан один этап в конвейере. Однако при использовании AutoMLStep в реальном рабочем процессе автоматизированного ML будет по крайней мере один этап конвейера, выполняющий подготовку данных перед AutoMLStep, и еще один последующий этап конвейера, который регистрирует модель. Пример рабочего процесса такого типа приведен в записной книжке https://aka.ms/automl-retrain-pipeline.

Для управления, проверки состояния и получения сведений о запуске из запуска конвейера используйте класс AutoMLStepRun.

Дополнительные сведения об автоматизированном машинном обучении в Azure приведены в статье Автоматизированное машинное обучение. Дополнительные сведения о настройке эксперимента автоматизированного ML без использования конвейера приведены в статье Настройка эксперимента автоматизированного ML в Python.

Методы

create_node

Создание узла на этом этапе AutoML и его добавление в указанный граф.

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

create_node

Создание узла на этом этапе AutoML и его добавление в указанный граф.

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

create_node(graph, default_datastore, context)

Параметры

graph
Graph
Обязательно

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

default_datastore
Union[AbstractAzureStorageDatastore, AzureDataLakeDatastore]
Обязательно

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

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

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

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

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

Возвращаемый тип

Атрибуты

AUTOML_CONFIG_PARAM_NAME

AUTOML_CONFIG_PARAM_NAME = 'AutoMLConfig'

DEFAULT_METRIC_PREFIX

DEFAULT_METRIC_PREFIX = 'default_metrics_'

DEFAULT_MODEL_PREFIX

DEFAULT_MODEL_PREFIX = 'default_model_'