warnings.filterwarnings("ignore")代码解析

本文介绍如何在Python中使用warnings模块控制警告输出,包括忽略警告、将警告转换为异常等操作,提供代码示例并解析filterwarnings函数参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

欢迎关注WX公众号:【程序员管小亮】

在python中运行代码经常会遇到的情况是——代码可以正常运行但是会提示警告,有时特别讨厌,尤其是强迫症患者真的是很难过了 😕(一大片。。。。。。。。。自闭中ing)。

那么如何来控制警告输出呢?其实很简单,python通过调用warnings模块中定义的warn()函数来发出警告。我们可以通过警告过滤器进行控制是否发出警告消息,

代码:

import warnings
warnings.filterwarnings('ignore')

这样就可以忽略警告消息了。下面来函数解析一下:

warnings.filterwarnings(action, 
						message='', 
						category=Warning, 
						module='', 
						lineno=0, 
						append=False)

过滤警告,在 警告过滤器规则 列表中插入一个条目。默认情况下,条目插入在前面;如果 append 为真,则在末尾插入。它检查参数的类型,编译 messagemodule 的正则表达式,并将它们作为警告过滤器列表中的元组插入。如果多个地方都匹配特定的警告,那么更靠近列表前面的条目会覆盖列表中后面的条目,省略的参数默认为匹配一切的值。

  • action 是以下表格左侧的值:
处理方式
“error”将匹配警告转换为异常
“ignore”忽略匹配的警告
“always”始终输出匹配的警告
“default”对于同样的警告只输出第一次出现的警告
“module”在一个模块中只输出第一次出现的警告
“once”输出第一次出现的警告,而不考虑它们的位置
  • message 是包含正则表达式的字符串,警告消息的开始必须匹配,不区分大小写
  • category 是一个警告类型(必须是 Warning 的子类)
  • module 是包含模块名称的正则表达式字符串,区分大小写
  • lineno 是一个整数,警告发生的行号,为 0 则匹配所有行号

命令行下的运行代码为:

python -W ignore file.py

python课程推荐。
在这里插入图片描述

参考文章

import os import warnings import torch import warnings warnings.filterwarnings("ignore", message="Torch was not compiled with flash attention.") from transformers import BertTokenizer, GPT2LMHeadModel, TextGenerationPipeline # 禁用符号链接警告 os.environ["HF_HUB_DISABLE_SYMLINKS_WARNING"] = "1" # 过滤 Flash Attention 警告 warnings.filterwarnings("ignore", message="Torch was not compiled with flash attention.") tokenizer = BertTokenizer.from_pretrained("uer/gpt2-chinese-poem") model = GPT2LMHeadModel.from_pretrained("uer/gpt2-chinese-poem") # 指定设备 device = torch.device("cuda" if torch.cuda.is_available() else "cpu") model = model.to(device) text_generator = TextGenerationPipeline(model, tokenizer, device=device) result = text_generator("[CLS] 万 叠 春 山 积 雨 晴 ,", max_length=50, do_sample=True, truncation=True) print(result)D:\Anaconda3\envs\pytorch-gpu\python.exe D:\pycharm\pycharm文件夹\pythonProject21\main.py D:\Anaconda3\envs\pytorch-gpu\lib\site-packages\transformers\models\gpt2\modeling_gpt2.py:545: UserWarning: 1Torch was not compiled with flash attention. (Triggered internally at C:\actions-runner\_work\pytorch\pytorch\builder\windows\pytorch\aten\src\ATen\native\transformers\cuda\sdp_utils.cpp:455.) attn_output = torch.nn.functional.scaled_dot_product_attention( [{'generated_text': '[CLS] 万 叠 春 山 积 雨 晴 , 杏 红 梅 吐 萼 。 晓 山 时 閟 一 溪 风 , 冻 云 四 捲 春 云 薄 。 我 行 小 病 不 出 门 , 春 风 入 眼 常 如 故 。 天'}]
03-19
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我是管小亮

一口吃掉你的打赏,嗝~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值