Transformers 文档

日志记录

Hugging Face's logo
加入 Hugging Face 社区

并获得增强的文档体验

开始

日志记录

🤗 Transformers 有一个集中的日志记录系统,以便您可以轻松设置库的详细程度。

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

要更改详细程度级别,只需使用直接设置器之一。例如,以下是如何将详细程度更改为 INFO 级别的方法。

import transformers

transformers.logging.set_verbosity_info()

您还可以使用环境变量 TRANSFORMERS_VERBOSITY 来覆盖默认详细程度。您可以将其设置为以下值之一:debuginfowarningerrorcriticalfatal。例如

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.CRITICALtransformers.logging.FATAL (整数值,50):仅报告最严重的错误。
  • transformers.logging.ERROR (整数值,40):仅报告错误。
  • transformers.logging.WARNINGtransformers.logging.WARN (整数值,30):仅报告错误和警告。这是库使用的默认级别。
  • transformers.logging.INFO (整数值,20):报告错误、警告和基本信息。
  • transformers.logging.DEBUG (整数值,10):报告所有信息。

默认情况下,在模型下载期间将显示 tqdm 进度条。logging.disable_progress_bar()logging.enable_progress_bar() 可用于抑制或取消抑制此行为。

日志记录 vs 警告

Python 有两个日志记录系统经常一起使用:上面解释的 loggingwarnings,后者允许对警告进行更细致的分类,例如,FutureWarning 表示已弃用的功能或路径,DeprecationWarning 表示即将弃用。

我们在 transformers 库中同时使用两者。我们利用并调整 loggingcaptureWarnings 方法,以便通过上面的详细程度设置器来管理这些警告消息。

这对库的开发者意味着什么?我们应该遵循以下启发式方法

  • 对于库的开发者和依赖 transformers 的库,应优先使用 warnings
  • logging 应该用于在日常项目中使用该库的最终用户

请参阅下面 captureWarnings 方法的参考。

transformers.utils.logging.captureWarnings

< >

( capture )

调用 logging 库中的 `captureWarnings` 方法,以启用对 `warnings` 库发出的警告的管理。

在此处阅读有关此方法的更多信息: https://docs.pythonlang.cn/3/library/logging.html#integration-with-the-warnings-module

所有警告都将通过 `py.warnings` 记录器记录。

注意:如果此记录器尚未拥有处理程序,则此方法还会向其添加一个处理程序,并将该记录器的日志记录级别更新为库的根记录器。

基础设置器

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 根记录器的当前级别。

🤗 Transformers 具有以下日志记录级别

  • 50: transformers.logging.CRITICALtransformers.logging.FATAL
  • 40: transformers.logging.ERROR
  • 30: transformers.logging.WARNINGtransformers.logging.WARN
  • 20: transformers.logging.INFO
  • 10: transformers.logging.DEBUG

transformers.utils.logging.set_verbosity

< >

( verbosity: int )

参数

  • verbosity (int) — 日志记录级别,例如,以下之一:

    • transformers.logging.CRITICALtransformers.logging.FATAL
    • transformers.logging.ERROR
    • transformers.logging.WARNINGtransformers.logging.WARN
    • transformers.logging.INFO
    • transformers.logging.DEBUG

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

transformers.utils.logging.get_logger

< >

( name: typing.Optional[str] = None )

返回具有指定名称的记录器。

除非您正在编写自定义 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 记录器启用显式格式。显式格式如下

    [LEVELNAME|FILENAME|LINE NUMBER] TIME >> MESSAGE
当前绑定到根记录器的所有处理程序都受此方法影响。

transformers.utils.logging.reset_format

< >

( )

重置 HuggingFace Transformers 记录器的格式。

当前绑定到根记录器的所有处理程序都受此方法影响。

transformers.utils.logging.enable_progress_bar

< >

( )

启用 tqdm 进度条。

transformers.utils.logging.disable_progress_bar

< >

( )

禁用 tqdm 进度条。

< > 在 GitHub 上更新