Compartilhar via


hyperdrive Pacote

Contém módulos e classes que dão suporte ao ajuste de hiperparâmetros.

Hiperparâmetros são parâmetros ajustáveis que você escolhe para treinamento do modelo e que orientam o processo de treinamento. O pacote HyperDrive ajuda a automatizar a escolha desses parâmetros. Por exemplo, você pode definir o espaço de pesquisa do parâmetro como discreto ou contínuo e um método de amostragem sobre o espaço de pesquisa como aleatório, grade ou Bayesiano. Além disso, você pode especificar uma métrica primária para otimizar no experimento de ajuste de hiperparâmetro e minimizar ou maximizar essa métrica. Você também pode definir políticas de encerramento antecipado nas quais execuções de experimentos com desempenho insatisfatório são canceladas e novas são iniciadas. Para definir um fluxo de trabalho de machine learning reutilizável para o HyperDrive, use hyper_drive_step para criar um Pipeline.

Módulos

error_definition

Definições de código de erro para o SDK HyperDrive.

error_strings

Uma coleção de cadeias de caracteres de erro usadas em todo o SDK do HyperDrive.

exceptions

Exceções geradas pelo HyperDrive.

parameter_expressions

Define funções que podem ser usadas em HyperDrive para descrever um espaço de pesquisa de hiperparâmetro.

Essas funções são usadas para especificar diferentes tipos de distribuições de hiperparâmetro. As distribuições são definidas quando você configura a amostragem para uma varredura de hiperparâmetro. Por exemplo, ao usar a classe RandomParameterSampling, você pode optar por fazer a amostragem de um conjunto de valores discretos ou uma distribuição de valores contínuos. Nesse caso, você pode usar a função choice para gerar um conjunto discreto de valores e a função uniform para gerar uma distribuição de valores contínuos.

Para obter exemplos de como usar essas funções, confira o tutorial: https://docs.microsoft.com/azure/machine-learning/how-to-tune-hyperparameters.

Classes

BanditPolicy

Define uma política de encerramento antecipado com base nos critérios de margem de atraso e uma frequência e um intervalo de atraso para avaliação.

Inicialize um BanditPolicy com o fator slack, slack_amount e intervalo de avaliação.

BayesianParameterSampling

Define a amostragem bayesiana em um espaço de pesquisa de hiperparâmetro.

A amostragem bayesiana tenta escolher de forma inteligente a próxima amostra de hiperparâmetros, com base em como os exemplos anteriores foram executados, de modo que o novo exemplo melhora a métrica primária relatada.

Inicializar BayesianParameterSampling.

EarlyTerminationPolicy

Classe base abstrata para todas as políticas de encerramento antecipado.

Inicialize uma política de encerramento antecipado.

GridParameterSampling

Define a amostragem de grade em um espaço de pesquisa de hiperparâmetro.

Inicializar GridParameterSampling.

HyperDriveConfig

Configuração que define uma execução de HyperDrive.

A configuração do HyperDrive inclui informações sobre a amostragem de espaço de hiperparâmetros, a política de encerramento, a métrica primária, a retomada da configuração, o avaliador e o destino de computação no qual executar o experimento.

Inicialize o HyperDriveConfig.

HyperDriveRun

O HyperDriveRun contém os detalhes de um experimento do HyperDrive enviado.

Essa classe pode ser usada para gerenciar, verificar status e recuperar detalhes da execução do HyperDrive e cada uma das execuções filhas geradas.

Inicializar uma execução do HyperDrive.

HyperDriveRunConfig

Configuração que define uma execução de HyperDrive.

A configuração inclui informações sobre a amostragem do espaço de parâmetros, a política de encerramento, a métrica primária, o avaliador e o destino de computação no qual executar o experimento.

Inicialize o HyperDriveConfig.

HyperParameterSampling

Classe base abstrata para todos os algoritmos de amostragem de hiperparâmetro.

Essa classe encapsula o espaço do hiperparâmetro, o método de amostragem e as propriedades adicionais para classes de amostragem derivadas: BayesianParameterSampling, GridParameterSampling e RandomParameterSampling.

Inicializar HyperParameterSampling.

MedianStoppingPolicy

Define uma política de encerramento antecipado com base nas médias de execução da métrica primária de todas as execuções.

Inicializar um MedianStoppingPolicy.

NoTerminationPolicy

Especifica que nenhuma política de encerramento antecipado seja aplicada.

Cada execução será realizada até a conclusão.

Inicializar NoTerminationPolicy.

RandomParameterSampling

Define a amostragem aleatória em um espaço de pesquisa de hiperparâmetro.

Inicializar RandomParameterSampling.

TruncationSelectionPolicy

Define uma política de encerramento antecipado que cancela um determinado percentual de execuções em cada intervalo de avaliação.

Inicialize um TruncationSelectionPolicy.

Enumerações

PrimaryMetricGoal

Define as metas de métrica com suporte para ajuste de hiperparâmetros.

Uma meta de métrica é usada para determinar se um valor mais alto para uma métrica é melhor ou pior. Metas de métrica são usadas ao comparar execuções com base na métrica primária. Por exemplo, talvez você queira maximizar a precisão ou minimizar erros.

O nome e a meta da métrica primária são especificados na classe HyperDriveConfig quando você configura uma execução do HyperDrive.

Funções

choice

Especifique um conjunto discreto de opções entre as quais fazer a amostragem.

choice(*options)

Parâmetros

Nome Description
options
Obrigatório

A lista de opções dentre as quais escolher.

Retornos

Tipo Description

A expressão estocástica.

lognormal

Especifique um valor traçado de acordo com exp(normal(mu, sigma)).

O logaritmo do valor retornado normalmente é distribuído. Ao otimizar, essa variável é restrita para ser positiva.

lognormal(mu, sigma)

Parâmetros

Nome Description
mu
Obrigatório

A média da distribuição normal.

sigma
Obrigatório

O desvio padrão da distribuição normal.

Retornos

Tipo Description

A expressão estocástica.

loguniform

Especifique uma distribuição logarítmica uniforme.

Um valor é traçado conforme exp(uniform(min_value, max_value)), de modo que o logaritmo do valor retornado seja distribuído uniformemente. Ao otimizar, essa variável é restrita ao intervalo [exp(min_value), exp(max_value)]

loguniform(min_value, max_value)

Parâmetros

Nome Description
min_value
Obrigatório

O valor mínimo no intervalo será exp(min_value) (inclusive).

max_value
Obrigatório

O valor máximo no intervalo será exp(max_value) (inclusive).

Retornos

Tipo Description

A expressão estocástica.

normal

Especifique um valor real distribuído normalmente com sigma de desvio padrão e mu médio.

Ao otimizar, essa é uma variável irrestrita.

normal(mu, sigma)

Parâmetros

Nome Description
mu
Obrigatório

A média da distribuição normal.

sigma
Obrigatório

O desvio padrão da distribuição normal.

Retornos

Tipo Description

A expressão estocástica.

qlognormal

Especifique um valor como round(exp(normal(mu, sigma)) / q) * q.

Adequado para uma variável discreta com relação à qual o objetivo é suave, e fica mais suave com o tamanho da variável, que é limitado de um lado.

qlognormal(mu, sigma, q)

Parâmetros

Nome Description
mu
Obrigatório

A média da distribuição normal.

sigma
Obrigatório

O desvio padrão da distribuição normal.

q
Obrigatório
int

O fator de suavização.

Retornos

Tipo Description

A expressão estocástica.

qloguniform

Especifique uma distribuição uniforme da forma round(exp(uniform(min_value, max_value) / q) * q.

Isso é adequado para uma variável discreta com relação à qual o objetivo é "suave", e fica mais suave com o tamanho do valor, mas que deve ser limitado para mais e menos.

qloguniform(min_value, max_value, q)

Parâmetros

Nome Description
min_value
Obrigatório

O valor mínimo no intervalo (inclusive).

max_value
Obrigatório

O valor mínimo no intervalo (inclusive).

q
Obrigatório
int

O fator de suavização.

Retornos

Tipo Description

A expressão estocástica.

qnormal

Especifique um valor como round(normal(mu, sigma) / q) * q.

Adequado para uma variável discreta que provavelmente usa um valor próximo de mu, mas é fundamentalmente não limitada.

qnormal(mu, sigma, q)

Parâmetros

Nome Description
mu
Obrigatório

A média da distribuição normal.

sigma
Obrigatório

O desvio padrão da distribuição normal.

q
Obrigatório
int

O fator de suavização.

Retornos

Tipo Description

A expressão estocástica.

quniform

Especifique uma distribuição uniforme da forma round(uniform(min_value, max_value) / q) * q.

Isso é adequado para um valor discreto em relação ao qual o objetivo ainda é um pouco "suave", mas que deve ser limitado para mais e menos.

quniform(min_value, max_value, q)

Parâmetros

Nome Description
min_value
Obrigatório

O valor mínimo no intervalo (inclusive).

max_value
Obrigatório

O valor mínimo no intervalo (inclusive).

q
Obrigatório
int

O fator de suavização.

Retornos

Tipo Description

A expressão estocástica.

randint

Especifique um conjunto de inteiros aleatórios no intervalo [0, superior].

A semântica dessa distribuição é que não há mais correlação na função de perda entre valores inteiros próximos, em comparação com os valores inteiros mais distantes. Essa é uma distribuição apropriada para descrever sementes aleatórias, por exemplo. Se a função de perda é provavelmente mais correlacionada a valores inteiros próximos, você provavelmente deve usar uma das distribuições contínuas "quantizadas", como quniform, qloguniform, qnormal ou qlognormal.

randint(upper)

Parâmetros

Nome Description
upper
Obrigatório
int

O limite superior exclusivo para o intervalo de inteiros.

Retornos

Tipo Description

A expressão estocástica.

uniform

Especifique uma distribuição uniforme da qual amostras são tiradas.

uniform(min_value, max_value)

Parâmetros

Nome Description
min_value
Obrigatório

O valor mínimo no intervalo (inclusive).

max_value
Obrigatório

O valor mínimo no intervalo (inclusive).

Retornos

Tipo Description

A expressão estocástica.