Transformers documentation

日志

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

日志

🤗 Transformers 拥有集中式日志系统,因此您可以轻松设置该库的日志详细程度。

目前,该库的默认详细程度为 WARNING。

要更改详细程度级别,只需使用其中一个直接设置器即可。例如,以下是如何将详细程度更改为 INFO 级别。

import transformers

transformers.logging.set_verbosity_info()

您还可以使用环境变量 TRANSFORMERS_VERBOSITY 来覆盖默认的日志详细程度。您可以将其设置为以下值之一:debug、info、warning、error、critical、fatal。例如:

TRANSFORMERS_VERBOSITY=error ./myprogram.py

此外,可以通过将环境变量 TRANSFORMERS_NO_ADVISORY_WARNINGS 设置为真值(例如 1)来禁用某些 warnings。这将禁用所有通过 logger.warning_advice 记录的警告。例如:

TRANSFORMERS_NO_ADVISORY_WARNINGS=1 ./myprogram.py

以下是在您自己的模块或脚本中使用与库相同的日志记录器的示例:

from transformers.utils import logging

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

本日志模块的所有方法均记录如下,其中主要方法包括 logging.get_verbosity(),用于获取日志记录器当前的详细程度级别,以及 logging.set_verbosity(),用于将详细程度设置为您选择的级别。按从最简略到最详细的顺序,这些级别(括号内为对应的整数值)如下:

  • transformers.logging.CRITICAL 或 transformers.logging.FATAL(整数值,50):仅报告最严重的错误。
  • transformers.logging.ERROR(整数值,40):仅报告错误。
  • transformers.logging.WARNING 或 transformers.logging.WARN(整数值,30):仅报告错误和警告。这是该库使用的默认级别。
  • transformers.logging.INFO(整数值,20):报告错误、警告和基本信息。
  • transformers.logging.DEBUG(整数值,10):报告所有信息。

默认情况下,模型下载过程中会显示 tqdm 进度条。可以使用 logging.disable_progress_bar() 和 logging.enable_progress_bar() 来禁用或重新启用此行为。

日志与警告

Python 有两个通常配合使用的日志系统:logging(上文已作介绍)和 warnings,后者允许将警告进一步归类到特定的类别中,例如使用 FutureWarning 表示某个功能或路径已被弃用,使用 DeprecationWarning 表示即将弃用。

我们在 transformers 库中同时使用了这两种方式。我们利用并适配了 logging 的 captureWarnings 方法,以便通过上述的 verbosity 设置器来管理这些警告信息。

这对库的开发者意味着什么?我们应该遵循以下经验法则:

  • warnings 应优先用于 transformers 的开发者以及依赖 transformers 的库
  • logging 应供该库的终端用户在日常项目中使用。

请参阅下方 captureWarnings 方法的参考文档。

transformers.utils.logging.captureWarnings

< >

( capture )

调用日志库中的 captureWarnings 方法,以管理由 warnings 库发出的警告。

Read more about this method here: https://docs.python.org/3/library/logging.html#integration-with-the-warnings-module

所有警告都会通过 py.warnings 日志记录器进行记录。

注意:如果该 logger 尚未设置 handler,此方法还会为其添加一个 handler,并将该 logger 的日志级别更新为库的根 logger 的级别。

基础 setter

transformers.utils.logging.set_verbosity_error

< >

( )

将详细程度设置为 ERROR 级别。

transformers.utils.logging.set_verbosity_warning

< >

( )

将详细程度设置为 WARNING 级别。

transformers.utils.logging.set_verbosity_info

< >

( )

将详细程度设置为 INFO 级别。

transformers.utils.logging.set_verbosity_debug

< >

( )

将详细程度设置为 DEBUG 级别。

其他函数

transformers.utils.logging.get_verbosity

< >

( ) → int

返回值

int

日志级别。

以 int 形式返回 🤗 Transformers 根日志记录器(root logger)的当前级别。

🤗 Transformers 支持以下日志级别:

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

transformers.utils.logging.set_verbosity

< >

( verbosity: int )

参数

  • verbosity (int) — 日志级别,例如以下之一:
    • transformers.logging.CRITICAL 或 transformers.logging.FATAL
    • transformers.logging.ERROR
    • transformers.logging.WARNING 或 transformers.logging.WARN
    • transformers.logging.INFO
    • transformers.logging.DEBUG

设置 🤗 Transformers 根日志记录器的详细程度级别。

transformers.utils.logging.get_logger

< >

( name: str | None = None )

返回一个具有指定名称的 logger。

除非您正在编写自定义的 transformers 模块,否则不应直接访问此函数。

transformers.utils.logging.enable_default_handler

< >

( )

启用 HuggingFace Transformers 根日志记录器的默认处理器。

transformers.utils.logging.disable_default_handler

< >

( )

禁用 HuggingFace Transformers 根日志记录器的默认处理器。

transformers.utils.logging.enable_explicit_format

< >

( )

为 HuggingFace Transformers 的每个 logger 启用显式格式化。显式格式化器如下:

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

transformers.utils.logging.reset_format

< >

( )

重置 HuggingFace Transformers 的日志记录器格式。

所有当前绑定到根日志记录器(root logger)的处理器都会受到此方法的影响。

transformers.utils.logging.enable_progress_bar

< >

( )

启用 tqdm 进度条。

transformers.utils.logging.disable_progress_bar

< >

( )

禁用 tqdm 进度条。

Update on GitHub