HyperDriveConfig Classe

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

A configuração do HyperDrive inclui informações sobre a amostragem de espaço hiperparâmetros, a política de terminação, a métrica primária, o currículo da configuração, o avaliador e o destino de computação para executar as execuções da experimentação.

Inicialize o HyperDriveConfig.

Herança
builtins.object
HyperDriveConfig

Construtor

HyperDriveConfig(hyperparameter_sampling, primary_metric_name, primary_metric_goal, max_total_runs, max_concurrent_runs=None, max_duration_minutes=10080, policy=None, estimator=None, run_config=None, resume_from=None, resume_child_runs=None, pipeline=None, debug_flag=None, custom_run_id=None)

Parâmetros

estimator
MMLBaseEstimator
valor predefinido: None

Um avaliador que será chamado com hiperparâmetros de exemplo. Especifique apenas um dos seguintes parâmetros: estimator, run_configou pipeline.

hyperparameter_sampling
HyperParameterSampling
Necessário

O espaço de amostragem do hiperparâmetros.

policy
EarlyTerminationPolicy
valor predefinido: None

A política de cessação antecipada a utilizar. Se Nenhuma – a predefinição, não será utilizada nenhuma política de cessação antecipada.

A MedianStoppingPolicy com delay_evaluation 5 é uma boa política de cessação para começar. Estas são definições conservadoras, que podem proporcionar poupanças de 25%-35% sem perdas na métrica primária (com base nos nossos dados de avaliação).

primary_metric_name
str
Necessário

O nome da métrica primária comunicada pelas execuções da experimentação.

primary_metric_goal
PrimaryMetricGoal
Necessário

PrimaryMetricGoal.MINIMIZE ou PrimaryMetricGoal.MAXIMIZE. Este parâmetro determina se a métrica primária deve ser minimizada ou maximizada ao avaliar as execuções.

max_total_runs
int
Necessário

O número total máximo de execuções a criar. Este é o limite superior; pode haver menos execuções quando o espaço de exemplo é menor do que este valor. Se ambos e max_total_runsmax_duration_minutes forem especificados, a experimentação de otimização de hiperparâmetros termina quando o primeiro destes dois limiares é atingido.

max_concurrent_runs
int
valor predefinido: None

O número máximo de execuções a executar em simultâneo. Se Nenhuma, todas as execuções são iniciadas em paralelo. O número de execuções simultâneas é fechado nos recursos disponíveis no destino de computação especificado. Assim, tem de garantir que o destino de computação tem os recursos disponíveis para a simultaneidade pretendida.

max_duration_minutes
int
valor predefinido: 10080

A duração máxima da execução do HyperDrive. Assim que esta hora for excedida, todas as execuções ainda em execução são canceladas. Se ambos e max_total_runsmax_duration_minutes forem especificados, a experimentação de otimização de hiperparâmetros termina quando o primeiro destes dois limiares é atingido.

resume_from
HyperDriveRun ou list[HyperDriveRun]
valor predefinido: None

Uma execução do hyperdrive ou uma lista de execuções do hyperdrive que serão herdadas como pontos de dados para aquecer o início da nova execução.

resume_child_runs
Run ou list[Run]
valor predefinido: None

Uma execução subordinada do hyperdrive ou uma lista de execuções subordinadas do hyperdrive que serão retomadas à medida que forem executadas novas execuções subordinadas da nova execução do hyperdrive.

run_config
ScriptRunConfig
valor predefinido: None

Um objeto para configurar a configuração para execuções de scripts/blocos de notas. Especifique apenas um dos seguintes parâmetros: estimator, run_configou pipeline.

pipeline
Pipeline
valor predefinido: None

Um objeto de pipeline para configurar a configuração para execuções de pipelines. O objeto de pipeline será chamado com os hiperparâmetros de exemplo para submeter execuções de pipeline. Especifique apenas um dos seguintes parâmetros: estimator, run_configou pipeline.

custom_run_id
str
valor predefinido: None

ID de execução personalizado fornecido pelo utilizador

hyperparameter_sampling
HyperParameterSampling
Necessário

A definição de amostragem de espaço de hiperparâmetros.

primary_metric_name
str
Necessário

O nome da métrica primária comunicada pelas execuções da experimentação.

primary_metric_goal
PrimaryMetricGoal
Necessário

PrimaryMetricGoal.MINIMIZE ou PrimaryMetricGoal.MAXIMIZE. Este parâmetro determina se a métrica primária deve ser minimizada ou maximizada ao avaliar as execuções.

max_total_runs
int
Necessário

O número total máximo de execuções a criar. Este é o limite superior; pode haver menos execuções quando o espaço de exemplo é menor do que este valor.

max_concurrent_runs
int
Necessário

O número máximo de execuções a executar em simultâneo. Se Nenhuma, todas as execuções são iniciadas em paralelo.

max_duration_minutes
int
Necessário

A duração máxima da execução do HyperDrive. Assim que esta hora for excedida, todas as execuções ainda em execução são canceladas.

policy
EarlyTerminationPolicy
Necessário

A política de cessação antecipada a utilizar. Se Nenhuma – a predefinição, não será utilizada nenhuma política de cessação antecipada.

A <xref:azureml.train.hyperdrive.MedianTerminationPolicy> com delay_evaluation 5 é uma boa política de cessação para começar. Estas são definições conservadoras, que podem proporcionar poupanças de 25%-35% sem perdas na métrica primária (com base nos nossos dados de avaliação).

estimator
MMLBaseEstimator
Necessário

Um avaliador que será chamado com parâmetros hyper de exemplo. Especifique apenas um dos seguintes parâmetros: estimator, run_configou pipeline.

run_config
ScriptRunConfig
Necessário

Um objeto para configurar a configuração para execuções de scripts/blocos de notas. Especifique apenas um dos seguintes parâmetros: estimator, run_configou pipeline.

resume_from
HyperDriveRun | list[HyperDriveRun]
Necessário

Uma execução do hyperdrive ou uma lista de execuções do hyperdrive que serão herdadas como pontos de dados para aquecer o início da nova execução.

resume_child_runs
Run | list[Run]
Necessário

Uma execução subordinada do hyperdrive ou uma lista de execuções subordinadas do hyperdrive que serão retomadas à medida que forem executadas novas execuções subordinadas da nova execução do hyperdrive.

pipeline
Pipeline
Necessário

Um objeto de pipeline para configurar a configuração para execuções de pipelines. O objeto de pipeline será chamado com os hiperparâmetros de exemplo para submeter execuções de pipeline. Especifique apenas um dos seguintes parâmetros: estimator, run_configou pipeline.

custom_run_id
str
Necessário

ID de execução personalizado fornecido pelo utilizador

debug_flag
valor predefinido: None

Observações

O exemplo abaixo mostra a criação de um objeto HyperDriveConfig a utilizar para o tunning de hiperparâmetros. No exemplo, o nome da métrica primária corresponde a um valor registado no script de preparação.


   hd_config = HyperDriveConfig(run_config=src,
                    hyperparameter_sampling=ps,
                    policy=early_termination_policy,
                    primary_metric_name='validation_acc',
                    primary_metric_goal=PrimaryMetricGoal.MAXIMIZE,
                    max_total_runs=4,
                    max_concurrent_runs=4)

Para obter mais informações sobre como trabalhar com o HyperDriveConfig, veja o tutorial Otimizar hiperparâmetros para o seu modelo.

Atributos

estimator

Devolva o avaliador utilizado na execução do HyperDrive.

Valor é Nenhum se a execução utilizar uma configuração de execução de script ou um pipeline.

Devoluções

O avaliador.

Tipo de retorno

pipeline

Devolver o pipeline utilizado na execução do HyperDrive.

Valor é Nenhum se a execução utilizar uma configuração ou um avaliador de execução de scripts.

Devoluções

O pipeline.

Tipo de retorno

run_config

Devolva a configuração do script/bloco de notas utilizada na execução do HyperDrive.

O valor é Nenhum se a execução utilizar um avaliador ou pipeline.

Devoluções

A configuração de execução.

Tipo de retorno

source_directory

Devolva o diretório de origem da configuração a executar.

Devoluções

O diretório de origem

Tipo de retorno

str