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


hyperdrive Пакет

Содержит модули и классы, поддерживающие настройку гиперпараметров.

Гиперпараметры — это настраиваемые параметры, выбираемые для обучения модели и управляющие процессом обучения. Пакет HyperDrive помогает автоматизировать выбор этих параметров. Например, можно определить область поиска параметров как дискретную или непрерывную, а в качестве метода выборки в области поиска задать случайный, на основе сетки или по Байесу. Кроме того, можно указать основную метрику для оптимизации в эксперименте настройки гиперпараметров, а также выбрать, следует ли ее увеличить или уменьшить. Можно также определить политики раннего завершения, благодаря которым будут отменяться низкоэффективные выполнения экспериментов и запускаться новые выполнения. Чтобы определить повторно используемый рабочий процесс машинного обучения для HyperDrive, используйте hyper_drive_step для создания Pipeline.

Модули

error_definition

Определения кодов ошибок для пакета SDK для HyperDrive.

error_strings

Коллекция строк ошибок, используемых в пакете SDK для HyperDrive.

exceptions

Исключения, вызываемые HyperDrive.

parameter_expressions

Определяет функции, доступные в HyperDrive для описания пространства поиска гиперпараметров.

Эти функции используются для указания различных типов распределений гиперпараметров. Распределения задаются при настройке выборки для очистки гиперпараметров. Например, при использовании класса RandomParameterSampling можно делать выборку из набора дискретных значений или распределения непрерывных значений. В данном случае можно использовать функцию choice для создания дискретного набора значений и функцию uniform для создания распределения непрерывных значений.

Примеры использования этих функций см. в учебнике: https://docs.microsoft.com/azure/machine-learning/how-to-tune-hyperparameters.

Классы

BanditPolicy

Определяет политику раннего завершения на основе критериев резерва времени, а также частоту и интервал задержки для оценки.

Инициализируйте BanditPolicy с коэффициентом резерва, slack_amount и интервалом оценки.

BayesianParameterSampling

Определяет байесовскую выборку в области поиска гиперпараметров.

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

Инициализация BayesianParameterSampling.

EarlyTerminationPolicy

Абстрактный базовый класс для всех политик досрочного завершения.

Инициализация политики досрочного завершения.

GridParameterSampling

Определяет решетчатую выборку в области поиска гиперпараметров.

Инициализация GridParameterSampling.

HyperDriveConfig

Конфигурация, определяющая выполнение HyperDrive.

Конфигурация HyperDrive включает в себя сведения о выборке пространства гиперпараметров, политике завершения, основной метрике, возобновлении из конфигурации, оценщике и целевом объекте вычислений для выполнения эксперимента.

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

HyperDriveRun

HyperDriveRun содержит сведения об отправленном эксперименте HyperDriveRun.

Этот класс можно использовать для управления, проверки состояния и получения сведений о выполнении HyperDrive и каждого из созданных дочерних выполнений.

Инициализация запуска HyperDrive.

HyperDriveRunConfig

Конфигурация, определяющая выполнение HyperDrive.

Конфигурация включает в себя сведения о выборке пространства параметров, политике завершения, основной метрике, возобновлении из конфигурации, оценщике и целевом объекте вычислений для выполнения эксперимента.

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

HyperParameterSampling

Абстрактный базовый класс для всех алгоритмов выборки гиперпараметров.

Этот класс инкапсулирует пространство гиперпараметров, метод выборки и дополнительные свойства для производных классов выборки: BayesianParameterSampling, GridParameterSampling и RandomParameterSampling.

Инициализация HyperParameterSampling.

MedianStoppingPolicy

Определяет политику раннего завершения на основе скользящих средних показателей основной метрики всех выполнений.

Инициализация MedianStoppingPolicy.

NoTerminationPolicy

Указывает, что политика раннего завершения не применяется.

Каждый запуск будет выполняться до завершения.

Инициализация NoTerminationPolicy.

RandomParameterSampling

Определяет случайную выборку в области поиска гиперпараметров.

Инициализация RandomParameterSampling.

TruncationSelectionPolicy

Определяет политику раннего завершения, которая отменяет заданный процент выполнения в каждом интервале оценки.

Инициализация TruncationSelectionPolicy.

Перечисления

PrimaryMetricGoal

Определяет поддерживаемые цели метрики для настройки гиперпараметров.

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

Имя и цель основной метрики указываются в классе HyperDriveConfig при настройке выполнения HyperDrive.

Функции

choice

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

choice(*options)

Параметры

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

Список параметров для выбора.

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

Тип Описание

Стохастическое выражение.

lognormal

Указывает значение, полученное в соответствии с exp (normal(mu, sigma)).

Логарифм возвращаемого значения нормально распределен. При оптимизации эта переменная ограничивается положительным числом.

lognormal(mu, sigma)

Параметры

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

Среднее значение нормального распределения.

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

Стандартное отклонение от нормального распределения.

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

Тип Описание

Стохастическое выражение.

loguniform

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

Значение получено в соответствии с exp(uniform(min_value, max_value)), так что логарифм возвращаемого значения распределен равномерно. При оптимизации эта переменная ограничена интервалом [exp(min_value), exp(max_value)]

loguniform(min_value, max_value)

Параметры

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

Минимальное значение в диапазоне будет exp(min_value)(включительно).

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

Максимальное значение в диапазоне будет exp(max_value) (включительно).

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

Тип Описание

Стохастическое выражение.

normal

Указывает реальное значение, нормально распределенное со средним значением mu и стандартным отклонением sigma.

При оптимизации это переменная не ограничена.

normal(mu, sigma)

Параметры

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

Среднее значение нормального распределения.

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

Стандартное отклонение от нормального распределения.

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

Тип Описание

Стохастическое выражение.

qlognormal

Указывает значение типа round(exp(normal(mu, sigma)) / q) * q.

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

qlognormal(mu, sigma, q)

Параметры

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

Среднее значение нормального распределения.

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

Стандартное отклонение от нормального распределения.

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

Коэффициент сглаживания.

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

Тип Описание

Стохастическое выражение.

qloguniform

Указывает равномерное распределение формы round(exp(uniform(min_value, max_value) / q) * q.

Подходит для дискретной переменной, относительно которой объект сглажен и сглаживается еще больше с увеличением ее значения, но которая должна иметь верхнее и нижнее ограничения.

qloguniform(min_value, max_value, q)

Параметры

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

Минимальное значение в диапазоне (включительно).

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

Максимальное значение в диапазоне (включительно).

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

Коэффициент сглаживания.

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

Тип Описание

Стохастическое выражение.

qnormal

Указывает значение типа round(normal(mu, sigma) / q) * q.

Подходит для дискретной переменной, которая, вероятно, принимает значение около mu, но по сути не ограничена.

qnormal(mu, sigma, q)

Параметры

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

Среднее значение нормального распределения.

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

Стандартное отклонение от нормального распределения.

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

Коэффициент сглаживания.

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

Тип Описание

Стохастическое выражение.

quniform

Указывает равномерное распределение формы round(uniform(min_value, max_value) / q) * q.

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

quniform(min_value, max_value, q)

Параметры

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

Минимальное значение в диапазоне (включительно).

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

Максимальное значение в диапазоне (включительно).

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

Коэффициент сглаживания.

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

Тип Описание

Стохастическое выражение.

randint

Указывает набор случайных целых чисел в диапазоне [0, Upper).

Семантика этого распределения заключается в том, что в функции потери больше нет корреляции между ближайшими целочисленными значениями по сравнению с более удаленными целочисленными значениями. Это распределение, например, походит для описания случайных начальных значений. Возможно, если функция потери больше коррелирует с ближайшими целочисленными значениями, то, возможно, следует использовать одно из "квантованных" непрерывных распределений, например quniform, qloguniform, qnormal или qlognormal.

randint(upper)

Параметры

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

Исключенная верхняя граница диапазона целых чисел.

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

Тип Описание

Стохастическое выражение.

uniform

Указывает равномерное распределение, из которого берутся образцы.

uniform(min_value, max_value)

Параметры

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

Минимальное значение в диапазоне (включительно).

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

Максимальное значение в диапазоне (включительно).

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

Тип Описание

Стохастическое выражение.