Transformers documentation

Registro

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Registro

🤗 O Transformers possui um sistema de log centralizado, para que você possa configurar a verbosidade da biblioteca com facilidade.

Atualmente, o nível de detalhamento padrão da biblioteca é WARNING.

Para alterar o nível de verbosidade, basta usar um dos setters diretos. Por exemplo, veja como alterar a verbosidade para o nível INFO.

import transformers

transformers.logging.set_verbosity_info()

Você também pode usar a variável de ambiente TRANSFORMERS_VERBOSITY para substituir a verbosidade padrão. Você pode configurá-la com um dos seguintes valores: debug, info, warning, error, critical, fatal. Por exemplo:

TRANSFORMERS_VERBOSITY=error ./myprogram.py

Além disso, alguns warnings podem ser desativados definindo a variável de ambiente TRANSFORMERS_NO_ADVISORY_WARNINGS para um valor verdadeiro, como 1. Isso desativará qualquer aviso registrado usando logger.warning_advice. Por exemplo:

TRANSFORMERS_NO_ADVISORY_WARNINGS=1 ./myprogram.py

Aqui está um exemplo de como usar o mesmo logger da biblioteca no seu próprio módulo ou script:

from transformers.utils import logging

logging.set_verbosity_info()
logger = logging.get_logger("transformers")
logger.info("INFO")
logger.warning("WARN")

Todos os métodos deste módulo de log estão documentados abaixo; os principais são logging.get_verbosity() para obter o nível de verbosidade atual do logger e logging.set_verbosity() para definir a verbosidade no nível de sua escolha. Em ordem (do menos verboso ao mais verboso), esses níveis (com seus valores int correspondentes entre parênteses) são:

  • transformers.logging.CRITICAL ou transformers.logging.FATAL (valor int, 50): relata apenas os erros mais críticos.
  • transformers.logging.ERROR (valor int, 40): relata apenas erros.
  • transformers.logging.WARNING ou transformers.logging.WARN (valor int, 30): relata apenas erros e avisos. Este é o nível padrão usado pela biblioteca.
  • transformers.logging.INFO (valor int, 20): relata erros, avisos e informações básicas.
  • transformers.logging.DEBUG (valor int, 10): relata todas as informações.

Por padrão, as barras de progresso tqdm são exibidas durante o download do modelo. logging.disable_progress_bar() e logging.enable_progress_bar() podem ser usados para suprimir ou reverter esse comportamento.

logging vs warnings

O Python possui dois sistemas de log que são frequentemente usados em conjunto: logging, explicado acima, e warnings, que permite classificar ainda mais os avisos em categorias específicas, por exemplo, FutureWarning para um recurso ou caminho que já foi descontinuado e DeprecationWarning para indicar uma descontinuação futura.

Utilizamos ambos na biblioteca transformers. Aproveitamos e adaptamos o método captureWarnings do logging para permitir o gerenciamento dessas mensagens de aviso pelos definidores de verbosidade acima.

O que isso significa para os desenvolvedores da biblioteca? Devemos respeitar as seguintes heurísticas:

  • warnings devem ser preferidos para desenvolvedores da biblioteca e de bibliotecas dependentes de transformers
  • logging deve ser usado por usuários finais da biblioteca em projetos do dia a dia

Veja a referência do método captureWarnings abaixo.

transformers.utils.logging.captureWarnings

< >

( capture )

Chama o método captureWarnings da biblioteca de logging para permitir o gerenciamento dos avisos emitidos pela biblioteca warnings.

Saiba mais sobre este método aqui: https://docs.python.org/3/library/logging.html#integration-with-the-warnings-module

Todos os avisos serão registrados por meio do logger py.warnings.

Atenção: este método também adiciona um manipulador a este logger, caso ele ainda não tenha um, e atualiza o nível de log desse logger para o logger raiz da biblioteca.

Setters de base

transformers.utils.logging.set_verbosity_error

< >

( )

Defina a verbosidade para o nível ERROR.

transformers.utils.logging.set_verbosity_warning

< >

( )

Defina a verbosidade para o nível WARNING.

transformers.utils.logging.set_verbosity_info

< >

( )

Defina a verbosidade para o nível INFO.

transformers.utils.logging.set_verbosity_debug

< >

( )

Defina a verbosidade para o nível DEBUG.

Outras funções

transformers.utils.logging.get_verbosity

< >

( ) → int

Retorna

int

O nível de log.

Retorna o nível atual do logger raiz do 🤗 Transformers como um int.

O 🤗 Transformers possui os seguintes níveis de log:

  • 50: transformers.logging.CRITICAL ou transformers.logging.FATAL
  • 40: transformers.logging.ERROR
  • 30: transformers.logging.WARNING ou transformers.logging.WARN
  • 20: transformers.logging.INFO
  • 10: transformers.logging.DEBUG

transformers.utils.logging.set_verbosity

< >

( verbosity: int )

Parâmetros

  • verbosity (int) — Nível de log, por exemplo, um dos seguintes:
    • transformers.logging.CRITICAL ou transformers.logging.FATAL
    • transformers.logging.ERROR
    • transformers.logging.WARNING ou transformers.logging.WARN
    • transformers.logging.INFO
    • transformers.logging.DEBUG

Defina o nível de verbosidade do logger raiz do 🤗 Transformers.

transformers.utils.logging.get_logger

< >

( name: str | None = None )

Retorna um logger com o nome especificado.

Esta função não deve ser acessada diretamente, a menos que você esteja escrevendo um módulo personalizado de transformers.

transformers.utils.logging.enable_default_handler

< >

( )

Ative o manipulador padrão do logger raiz do HuggingFace Transformers.

transformers.utils.logging.disable_default_handler

< >

( )

Desative o manipulador padrão do logger raiz do HuggingFace Transformers.

transformers.utils.logging.enable_explicit_format

< >

( )

Ative o formato explícito para cada logger do HuggingFace Transformers. O formatador explícito é o seguinte:

    [LEVELNAME|FILENAME|LINE NUMBER] TIME >> MESSAGE
All handlers currently bound to the root logger are affected by this method.

transformers.utils.logging.reset_format

< >

( )

Redefine o formato dos registradores do HuggingFace Transformers.

Todos os handlers atualmente vinculados ao logger raiz são afetados por este método.

transformers.utils.logging.enable_progress_bar

< >

( )

Ative a barra de progresso do tqdm.

transformers.utils.logging.disable_progress_bar

< >

( )

Desative a barra de progresso do tqdm.

Update on GitHub