如何在 Python 中忽略烦人的警告?
- 代码讲解
- **1. 导入需要用到的工具**
- **2. 定义一个函数:ignore_warnings**
- **3. 忽略特定的警告**
- **4. 调整日志显示级别**
- **5. 设置 Transformers 库的日志等级**
- 什么时候用这段代码?
- 总结
- 完整代码
当你用 Python 写代码时,有时候会看到一些“警告”信息。这些信息不会让代码出错,但会让输出看起来很乱。如果你觉得这些警告很烦,可以用下面的代码让它们“闭嘴”。今天我们就来学学这段代码是怎么做到的!
代码讲解
1. 导入需要用到的工具
import warnings
import logging
from transformers import logging as hf_logging
warnings
:这是 Python 内置的工具,用来管理“警告”。logging
:这是 Python 的日志工具,日志就是程序运行时输出的提示信息。hf_logging
:这是transformers
库的日志工具,我们也可以用它调整日志的显示。
2. 定义一个函数:ignore_warnings
def ignore_warnings():
函数就像一个“工具箱”,当你需要它的功能时,只要调用它就可以。
3. 忽略特定的警告
warnings.filterwarnings("ignore", message="Some weights of the model checkpoint")
warnings.filterwarnings("ignore", message="Could not find image processor class")
warnings.filterwarnings("ignore", message="The `max_size` parameter is deprecated")
warnings.filterwarnings("ignore", ...)
:这是说“我要忽略某些警告”。message
:这里写的是警告的内容,只要警告里包含这段文字,就会被“静音”。
就像我们告诉程序:“看到这些‘内容’的警告,别烦我!”
4. 调整日志显示级别
logging.basicConfig(level=logging.ERROR)
logging.basicConfig
:设置日志的“声音大小”。level=logging.ERROR
:告诉程序“只显示出错的信息,别展示其他没用的提示”。
5. 设置 Transformers 库的日志等级
hf_logging.set_verbosity_error()
hf_logging.set_verbosity_error()
:这是专门用来调节transformers
库的日志,告诉它“只显示出错信息,其他的不要说话”。
什么时候用这段代码?
- 用深度学习工具:比如
transformers
,它会输出很多没用的警告,影响阅读。 - 调试代码时:有时候只想看重要的信息,忽略那些不必要的提示。
总结
这段代码就是一把“静音遥控器”,帮我们把那些烦人的警告和不重要的信息屏蔽掉,让代码的输出更加干净整洁!
完整代码
import warnings
import logging
from transformers import logging as hf_logging
def ignore_warnings():
# 忽略特定的警告
warnings.filterwarnings("ignore", message="Some weights of the model checkpoint")
warnings.filterwarnings("ignore", message="Could not find image processor class")
warnings.filterwarnings("ignore", message="The `max_size` parameter is deprecated")
# 调整日志等级,只显示错误信息
logging.basicConfig(level=logging.ERROR)
hf_logging.set_verbosity_error()
快把这段代码加到你的项目里试试吧!它会让你的输出世界清静很多哦 😊。