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 en el que se ejecuta el experimento.

Inicialice hyperDriveConfig.

Herencia
builtins.object
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_config o 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 es None (valor predeterminado), no se usará ninguna directiva de terminación anticipada.

Una directiva MedianStoppingPolicy con un valor de 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 entre un 25 % y un 35 % de ahorros sin pérdidas de la métrica principal (según nuestros datos de evaluación).

Valor predeterminado: None
primary_metric_name
Requerido
str

Nombre de la métrica principal que han notificado 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 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 si el espacio de la muestra 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 ejecutan 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 tenga los recursos disponibles para la simultaneidad deseada.

Valor predeterminado: None
max_duration_minutes
int

Duración máxima de la ejecución de HyperDrive. Si se supera este tiempo, se cancelarán todas las ejecuciones en curso. 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, o lista de ejecuciones, de Hyperdrive que se heredarán como puntos de datos para iniciar en caliente la nueva ejecución.

Valor predeterminado: None
resume_child_runs
Run o list[Run]

Una ejecución secundaria, o 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 los valores de las ejecuciones de scripts o cuadernos. Especifique solo uno de los parámetros siguientes: estimator, run_config o pipeline.

Valor predeterminado: None
pipeline

Objeto de canalización para configurar los valores de las ejecuciones de canalización. Se llamará al objeto de canalización con los hiperparámetros de muestra para enviar ejecuciones de canalización. Especifique solo uno de los parámetros siguientes: estimator, run_config o 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 que han notificado 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 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 si el espacio de la muestra es menor que este valor.

max_concurrent_runs
Requerido
int

Número máximo de ejecuciones que se ejecutan 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. Si se supera este tiempo, se cancelarán todas las ejecuciones en curso.

policy
Requerido

La directiva de terminación anticipada que se va a usar. Si es None (valor predeterminado), no se usará ninguna directiva de terminación anticipada.

Una directiva <xref:azureml.train.hyperdrive.MedianTerminationPolicy> con un valor de 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 entre un 25 % y un 35 % de ahorros sin pérdidas de la métrica principal (según nuestros datos de evaluación).

estimator
Requerido

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

run_config
Requerido

Objeto para configurar los valores de las ejecuciones de scripts o cuadernos. Especifique solo uno de los parámetros siguientes: estimator, run_config o pipeline.

resume_from
Requerido

Una ejecución o lista de ejecuciones de Hyperdrive que se heredarán como puntos de datos para iniciar en caliente la nueva ejecución.

resume_child_runs
Requerido
Run | list[Run]

Una ejecución secundaria o 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 los valores de las ejecuciones de canalización. Se llamará al objeto de canalización con los hiperparámetros de muestra para enviar ejecuciones de canalización. Especifique solo uno de los parámetros siguientes: estimator, run_config o 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 usará para el ajuste 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 más información sobre cómo trabajar con HyperDriveConfig, consulte el tutorial Ajuste de los hiperparámetros de un 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 de ejecución de script o un estimador.

Devoluciones

Tipo Description

Canalización.

run_config

Devuelve la configuración de script o cuaderno usada 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 la 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.