Transformers 文档
日志记录
并获得增强的文档体验
开始使用
日志记录
🤗 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() 来抑制或取消抑制此行为。
logging vs warnings
Python 有两个经常结合使用的日志记录系统:logging
(如上所述)和 warnings
,后者允许将警告进一步分类到特定的桶中,例如,FutureWarning
用于已弃用的功能或路径,DeprecationWarning
用于指示即将到来的弃用。
我们在 `transformers` 库中同时使用这两种方法。我们利用并调整 `logging` 的 `captureWarnings` 方法,以允许通过上述详细程度设置器管理这些警告消息。
这对库的开发者意味着什么?我们应该遵循以下启发式方法:
- 对于库的开发者和依赖于 `transformers` 的库,应优先使用 `warnings`。
- 对于在日常项目中使用该库的最终用户,应使用 `logging`。
请参阅下面 `captureWarnings` 方法的参考资料。
调用日志库中的 `captureWarnings` 方法,以启用对 `warnings` 库发出的警告的管理。
在此处阅读有关此方法的更多信息:https://docs.pythonlang.cn/3/library/logging.html#integration-with-the-warnings-module
所有警告都将通过 `py.warnings` 日志记录器进行记录。
注意:如果该日志记录器尚无处理程序,此方法也会为其添加一个,并将该日志记录器的日志级别更新为库的根日志记录器。
基本设置器
将详细程度设置为 ERROR
级别。
将详细程度设置为 WARNING
级别。
将详细程度设置为 INFO
级别。
将详细程度设置为 DEBUG
级别。
其他函数
以整数形式返回 🤗 Transformers 根日志记录器的当前级别。
🤗 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 )
为 🤗 Transformers 的根日志记录器设置详细级别。
返回具有指定名称的日志记录器。
除非您正在编写自定义的 transformers 模块,否则不应直接访问此函数。
启用 HuggingFace Transformers 的根日志记录器的默认处理程序。
禁用 HuggingFace Transformers 的根日志记录器的默认处理程序。
重置 HuggingFace Transformers 日志记录器的格式。
所有当前绑定到根日志记录器的处理程序都会受此方法影响。
启用 tqdm 进度条。
禁用 tqdm 进度条。