Transformers documentation

Callbacks

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v5.22.1).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Callbacks

Callbacks são objetos que podem personalizar o comportamento do loop de treinamento no Trainer do PyTorch, inspecionar o estado do loop de treinamento (para relatórios de progresso, registro no TensorBoard ou em outras plataformas de ML…) e tomar decisões (como parada antecipada).

Callbacks são trechos de código “somente leitura”: além do objeto TrainerControl que retornam, eles não podem alterar nada no loop de treinamento. Para personalizações que exigem mudanças no loop de treinamento, você deve criar uma subclasse de Trainer e sobrescrever os métodos necessários (veja trainer para exemplos).

Por padrão, TrainingArguments.report_to é definido como "none".

A classe principal que implementa os callbacks é TrainerCallback. Ela recebe os TrainingArguments usados para instanciar o Trainer, pode acessar o estado interno desse Trainer por meio de TrainerState e pode executar algumas ações no loop de treinamento por meio de TrainerControl.

Callbacks Disponíveis

Aqui está a lista dos TrainerCallback disponíveis na biblioteca:

classe transformers.integrations.CometCallback

< >

( )

Um TrainerCallback que envia os logs para o Comet ML.

configuração

< >

( argsstatemodel )

Configure a integração opcional do Comet.

Ambiente:

  • COMET_MODE (str, opcional, padrão get_or_create): Controla se deve criar e registrar em um novo experimento Comet ou anexar a um experimento existente. Aceita os seguintes valores:
    • get_or_create: Decide automaticamente com base em se COMET_EXPERIMENT_KEY está definido e se já existe um Experiment com essa chave.
    • create: Sempre crie um novo Experimento Comet.
    • get: Sempre tente anexar a um Experimento Comet existente. Exige que COMET_EXPERIMENT_KEY esteja definido.
  • COMET_START_ONLINE (bool, opcional): Se deve criar um Experimento online ou offline.
  • COMET_PROJECT_NAME (str, opcional): Nome do projeto Comet para experimentos.
  • COMET_LOG_ASSETS (str, opcional, padrão TRUE): Se os ativos de treinamento (checkpoints, etc.) devem ser registrados no Comet. Pode ser TRUE ou FALSE.

Para uma lista de itens configuráveis no ambiente, consulte aqui.

classe transformers.DefaultFlowCallback

< >

( )

Uma TrainerCallback que gerencia o fluxo padrão do loop de treinamento para logs, avaliação e checkpoints.

classe transformers.PrinterCallback

< >

( )

Um TrainerCallback simples que apenas imprime os logs.

classe transformers.ProgressCallback

< >

( max_str_len: int = 100 )

Um TrainerCallback que exibe o progresso do treinamento ou da avaliação. Você pode modificar max_str_len para controlar o comprimento máximo das strings ao registrar logs.

classe transformers.EarlyStoppingCallback

< >

( early_stopping_patience: int = 1early_stopping_threshold: float | None = 0.0 )

Parâmetros

  • early_stopping_patience (int) — Use com metric_for_best_model para interromper o treinamento quando a métrica especifica piorar por early_stopping_patience chamadas de avaliação.
  • early_stopping_threshold(float, opcional) — Use com TrainingArguments metric_for_best_model e early_stopping_patience para indicar em quanto a métrica especificada deve melhorar para satisfazer as condições de parada antecipada. `

Uma TrainerCallback que trata do encerramento antecipado.

Este callback depende da funcionalidade do argumento load_best_model_at_end de TrainingArguments para definir a best_metric em TrainerState. Observe que, se o argumento save_steps de TrainingArguments for diferente de eval_steps, o early stopping não ocorrerá até o próximo passo de salvamento.

classe transformers.integrations.TensorBoardCallback

< >

( tb_writer = None )

Parâmetros

  • tb_writer (SummaryWriter, opcional) — O writer a ser utilizado. Será instanciado um se não for definido.

Uma TrainerCallback que envia os logs para o TensorBoard.

Ambiente:

  • TENSORBOARD_LOGGING_DIR (str, opcional, padrão None): O diretório de log para registrar os resultados. O valor padrão é os.path.join(args.output_dir, default_logdir())

classe transformers.integrations.TrackioCallback

< >

( )

Uma TrainerCallback que registra métricas no Trackio.

configuração

< >

( argsstatemodel**kwargs )

Configure a integração opcional com o Trackio.

Para personalizar a configuração, você também pode definir project, trackio_space_id, trackio_bucket_id, trackio_static_space_id e hub_private_repo em TrainingArguments.

classe transformers.integrations.WandbCallback

< >

( )

Uma TrainerCallback que registra métricas, mídia e checkpoints do modelo no Weight and Biases.

configuração

< >

( argsstatemodel**kwargs )

Configure a integração opcional com Weights & Biases (wandb).

É possível criar uma subclasse e sobrescrever este método para personalizar a configuração, se necessário. Encontre mais informações aqui. Você também pode sobrescrever as seguintes variáveis de ambiente:

Ambiente:

  • WANDB_LOG_MODEL (str, opcional, padrão "false"): Se deve registrar o modelo e os checkpoints durante o treinamento. Pode ser "end", "checkpoint" ou "false". Se definido como "end", o modelo será enviado ao final do treinamento. Se definido como "checkpoint", o checkpoint será enviado a cada args.save_steps . Se definido como "false", o modelo não será enviado. Use junto com load_best_model_at_end() para enviar o melhor modelo.
  • WANDB_WATCH (str, opcional, padrão "false"): Pode ser "gradients", "all", "parameters" ou "false". Defina como "all" para registrar gradientes e parâmetros.
  • WANDB_PROJECT (str, opcional, padrão "huggingface"): Defina este valor como uma string personalizada para armazenar os resultados em um projeto diferente.

classe transformers.integrations.MLflowCallback

< >

( )

Um TrainerCallback que envia os logs para o MLflow. Pode ser desativado definindo a variável de ambiente DISABLE_MLFLOW_INTEGRATION = TRUE.

configuração

< >

( argsstatemodel )

Configure a integração opcional com o MLflow.

Ambiente:

  • HF_MLFLOW_LOG_ARTIFACTS (str, opcional): Se deve usar a funcionalidade .log_artifact() do MLflow para registrar artefatos. Isso só faz sentido se o registro for feito em um servidor remoto, por exemplo, s3 ou GCS. Se definido como True ou 1, cada checkpoint salvo em cada salvamento no output_dir de TrainingArguments será copiado para o armazenamento local ou remoto de artefatos. Usá-lo sem um armazenamento remoto apenas copiará os arquivos para o local de artefatos.
  • MLFLOW_TRACKING_URI (str, opcional): Se deseja armazenar as execuções em um caminho específico ou em um servidor remoto. Não definido por padrão, o que ignora a configuração da URI de rastreamento.
  • MLFLOW_EXPERIMENT_NAME (str, opcional, padrão None): Define se deve usar um experiment_name do MLflow sob o qual iniciar a execução. O padrão é None, o que aponta para o experimento Default no MLflow. Caso contrário, é um nome sensível a maiúsculas e minúsculas do experimento a ser ativado. Se um experimento com esse nome não existir, um novo experimento com esse nome será criado.
  • MLFLOW_TAGS (str, opcional): Uma string com o despejo de um dicionário de pares chave/valor a ser adicionada à execução do MLflow como tags. Exemplo: os.environ['MLFLOW_TAGS']='{"release.candidate": "RC1", "release.version": "2.2.0"}'.
  • MLFLOW_NESTED_RUN (str, opcional): Se deve usar execuções aninhadas do MLflow. Se definido como True ou 1, será criada uma execução aninhada dentro da execução atual.
  • MLFLOW_RUN_ID (str, opcional): Permite reanexar a uma execução existente, o que pode ser útil ao retomar o treinamento a partir de um checkpoint. Quando a variável de ambiente MLFLOW_RUN_ID está definida, start_run tenta retomar uma execução com o ID de execução especificado e os outros parâmetros são ignorados.
  • MLFLOW_FLATTEN_PARAMS (str, opcional, padrão False): Se deve achatar o dicionário de parâmetros antes de registrar.
  • MLFLOW_MAX_LOG_PARAMS (int, opcional): Define o número máximo de parâmetros a serem registrados na execução.

classe transformers.integrations.AzureMLCallback

< >

( azureml_run = None )

Um TrainerCallback que envia os logs para o AzureML.

classe transformers.integrations.CodeCarbonCallback

< >

( )

Um TrainerCallback que rastreia a emissão de CO2 do treinamento.

classe transformers.integrations.ClearMLCallback

< >

( )

Um TrainerCallback que envia os logs para o ClearML.

Ambiente:

  • CLEARML_PROJECT (str, opcional, padrão HuggingFace Transformers): Nome do projeto do ClearML.
  • CLEARML_TASK (str, opcional, padrão Trainer): Nome da tarefa do ClearML.
  • CLEARML_LOG_MODEL (bool, opcional, padrão False): Se os modelos devem ser registrados como artefatos durante o treinamento.

classe transformers.integrations.DagsHubCallback

< >

( )

Um TrainerCallback que registra logs no DagsHub. Estende MLflowCallback

configuração

< >

( *args**kwargs )

Configure a integração de Logging do DagsHub.

Ambiente:

  • HF_DAGSHUB_LOG_ARTIFACTS (str, opcional): Se os artefatos de dados e modelos do experimento devem ser salvos. O valor padrão é False.

classe transformers.integrations.FlyteCallback

< >

( save_log_history: bool = Truesync_checkpoints: bool = True )

Parâmetros

  • save_log_history (bool, opcional, padrão True) — Quando definido como True, os logs de treinamento são salvos como um Flyte Deck.
  • sync_checkpoints (bool, opcional, padrão True) — Quando definido como True, os checkpoints são sincronizados com o Flyte e podem ser usados para retomar o treinamento em caso de interrupção.

Um TrainerCallback que envia os logs para o Flyte. NOTA: Este callback só funciona dentro de uma tarefa do Flyte.

Exemplo:

# Note: This example skips over some setup steps for brevity.
from flytekit import current_context, task


@task
def train_hf_transformer():
    cp = current_context().checkpoint
    trainer = Trainer(..., callbacks=[FlyteCallback()])
    output = trainer.train(resume_from_checkpoint=cp.restore())

classe transformers.integrations.KubeflowCallback

< >

( )

Um TrainerCallback que relata o progresso do treinamento para o Kubeflow Trainer.

Este callback é registrado automaticamente durante o treinamento dentro de um Kubeflow TrainJob com o recurso TrainJobRuntimeStatus habilitado. O controlador do Kubeflow injeta as variáveis de ambiente necessárias no pod de treinamento.

Variáveis de ambiente (injetadas pelo controlador):

  • KUBEFLOW_TRAINER_SERVER_URL: endpoint HTTPS para atualizações de status
  • KUBEFLOW_TRAINER_SERVER_CA_CERT: Caminho para o certificado CA para verificação TLS
  • KUBEFLOW_TRAINER_SERVER_TOKEN: Caminho para o token da conta de serviço para autenticação

Informações reportadas:

  • Porcentagem de progresso (0-100%)
  • Tempo restante estimado (segundos)
  • Métricas de treinamento (loss, learning_rate, etc.)

Recursos:

  • Limitação automática (máximo de 1 atualização a cada 5 segundos) para evitar sobrecarregar o controlador
  • Cache de tokens (5 minutos) para minimizar a E/S de arquivos
  • Apenas o rank 0 relata o progresso no treinamento distribuído
  • Falhas silenciosas - problemas de rede não interromperão o treinamento

Pode ser desativado definindo a variável de ambiente DISABLE_KUBEFLOW_INTEGRATION=TRUE.

classe transformers.integrations.DVCLiveCallback

< >

( live: typing.Any | None = Nonelog_model: typing.Union[typing.Literal['all'], bool, NoneType] = None**kwargs )

Parâmetros

  • live (dvclive.Live, opcional, padrão None) — Instância Live opcional. Se for None, uma nova instância será criada usando **kwargs.
  • log_model (Union[Literal[“all”], bool], opcional, padrão None) — Se deve usar dvclive.Live.log_artifact() para registrar checkpoints criados pelo Trainer. Se definido como True, o checkpoint final é registrado ao final do treinamento. Se definido como "all", o diretório output_dir de TrainingArguments é registrado a cada checkpoint.

Um TrainerCallback que envia os logs para o DVCLive.

Use as variáveis de ambiente abaixo em setup para configurar a integração. Para personalizar este callback além dessas variáveis de ambiente, veja aqui.

configuração

< >

( argsstatemodel )

Configure a integração opcional com o DVCLive. Para personalizar esse callback além das variáveis de ambiente abaixo, consulte aqui.

Ambiente:

  • HF_DVCLIVE_LOG_MODEL (str, opcional): Se deve usar dvclive.Live.log_artifact() para registrar os checkpoints criados pelo Trainer. Se definido como True ou 1, o checkpoint final é registrado ao final do treinamento. Se definido como all, todo o output_dir do TrainingArguments é registrado a cada checkpoint.

classe transformers.integrations.SwanLabCallback

< >

( )

Um TrainerCallback que registra métricas, mídia e checkpoints do modelo no SwanLab.

configuração

< >

( argsstatemodel**kwargs )

Configure a integração opcional com o SwanLab (swanlab).

É possível criar uma subclasse e sobrescrever este método para personalizar a configuração, se necessário. Encontre mais informações aqui.

Você também pode sobrescrever as seguintes variáveis de ambiente. Encontre mais informações sobre variáveis de ambiente aqui

Ambiente:

  • SWANLAB_API_KEY (str, opcional, padrão None): Chave de API da nuvem. Durante o login, esta variável de ambiente é verificada primeiro. Se ela não existir, o sistema verifica se o usuário já está conectado. Caso contrário, o processo de login é iniciado.

    • Se uma string for passada para a interface de login, essa variável de ambiente será ignorada.
    • Se o usuário já estiver conectado, esta variável de ambiente tem precedência sobre as informações de login armazenadas localmente.
  • SWANLAB_PROJECT (str, opcional, padrão None): Defina este valor como uma string personalizada para armazenar os resultados em um projeto diferente. Se não for especificado, será utilizado o nome do diretório de trabalho atual.

  • SWANLAB_LOG_DIR (str, opcional, padrão swanlog): Esta variável de ambiente especifica o caminho de armazenamento para os arquivos de log ao executar no modo local. Por padrão, os logs são salvos em uma pasta chamada swanlog no diretório de trabalho.

  • SWANLAB_MODE (Literal["local", "cloud", "disabled"], opcional, padrão cloud): Modo de análise do SwanLab, que envolve callbacks registrados pelo operador. Atualmente, existem três modos: local, cloud e disabled. Observação: Diferencia maiúsculas de minúsculas. Encontre mais informações aqui

  • SWANLAB_LOG_MODEL (str, opcional, padrão None): O SwanLab não suporta atualmente a funcionalidade de modo de salvamento. Essa funcionalidade estará disponível em uma versão futura

  • SWANLAB_WEB_HOST (str, opcional, padrão None): Endereço web para o ambiente em nuvem do SwanLab na versão privada (que é gratuita)

  • SWANLAB_API_HOST (str, opcional, padrão None): Endereço da API para o ambiente em nuvem do SwanLab na versão privada (que é gratuita)

  • SWANLAB_RUN_ID (str, opcional, padrão None): ID do experimento para retomar uma execução anterior. Use com SWANLAB_RESUME para continuar um experimento existente.

  • SWANLAB_RESUME (str, opcional, padrão None): Modo de retomada ("must", "allow", "never"). O padrão é "allow" quando resume_from_checkpoint é usado.

TrainerCallback

classe transformers.TrainerCallback

< >

( )

Parâmetros

  • args (TrainingArguments) — Os argumentos de treinamento usados para instanciar o Trainer.
  • state (TrainerState) — O estado atual do Trainer.
  • control (TrainerControl) — O objeto que é retornado ao Trainer e pode ser usado para tomar algumas decisões.
  • model (PreTrainedModel ou torch.nn.Module) — O modelo que está sendo treinado.
  • processing_class ([PreTrainedTokenizer ou BaseImageProcessor ou ProcessorMixin ou FeatureExtractionMixin]) — A classe de processamento usada para codificar os dados. Pode ser um tokenizer, um processor, um image processor ou um feature extractor.
  • optimizer (torch.optim.Optimizer) — O otimizador usado para as etapas de treinamento.
  • lr_scheduler (torch.optim.lr_scheduler.LambdaLR) — O agendador usado para definir a taxa de aprendizado.
  • train_dataloader (torch.utils.data.DataLoader, opcional) — O dataloader atual usado para o treinamento.
  • eval_dataloader (torch.utils.data.DataLoader, opcional) — O dataloader atual usado para avaliação.
  • metrics (dict[str, float]) — As métricas calculadas na última fase de avaliação.

    Eles só estão acessíveis no evento on_evaluate.

  • logs (dict[str, float]) — Os valores a serem registrados.

    Eles só são acessíveis no evento on_log.

Uma classe para objetos que inspecionam o estado do loop de treinamento em determinados eventos e tomam algumas decisões. Em cada um desses eventos, os seguintes argumentos estão disponíveis:

O objeto control é o único que pode ser alterado pelo callback, caso em que o evento que o modifica deve retornar a versão modificada.

Os argumentos args, state e control são posicionais para todos os eventos; todos os outros estão agrupados em kwargs. Você pode desempacotar os que precisa na assinatura do evento usando-os. Como exemplo, veja o código do simples PrinterCallback.

Exemplo:

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

< >

( args: TrainingArgumentsstate: TrainerStatecontrol: TrainerControl**kwargs )

Evento chamado no início de uma época.

on_epoch_end

< >

( args: TrainingArgumentsstate: TrainerStatecontrol: TrainerControl**kwargs )

Evento chamado no final de uma época.

on_evaluate

< >

( args: TrainingArgumentsstate: TrainerStatecontrol: TrainerControl**kwargs )

Evento chamado após uma fase de avaliação.

on_init_end

< >

( args: TrainingArgumentsstate: TrainerStatecontrol: TrainerControl**kwargs )

Evento chamado no final da inicialização do Trainer.

on_log

< >

( args: TrainingArgumentsstate: TrainerStatecontrol: TrainerControl**kwargs )

Evento chamado após o registro dos últimos logs.

on_optimizer_step

< >

( args: TrainingArgumentsstate: TrainerStatecontrol: TrainerControl**kwargs )

Evento chamado após o passo do otimizador, mas antes que os gradientes sejam zerados. Útil para monitorar gradientes.

on_pre_optimizer_step

< >

( args: TrainingArgumentsstate: TrainerStatecontrol: TrainerControl**kwargs )

Evento chamado antes da etapa do otimizador, mas após o recorte de gradientes. Útil para monitorar gradientes.

on_predict

< >

( args: TrainingArgumentsstate: TrainerStatecontrol: TrainerControlmetrics**kwargs )

Evento chamado após uma previsão bem-sucedida.

on_prediction_step

< >

( args: TrainingArgumentsstate: TrainerStatecontrol: TrainerControl**kwargs )

Evento chamado após uma etapa de previsão.

on_push_begin

< >

( args: TrainingArgumentsstate: TrainerStatecontrol: TrainerControl**kwargs )

Evento chamado antes de enviar o modelo para o hub, no início de Trainer.push_to_hub e Trainer._push_from_checkpoint.

on_save

< >

( args: TrainingArgumentsstate: TrainerStatecontrol: TrainerControl**kwargs )

Evento chamado após o salvamento de um checkpoint.

on_step_begin

< >

( args: TrainingArgumentsstate: TrainerStatecontrol: TrainerControl**kwargs )

Evento chamado no início de uma etapa de treinamento. Se estiver usando acúmulo de gradiente, uma etapa de treinamento pode levar vários inputs.

on_step_end

< >

( args: TrainingArgumentsstate: TrainerStatecontrol: TrainerControl**kwargs )

Evento chamado no final de uma etapa de treinamento. Se estiver usando acumulação de gradiente, uma etapa de treinamento pode levar vários inputs.

on_substep_end

< >

( args: TrainingArgumentsstate: TrainerStatecontrol: TrainerControl**kwargs )

Evento chamado no final de um subpasso durante a acumulação de gradientes.

on_train_begin

< >

( args: TrainingArgumentsstate: TrainerStatecontrol: TrainerControl**kwargs )

Evento chamado no início do treinamento.

on_train_end

< >

( args: TrainingArgumentsstate: TrainerStatecontrol: TrainerControl**kwargs )

Evento chamado ao final do treinamento.

Aqui está um exemplo de como registrar um callback personalizado com o Trainer do 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())
)

Outra forma de registrar um callback é chamar trainer.add_callback() da seguinte maneira:

trainer = Trainer(...)
trainer.add_callback(MyCallback)
# Alternatively, we can pass an instance of the callback class
trainer.add_callback(MyCallback())

TrainerState

classe transformers.TrainerState

< >

( 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) — Definido apenas durante o treinamento, representa a época em que o treinamento está (a parte decimal sendo a porcentagem da época atual concluída).
  • global_step (int, opcional, padrão 0) — Durante o treinamento, representa o número de etapas de atualização concluídas.
  • max_steps (int, opcional, padrão 0) — O número de etapas de atualização a serem realizadas durante o treinamento atual.
  • logging_steps (int, opcional, padrão 500) — Registra a cada X etapas de atualização
  • eval_steps (int, opcional) — Executa uma avaliação a cada X etapas.
  • save_steps (int, opcional, padrão 500) — Salva um checkpoint a cada X etapas de atualização.
  • train_batch_size (int, opcional) — O tamanho do lote para o dataloader de treinamento. Necessário apenas quando auto_find_batch_size foi utilizado.
  • num_input_tokens_seen (int, opcional, padrão 0) — Ao rastrear os tokens de entrada, o número de tokens vistos durante o treinamento (número de tokens de entrada, não o número de tokens de previsão).
  • total_flos (float, opcional, padrão 0) — O número total de operações de ponto flutuante executadas pelo modelo desde o início do treinamento (armazenado como floats para evitar estouro de capacidade).
  • log_history (list[dict[str, float]], opcional) — A lista de registros feitos desde o início do treinamento.
  • best_metric (float, opcional) — Ao acompanhar o melhor modelo, o valor da melhor métrica encontrada até o momento.
  • best_global_step (int, opcional) — Ao rastrear o melhor modelo, a etapa em que a melhor métrica foi encontrada. Usado para definir best_model_checkpoint.
  • best_model_checkpoint (str, opcional) — Ao acompanhar o melhor modelo, o valor do nome do checkpoint do melhor modelo encontrado até o momento.
  • is_local_process_zero (bool, opcional, padrão True) — Indica se este processo é o processo principal local (por exemplo, em uma única máquina, caso o treinamento seja distribuído entre várias máquinas).
  • is_world_process_zero (bool, opcional, padrão True) — Indica se este processo é o processo principal global (quando o treinamento é realizado de forma distribuída em várias máquinas, isso será True apenas para um processo).
  • is_hyper_param_search (bool, opcional, padrão False) — Indica se estamos em um processo de busca de hiperparâmetros usando Trainer.hyperparameter_search. Isso afetará a forma como os dados serão registrados no TensorBoard.
  • stateful_callbacks (list[StatefulTrainerCallback], opcional) — Callbacks anexados ao Trainer que devem ter seus estados salvos ou restaurados. Os callbacks relevantes devem implementar uma função state e uma função from_state.

Uma classe que contém o estado interno do Trainer, que será salvo junto com o modelo e o otimizador durante o checkpointing e passado para o TrainerCallback.

Em toda esta classe, um passo deve ser entendido como um passo de atualização. Ao usar acúmulo de gradiente, um passo de atualização pode exigir várias passadas de frente e de trás: se você usar gradient_accumulation_steps=n, então um passo de atualização exige percorrer n lotes.

compute_steps

< >

( argsmax_steps )

Calcula e armazena o valor absoluto para as etapas de log, eval e save, com base em se era uma proporção ou não.

init_training_references

< >

( trainermax_stepsnum_train_epochstrial )

Armazena as referências iniciais de treinamento necessárias em self

load_from_json

< >

( json_path: str )

Crie uma instância a partir do conteúdo de json_path.

save_to_json

< >

( json_path: str )

Salve o conteúdo desta instância em formato JSON dentro de json_path.

TrainerControl

classe transformers.TrainerControl

< >

( 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, padrão False) — Indica se o treinamento deve ser interrompido.

    Se True, essa variável não será redefinida para False. O treinamento simplesmente será interrompido.

  • should_epoch_stop (bool, opcional, padrão False) — Indica se a epoch atual deve ser interrompida.

    Se True, esta variável será redefinida para False no início da próxima época.

  • should_save (bool, opcional, padrão é False) — Indica se o modelo deve ser salvo nesta etapa.

    Se True, esta variável será redefinida para False no início da próxima etapa.

  • should_evaluate (bool, opcional, padrão é False) — Indica se o modelo deve ser avaliado nesta etapa.

    Se True, esta variável será redefinida para False no início da próxima etapa.

  • should_log (bool, opcional, padrão False) — Indica se os logs devem ser reportados nesta etapa. Se for True, esta variável será redefinida para False no início da próxima etapa.

    Se True, esta variável será redefinida para False no início da próxima etapa.

Uma classe que gerencia o fluxo de controle do Trainer. Esta classe é usada pelo TrainerCallback para ativar alguns interruptores no loop de treinamento.

Update on GitHub