Transformers documentation
Callbacks
Callbacks
Los callbacks son objetos que pueden personalizar el comportamiento del bucle de entrenamiento en el Trainer de PyTorch, inspeccionar el estado del bucle de entrenamiento (para informar del progreso, registrar en TensorBoard u otras plataformas de ML…) y tomar decisiones (como el detenerse anticipadamente).
Los callbacks son fragmentos de código de “solo lectura”; aparte del objeto TrainerControl que devuelven, no pueden modificar nada en el bucle de entrenamiento. Para personalizaciones que requieran cambios en el bucle de entrenamiento, debes crear una subclase de Trainer y sobrescribir los métodos que necesites (consulta trainer para ver ejemplos).
Por defecto, TrainingArguments.report_to se establece en "none".
La clase principal que implementa las callbacks es TrainerCallback. Obtiene los TrainingArguments utilizados para instanciar el Trainer, puede acceder al estado interno de ese Trainer a través de TrainerState y puede realizar algunas acciones en el bucle de entrenamiento a través de TrainerControl.
Callbacks disponibles
Esta es la lista de los TrainerCallback disponibles en la biblioteca:
Un TrainerCallback que envía los registros a Comet ML.
Configura la integración opcional de Comet.
Entorno:
- COMET_MODE (
str, opcional, por defectoget_or_create): Controla si se debe crear y registrar en un nuevo experimento de Comet o si se debe agregar a un experimento existente. Acepta los siguientes valores:get_or_create: Decide automáticamente en función de siCOMET_EXPERIMENT_KEYestá definido y si ya existe un Experiment con esa clave.create: Siempre crea un nuevo experimento de Comet.get: Intente siempre agregar a un Experimento de Comet existente. Requiere queCOMET_EXPERIMENT_KEYesté establecido.
- COMET_START_ONLINE (
bool, opcional): Si se debe crear un Experimento en línea o fuera de línea. - COMET_PROJECT_NAME (
str, opcional): Nombre del proyecto de Comet para los experimentos. - COMET_LOG_ASSETS (
str, opcional, valor predeterminadoTRUE): Indica si se registran o no los activos de entrenamiento (puntos de control, etc.) en Comet. Puede serTRUEoFALSE.
Para conocer varios elementos configurables del entorno, consulte aquí.
Un TrainerCallback que gestiona el flujo predeterminado del bucle de entrenamiento para registros, evaluación y puntos de control.
Un TrainerCallback simple que solo imprime los registros.
Un TrainerCallback que muestra el progreso del entrenamiento o la evaluación.
Puede modificar max_str_len para controlar la longitud a la que se truncan las cadenas al registrar.
clase transformers.EarlyStoppingCallback
< source >( early_stopping_patience: int = 1early_stopping_threshold: float | None = 0.0 )
Parámetros
- early_stopping_patience (
int) — Úsalo conmetric_for_best_modelpara detener el entrenamiento cuando la métrica especifica empeore duranteearly_stopping_patiencellamadas de evaluación. - early_stopping_threshold(
float, opcional) — Úsese con TrainingArgumentsmetric_for_best_modelyearly_stopping_patiencepara indicar cuánto debe mejorar la métrica especificada para cumplir las condiciones de detención temprana. `
Un TrainerCallback que gestiona la detención anticipada.
Este callback depende de la funcionalidad del argumento load_best_model_at_end de TrainingArguments para establecer best_metric en TrainerState. Tenga en cuenta que si el argumento save_steps de TrainingArguments difiere de eval_steps, la detención anticipada no se producirá hasta el siguiente paso de guardado.
clase transformers.integrations.TensorBoardCallback
< source >( tb_writer = None )
Un TrainerCallback que envía los registros a TensorBoard.
Entorno:
- TENSORBOARD_LOGGING_DIR (
str, opcional, valor predeterminadoNone): El directorio de registro para registrar los resultados. El valor predeterminado es os.path.join(args.output_dir, default_logdir())
Un TrainerCallback que registra métricas en Trackio.
Configura la integración opcional de Trackio.
Para personalizar la configuración, también puedes establecer project, trackio_space_id, trackio_bucket_id, trackio_static_space_id y hub_private_repo en TrainingArguments.
Un TrainerCallback que registra métricas, medios y puntos de control del modelo en Weight and Biases.
Configura la integración opcional de Weights & Biases (wandb).
Es posible crear una subclase y sobrescribir este método para personalizar la configuración si es necesario. Encuentra más información aquí. También puedes sobrescribir las siguientes variables de entorno:
Entorno:
- WANDB_LOG_MODEL (
str, opcional, valor predeterminado"false"): Si se registran el modelo y los puntos de control durante el entrenamiento. Puede ser"end","checkpoint"o"false". Si se establece en"end", el modelo se subirá al final del entrenamiento. Si se establece en"checkpoint", el punto de control se subirá cadaargs.save_steps. Si se establece en"false", el modelo no se subirá. Úsalo junto conload_best_model_at_end()para subir el mejor modelo. - WANDB_WATCH (
str, opcional con valor predeterminado"false"): Puede ser"gradients","all","parameters"o"false". Establezca"all"para registrar gradientes y parámetros. - WANDB_PROJECT (
str, opcional, valor predeterminado"huggingface"): Establezca esto como una cadena personalizada para almacenar los resultados en un proyecto diferente.
Un TrainerCallback que envía los registros a MLflow. Puede desactivarse estableciendo la variable de entorno DISABLE_MLFLOW_INTEGRATION = TRUE.
Configura la integración opcional de MLflow.
Entorno:
- HF_MLFLOW_LOG_ARTIFACTS (
str, opcional): Si se debe utilizar la función.log_artifact()de MLflow para registrar artefactos. Esto solo tiene sentido si se registra en un servidor remoto, por ejemplo, s3 o GCS. Si se establece enTrueo 1, se copiará cada punto de control guardado en cada guardado enoutput_dirde TrainingArguments al almacenamiento de artefactos local o remoto. Su uso sin un almacenamiento remoto simplemente copiará los archivos a la ubicación de artefactos. - MLFLOW_TRACKING_URI (
str, opcional): Si se deben almacenar las ejecuciones en una ruta específica o en un servidor remoto. No se establece de forma predeterminada, lo que omite la configuración de la URI de seguimiento por completo. - MLFLOW_EXPERIMENT_NAME (
str, opcional, valor predeterminadoNone): Indica si se debe utilizar un experiment_name de MLflow bajo el cual lanzar la ejecución. El valor predeterminado esNone, lo que apunta al experimentoDefaulten MLflow. En caso contrario, es el nombre del experimento a activar, sensible a mayúsculas y minúsculas. Si no existe un experimento con este nombre, se crea uno nuevo con dicho nombre. - MLFLOW_TAGS (
str, opcional): Una cadena de volcado de un diccionario de pares clave/valor que se añadirá a la ejecución de MLflow como etiquetas. Ejemplo:os.environ['MLFLOW_TAGS']='{"release.candidate": "RC1", "release.version": "2.2.0"}'. - MLFLOW_NESTED_RUN (
str, opcional): Si se debe usar ejecuciones anidadas de MLflow. Si se establece enTrueo 1, se creará una ejecución anidada dentro de la ejecución actual. - MLFLOW_RUN_ID (
str, opcional): Permite volver a adjuntarse a una ejecución existente, lo cual puede ser útil al reanudar el entrenamiento desde un punto de control. Cuando la variable de entornoMLFLOW_RUN_IDestá establecida,start_runintenta reanudar una ejecución con el ID de ejecución especificado y se ignoran los demás parámetros. - MLFLOW_FLATTEN_PARAMS (
str, opcional, valor predeterminadoFalse): Si se debe aplanar el diccionario de parámetros antes de registrarlos. - MLFLOW_MAX_LOG_PARAMS (
int, opcional): Establece el número máximo de parámetros que se registrarán en la ejecución.
Un TrainerCallback que envía los registros a AzureML.
Un TrainerCallback que rastrea la emisión de CO2 del entrenamiento.
Un TrainerCallback que envía los registros a ClearML.
Entorno:
- CLEARML_PROJECT (
str, opcional, valor predeterminadoHuggingFace Transformers): Nombre del proyecto de ClearML. - CLEARML_TASK (
str, opcional, valor predeterminadoTrainer): Nombre de la tarea de ClearML. - CLEARML_LOG_MODEL (
bool, opcional, valor predeterminadoFalse): Si se registran los modelos como artefactos durante el entrenamiento.
Un TrainerCallback que registra en DagsHub. Extiende MLflowCallback
Configura la integración de registro de DagsHub.
Entorno:
- HF_DAGSHUB_LOG_ARTIFACTS (
str, opcional): Si se deben guardar los artefactos de datos y modelos del experimento. El valor predeterminado esFalse.
clase transformers.integrations.FlyteCallback
< source >( save_log_history: bool = Truesync_checkpoints: bool = True )
Parámetros
- save_log_history (
bool, opcional, valor predeterminadoTrue) — Cuando se establece en True, los registros de entrenamiento se guardan como un Flyte Deck. - sync_checkpoints (
bool, opcional, valor predeterminadoTrue) — Cuando se establece en True, los puntos de control se sincronizan con Flyte y pueden usarse para reanudar el entrenamiento en caso de una interrupción.
Un TrainerCallback que envía los registros a Flyte. NOTA: Este callback solo funciona dentro de una tarea de Flyte.
Un TrainerCallback que informa del progreso del entrenamiento a Kubeflow Trainer.
Este callback se registra automáticamente al entrenar dentro de un Kubeflow TrainJob con la puerta de función TrainJobRuntimeStatus habilitada. El controlador de Kubeflow inyecta las variables de entorno necesarias en el pod de entrenamiento.
Variables de entorno (inyectadas por el controlador):
KUBEFLOW_TRAINER_SERVER_URL: punto de acceso HTTPS para actualizaciones de estadoKUBEFLOW_TRAINER_SERVER_CA_CERT: Ruta al certificado CA para la verificación TLSKUBEFLOW_TRAINER_SERVER_TOKEN: Ruta al token de la cuenta de servicio para la autenticación
Información reportada:
- Porcentaje de progreso (0-100%)
- Tiempo restante estimado (segundos)
- Métricas de entrenamiento (loss, learning_rate, etc.)
Características:
- Ajuste automático de velocidad (máximo 1 actualización cada 5 segundos) para evitar saturar el controlador
- Caché de tokens (5 minutos) para minimizar la E/S de archivos
- Solo el rango 0 informa del progreso en el entrenamiento distribuido
- Fallos silenciosos: los problemas de red no interrumpirán el entrenamiento
Se puede desactivar estableciendo la variable de entorno DISABLE_KUBEFLOW_INTEGRATION=TRUE.
clase transformers.integrations.DVCLiveCallback
< source >( live: typing.Any | None = Nonelog_model: typing.Union[typing.Literal['all'], bool, NoneType] = None**kwargs )
Parámetros
- live (
dvclive.Live, opcional, valor predeterminadoNone) — Instancia Live opcional. Si es None, se creará una nueva instancia usando **kwargs. - log_model (Union[Literal[“all”], bool], opcional, valor predeterminado
None) — Si se usadvclive.Live.log_artifact()para registrar los puntos de control creados por Trainer. Si se establece enTrue, el punto de control final se registra al final del entrenamiento. Si se establece en"all", todo eloutput_dirde TrainingArguments se registra en cada punto de control.
Un TrainerCallback que envía los registros a DVCLive.
Use las variables de entorno a continuación en setup para configurar la integración. Para personalizar esta devolución de llamada más allá de esas variables de entorno, consulte aquí.
Configura la integración opcional de DVCLive. Para personalizar esta devolución de llamada más allá de las variables de entorno siguientes, consulta aquí.
Entorno:
- HF_DVCLIVE_LOG_MODEL (
str, opcional): Si se usadvclive.Live.log_artifact()para registrar los puntos de control creados por Trainer. Si se establece enTrueo 1, el punto de control final se registra al final del entrenamiento. Si se establece enall, todo eloutput_dirde TrainingArguments se registra en cada punto de control.
Un TrainerCallback que registra métricas, medios y puntos de control del modelo en SwanLab.
Configura la integración opcional de SwanLab (swanlab).
Es posible crear una subclase y sobrescribir este método para personalizar la configuración si es necesario. Encuentre más información aquí.
También puede anular las siguientes variables de entorno. Encuentre más información sobre las variables de entorno aquí
Entorno:
SWANLAB_API_KEY (
str, opcional, valor predeterminadoNone): Clave de API de la nube. Durante el inicio de sesión, se comprueba primero esta variable de entorno. Si no existe, el sistema comprueba si el usuario ya ha iniciado sesión. Si no es así, se inicia el proceso de inicio de sesión.- Si se pasa una cadena a la interfaz de inicio de sesión, esta variable de entorno se ignora.
- Si el usuario ya inició sesión, esta variable de entorno tiene prioridad sobre la información de inicio de sesión almacenada localmente.
SWANLAB_PROJECT (
str, opcional, valor predeterminadoNone): Establezca esto como una cadena personalizada para almacenar los resultados en un proyecto diferente. Si no se especifica, se utiliza el nombre del directorio de ejecución actual.SWANLAB_LOG_DIR (
str, opcional, valor predeterminadoswanlog): Esta variable de entorno especifica la ruta de almacenamiento para los archivos de registro al ejecutar en modo local. Por defecto, los registros se guardan en una carpeta llamada swanlog dentro del directorio de trabajo.SWANLAB_MODE (
Literal["local", "cloud", "disabled"], opcional, valor predeterminadocloud): Modo de análisis de SwanLab, que implica los callbacks registrados por el operador. Actualmente, hay tres modos: local, cloud y disabled. Nota: Distingue entre mayúsculas y minúsculas. Encuentra más información aquíSWANLAB_LOG_MODEL (
str, opcional, valor predeterminadoNone): SwanLab no admite actualmente la funcionalidad de modo de guardado. Esta función estará disponible en una versión futuraSWANLAB_WEB_HOST (
str, opcional, valor predeterminadoNone): Dirección web del entorno en la nube de SwanLab para la versión privada (es gratuita)SWANLAB_API_HOST (
str, opcional, valor predeterminadoNone): Dirección de la API para el entorno en la nube de SwanLab de la versión privada (es gratuita)SWANLAB_RUN_ID (
str, opcional, valor predeterminadoNone): ID de experimento para reanudar una ejecución anterior. Úsalo conSWANLAB_RESUMEpara continuar un experimento existente.SWANLAB_RESUME (
str, opcional, valor predeterminadoNone): Modo de reanudación ("must","allow","never"). El valor predeterminado es"allow"cuando se utilizaresume_from_checkpoint.
TrainerCallback
clase transformers.TrainerCallback
< source >( )
Parámetros
- args (TrainingArguments) — Los argumentos de entrenamiento utilizados para instanciar el Trainer.
- state (TrainerState) — El estado actual del Trainer.
- control (TrainerControl) — El objeto que se devuelve al Trainer y que puede usarse para tomar algunas decisiones.
- model (PreTrainedModel o
torch.nn.Module) — El modelo que se está entrenando. - processing_class ([
PreTrainedTokenizeroBaseImageProcessoroProcessorMixinoFeatureExtractionMixin]) — La clase de procesamiento utilizada para codificar los datos. Puede ser un tokenizador, un procesador, un procesador de imágenes o un extractor de características. - optimizer (
torch.optim.Optimizer) — El optimizador utilizado para los pasos de entrenamiento. - lr_scheduler (
torch.optim.lr_scheduler.LambdaLR) — El programador utilizado para establecer la tasa de aprendizaje. - train_dataloader (
torch.utils.data.DataLoader, opcional) — El dataloader actual utilizado para el entrenamiento. - eval_dataloader (
torch.utils.data.DataLoader, opcional) — El dataloader actual utilizado para la evaluación. - metrics (
dict[str, float]) — Las métricas calculadas por la última fase de evaluación.Estos solo son accesibles en el evento
on_evaluate. - logs (
dict[str, float]) — Los valores que se registrarán.Estos solo son accesibles en el evento
on_log.
Una clase para objetos que inspeccionarán el estado del bucle de entrenamiento en ciertos eventos y tomarán algunas decisiones. En cada uno de esos eventos, los siguientes argumentos están disponibles:
El objeto control es el único que puede ser modificado por el callback, en cuyo caso el evento que lo modifica debe devolver la versión modificada.
Los argumentos args, state y control son posicionales para todos los eventos, todos los demás se agrupan en kwargs.
Puedes desempaquetar los que necesites en la firma del evento usándolos. Como ejemplo, consulta el código del
simple PrinterCallback.
Ejemplo:
class PrinterCallback(TrainerCallback):
def on_log(self, args, state, control, logs=None, **kwargs):
_ = logs.pop("total_flos", None)
if state.is_local_process_zero:
print(logs)on_epoch_begin
< source >( args: TrainingArgumentsstate: TrainerStatecontrol: TrainerControl**kwargs )
Evento que se llama al inicio de una época.
on_epoch_end
< source >( args: TrainingArgumentsstate: TrainerStatecontrol: TrainerControl**kwargs )
Evento que se llama al final de una época.
on_evaluate
< source >( args: TrainingArgumentsstate: TrainerStatecontrol: TrainerControl**kwargs )
Evento llamado después de una fase de evaluación.
on_init_end
< source >( args: TrainingArgumentsstate: TrainerStatecontrol: TrainerControl**kwargs )
Evento llamado al final de la inicialización del Trainer.
Evento llamado después de registrar los últimos registros.
on_optimizer_step
< source >( args: TrainingArgumentsstate: TrainerStatecontrol: TrainerControl**kwargs )
Evento que se llama después del paso del optimizador pero antes de que los gradientes se pongan a cero. Útil para supervisar los gradientes.
on_pre_optimizer_step
< source >( args: TrainingArgumentsstate: TrainerStatecontrol: TrainerControl**kwargs )
Evento que se llama antes del paso del optimizador pero después del recorte de gradientes. Útil para supervisar los gradientes.
on_predict
< source >( args: TrainingArgumentsstate: TrainerStatecontrol: TrainerControlmetrics**kwargs )
Evento llamado después de una predicción exitosa.
on_prediction_step
< source >( args: TrainingArgumentsstate: TrainerStatecontrol: TrainerControl**kwargs )
Evento llamado después de un paso de predicción.
on_push_begin
< source >( args: TrainingArgumentsstate: TrainerStatecontrol: TrainerControl**kwargs )
Evento que se llama antes de subir el modelo al hub, al inicio de Trainer.push_to_hub y Trainer._push_from_checkpoint.
Evento llamado después de guardar un punto de control.
on_step_begin
< source >( args: TrainingArgumentsstate: TrainerStatecontrol: TrainerControl**kwargs )
Evento que se llama al inicio de un paso de entrenamiento. Si se usa acumulación de gradientes, un paso de entrenamiento puede tomar varias entradas.
on_step_end
< source >( args: TrainingArgumentsstate: TrainerStatecontrol: TrainerControl**kwargs )
Evento que se llama al final de un paso de entrenamiento. Si se usa acumulación de gradientes, un paso de entrenamiento puede tomar varias entradas.
on_substep_end
< source >( args: TrainingArgumentsstate: TrainerStatecontrol: TrainerControl**kwargs )
Evento que se llama al final de un subpaso durante la acumulación de gradientes.
on_train_begin
< source >( args: TrainingArgumentsstate: TrainerStatecontrol: TrainerControl**kwargs )
Evento llamado al inicio del entrenamiento.
on_train_end
< source >( args: TrainingArgumentsstate: TrainerStatecontrol: TrainerControl**kwargs )
Evento llamado al final del entrenamiento.
A continuación se muestra un ejemplo de cómo registrar un callback personalizado con el Trainer de PyTorch:
class MyCallback(TrainerCallback):
"A callback that prints a message at the beginning of training"
def on_train_begin(self, args, state, control, **kwargs):
print("Starting training")
trainer = Trainer(
model,
args,
train_dataset=train_dataset,
eval_dataset=eval_dataset,
callbacks=[MyCallback], # We can either pass the callback class this way or an instance of it (MyCallback())
)Otra forma de registrar un callback es llamar a trainer.add_callback() de la siguiente manera:
trainer = Trainer(...)
trainer.add_callback(MyCallback)
# Alternatively, we can pass an instance of the callback class
trainer.add_callback(MyCallback())TrainerState
clase transformers.TrainerState
< source >( epoch: float = 0global_step: int = 0max_steps: int = 0logging_steps: int = 500eval_steps: int = 500save_steps: int = 500train_batch_size: int | None = Nonenum_train_epochs: int = 0num_input_tokens_seen: int = 0total_flos: float = 0log_history: list = Nonebest_metric: float | None = Nonebest_global_step: int | None = Nonebest_model_checkpoint: str | None = Noneis_local_process_zero: bool = Trueis_world_process_zero: bool = Trueis_hyper_param_search: bool = Falsetrial_name: str | None = Nonetrial_params: dict[str, str | float | int | bool] | None = Nonestateful_callbacks: list['TrainerCallback'] | None = None )
Parámetros
- epoch (
float, opcional) — Solo se establece durante el entrenamiento y representa la época en la que se encuentra el entrenamiento (la parte decimal indica el porcentaje de la época actual completado). - global_step (
int, opcional, valor predeterminado 0) — Durante el entrenamiento, representa el número de pasos de actualización completados. - max_steps (
int, opcional, valor predeterminado 0) — El número de pasos de actualización que se realizarán durante el entrenamiento actual. - logging_steps (
int, opcional, valor predeterminado 500) — Registra cada X pasos de actualización - eval_steps (
int, opcional) — Ejecuta una evaluación cada X pasos. - save_steps (
int, opcional, valor predeterminado 500) — Guarda un punto de control cada X pasos de actualización. - train_batch_size (
int, opcional) — El tamaño del lote para el dataloader de entrenamiento. Solo es necesario cuando se ha utilizadoauto_find_batch_size. - num_input_tokens_seen (
int, opcional, valor predeterminado 0) — Al hacer seguimiento de los tokens de entrada, el número de tokens vistos durante el entrenamiento (número de tokens de entrada, no el número de tokens de predicción). - total_flos (
float, opcional, valor predeterminado 0) — El número total de operaciones de coma flotante realizadas por el modelo desde el inicio del entrenamiento (almacenadas como floats para evitar desbordes). - log_history (
list[dict[str, float]], opcional) — La lista de registros realizados desde el inicio del entrenamiento. - best_metric (
float, opcional) — Al hacer seguimiento del mejor modelo, el valor de la mejor métrica encontrada hasta el momento. - best_global_step (
int, opcional) — Al hacer seguimiento del mejor modelo, el paso en el que se encontró la mejor métrica. Se utiliza para establecerbest_model_checkpoint. - best_model_checkpoint (
str, opcional) — Al hacer seguimiento del mejor modelo, el valor del nombre del checkpoint del mejor modelo encontrado hasta el momento. - is_local_process_zero (
bool, opcional, valor predeterminadoTrue) — Indica si este proceso es el proceso principal local (por ejemplo, en una sola máquina si el entrenamiento se realiza de forma distribuida en varias máquinas). - is_world_process_zero (
bool, opcional, valor predeterminadoTrue) — Indica si este proceso es el proceso principal global (cuando se entrena de forma distribuida en varias máquinas, solo seráTruepara un proceso). - is_hyper_param_search (
bool, opcional, valor predeterminadoFalse) — Indica si estamos en el proceso de una búsqueda de hiperparámetros usando Trainer.hyperparameter_search. Esto afectará la forma en que se registran los datos en TensorBoard. - stateful_callbacks (
list[StatefulTrainerCallback], opcional) — Callbacks adjuntos alTrainercuyo estado debe guardarse o restaurarse. Los callbacks relevantes deben implementar una funciónstatey una funciónfrom_state.
Una clase que contiene el estado interno de Trainer que se guardará junto con el modelo y el optimizador al crear un punto de control y se pasará a TrainerCallback.
En toda esta clase, un paso debe entenderse como un paso de actualización. Al usar la acumulación de gradientes, un paso de actualización puede requerir varias pasadas hacia adelante y hacia atrás: si usas
gradient_accumulation_steps=n, entonces un paso de actualización requiere recorrer n lotes.
Calcula y almacena el valor absoluto para los pasos de registro, evaluación y guardado, en función de si se trataba de una proporción o no.
Almacena las referencias iniciales de entrenamiento necesarias en self
Cree una instancia a partir del contenido de json_path.
Guarde el contenido de esta instancia en formato JSON dentro de json_path.
TrainerControl
clase transformers.TrainerControl
< source >( should_training_stop: bool = Falseshould_epoch_stop: bool = Falseshould_save: bool = Falseshould_evaluate: bool = Falseshould_log: bool = False )
Parámetros
- should_training_stop (
bool, opcional, por defectoFalse) — Indica si el entrenamiento debe interrumpirse.Si
True, esta variable no se restablecerá aFalse. El entrenamiento simplemente se detendrá. - should_epoch_stop (
bool, opcional, por defectoFalse) — Indica si el epoch actual debe interrumpirse.Si
True, esta variable se restablecerá aFalseal inicio de la siguiente época. - should_save (
bool, opcional, por defectoFalse) — Indica si el modelo debe guardarse en este paso.Si
True, esta variable se restablecerá aFalseal inicio del siguiente paso. - should_evaluate (
bool, opcional, por defectoFalse) — Indica si el modelo debe evaluarse en este paso.Si
True, esta variable se restablecerá aFalseal inicio del siguiente paso. - should_log (
bool, opcional, por defectoFalse) — Indica si los registros deben informarse en este paso.Si
True, esta variable se restablecerá aFalseal inicio del siguiente paso.
Una clase que gestiona el flujo de control del Trainer. Esta clase es utilizada por el TrainerCallback para activar algunos interruptores en el bucle de entrenamiento.