Compartir a través de


HyperDriveConfig Clase

Configuración que define una ejecución de HyperDrive.

La configuración de HyperDrive incluye información sobre el muestreo de espacio de hiperparámetros, la directiva de terminación, la métrica principal, la reanudación de la configuración, el estimador y el destino de proceso para ejecutar las ejecuciones del experimento.

Inicialice HyperDriveConfig.

Constructor

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

Nombre Description
estimator

Estimador al que se llamará con hiperparámetros muestreados. Especifique solo uno de los parámetros siguientes: estimator, run_configo pipeline.

Valor predeterminado: None
hyperparameter_sampling
Requerido

Espacio de muestreo de hiperparámetros.

policy

La directiva de terminación anticipada que se va a usar. Si Ninguno: el valor predeterminado, no se usará ninguna directiva de terminación anticipada.

El MedianStoppingPolicy con delay_evaluation de 5 es una buena directiva de terminación con la que empezar. Se trata de una configuración conservadora, que puede proporcionar 25%-35% ahorro sin pérdida en la métrica principal (en función de nuestros datos de evaluación).

Valor predeterminado: None
primary_metric_name
Requerido
str

Nombre de la métrica principal notificada por las ejecuciones del experimento.

primary_metric_goal
Requerido

PrimaryMetricGoal.MINIMIZE o PrimaryMetricGoal.MAXIMIZE. Este parámetro determina si la métrica principal se va a minimizar o maximizar al evaluar las ejecuciones.

max_total_runs
Requerido
int

Número total máximo de ejecuciones que se van a crear. Este es el límite superior; puede haber menos ejecuciones cuando el espacio de ejemplo es menor que este valor. Si se especifica max_total_runs y max_duration_minutes, el experimento de ajuste de hiperparámetros finaliza cuando se alcanza el primero de estos dos umbrales.

max_concurrent_runs
int

Número máximo de ejecuciones que se van a ejecutar simultáneamente. Si es None, todas las ejecuciones se inician en paralelo. El número de ejecuciones simultáneas viene determinado por los recursos disponibles en el destino de proceso especificado. Por lo tanto, debe asegurarse de que el destino de proceso tiene los recursos disponibles para la simultaneidad deseada.

Valor predeterminado: None
max_duration_minutes
int

Duración máxima de la ejecución de HyperDrive. Una vez que se supera este tiempo, se cancelan las ejecuciones que se siguen ejecutando. Si se especifica max_total_runs y max_duration_minutes, el experimento de ajuste de hiperparámetros finaliza cuando se alcanza el primero de estos dos umbrales.

Valor predeterminado: 10080
resume_from

Una ejecución de Hyperdrive o una lista de ejecuciones de Hyperdrive que se heredan como puntos de datos para iniciar la nueva ejecución.

Valor predeterminado: None
resume_child_runs
Run o list[Run]

Una ejecución secundaria de Hyperdrive o una lista de ejecuciones secundarias de Hyperdrive que se reanudarán como nuevas ejecuciones secundarias de la nueva ejecución de Hyperdrive.

Valor predeterminado: None
run_config

Objeto para configurar la configuración de ejecuciones de scripts o cuadernos. Especifique solo uno de los parámetros siguientes: estimator, run_configo pipeline.

Valor predeterminado: None
pipeline

Objeto de canalización para configurar la configuración de las ejecuciones de canalización. Se llamará al objeto de canalización con los hiperparámetros de ejemplo para enviar ejecuciones de canalización. Especifique solo uno de los parámetros siguientes: estimator, run_configo pipeline.

Valor predeterminado: None
custom_run_id
str

Identificador de ejecución personalizado proporcionado por el usuario

Valor predeterminado: None
hyperparameter_sampling
Requerido

Definición de muestreo de espacio de hiperparámetros.

primary_metric_name
Requerido
str

Nombre de la métrica principal notificada por las ejecuciones del experimento.

primary_metric_goal
Requerido

PrimaryMetricGoal.MINIMIZE o PrimaryMetricGoal.MAXIMIZE. Este parámetro determina si la métrica principal se va a minimizar o maximizar al evaluar las ejecuciones.

max_total_runs
Requerido
int

Número total máximo de ejecuciones que se van a crear. Este es el límite superior; puede haber menos ejecuciones cuando el espacio de ejemplo es menor que este valor.

max_concurrent_runs
Requerido
int

Número máximo de ejecuciones que se van a ejecutar simultáneamente. Si es None, todas las ejecuciones se inician en paralelo.

max_duration_minutes
Requerido
int

Duración máxima de la ejecución de HyperDrive. Una vez que se supera este tiempo, se cancelan las ejecuciones que se siguen ejecutando.

policy
Requerido

La directiva de terminación anticipada que se va a usar. Si Ninguno: el valor predeterminado, no se usará ninguna directiva de terminación anticipada.

El <xref:azureml.train.hyperdrive.MedianTerminationPolicy> con delay_evaluation de 5 es una buena directiva de terminación con la que empezar. Se trata de una configuración conservadora, que puede proporcionar 25%-35% ahorro sin pérdida en la métrica principal (en función de nuestros datos de evaluación).

estimator
Requerido

Estimador al que se llamará con hiperparámetres muestreados. Especifique solo uno de los parámetros siguientes: estimator, run_configo pipeline.

run_config
Requerido

Objeto para configurar la configuración de ejecuciones de scripts o cuadernos. Especifique solo uno de los parámetros siguientes: estimator, run_configo pipeline.

resume_from
Requerido

Una ejecución de Hyperdrive o una lista de ejecuciones de Hyperdrive que se heredan como puntos de datos para iniciar la nueva ejecución.

resume_child_runs
Requerido
Run | list[Run]

Una ejecución secundaria de Hyperdrive o una lista de ejecuciones secundarias de Hyperdrive que se reanudarán como nuevas ejecuciones secundarias de la nueva ejecución de Hyperdrive.

pipeline
Requerido

Objeto de canalización para configurar la configuración de las ejecuciones de canalización. Se llamará al objeto de canalización con los hiperparámetros de ejemplo para enviar ejecuciones de canalización. Especifique solo uno de los parámetros siguientes: estimator, run_configo pipeline.

custom_run_id
Requerido
str

Identificador de ejecución personalizado proporcionado por el usuario

debug_flag
Valor predeterminado: None

Comentarios

En el ejemplo siguiente se muestra cómo crear un objeto HyperDriveConfig que se va a usar para la asignación de hiperparámetros. En el ejemplo, el nombre de la métrica principal coincide con un valor registrado en el script de entrenamiento.


   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 obtener más información sobre cómo trabajar con HyperDriveConfig, consulte el tutorial Ajuste de hiperparámetros para el modelo.

Atributos

estimator

Devuelve el estimador usado en la ejecución de HyperDrive.

El valor es None si la ejecución usa una configuración de ejecución de script o una canalización.

Devoluciones

Tipo Description

Estimador.

pipeline

Devuelve la canalización usada en la ejecución de HyperDrive.

El valor es None si la ejecución usa una configuración o un estimador de ejecución de script.

Devoluciones

Tipo Description

Canalización.

run_config

Devuelve la configuración del script o cuaderno que se usa en la ejecución de HyperDrive.

El valor es None si la ejecución usa un estimador o una canalización.

Devoluciones

Tipo Description

Configuración de ejecución.

source_directory

Devuelve el directorio de origen de la configuración que se va a ejecutar.

Devoluciones

Tipo Description
str

Directorio de origen