You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

RuntimeWarning仅显示一次后消失,如何使其持续显示?

问题原因

numpy默认对同类型的RuntimeWarning启用了警告过滤机制,采用once策略——相同触发原因的警告只会在第一次出现时显示,后续重复触发会被自动抑制,目的是避免大量重复警告刷屏,影响输出可读性。

解决方法

以下两种方式都能让警告每次触发都显示:

方式1:修改numpy自身的警告配置

直接调用numpy的seterr()函数,把对应警告的模式设为warn,就能让同类型警告每次触发都输出:

import numpy as np
# 针对所有numpy警告生效
np.seterr(all='warn')
# 也可以只针对无效值相关的警告(更精准)
# np.seterr(invalid='warn')

arr = np.array([np.inf])
arr - arr  # 第一次触发警告
arr - arr  # 第二次同样触发警告

方式2:用Python标准库调整全局警告规则

通过warnings模块修改全局过滤规则,强制让RuntimeWarning每次都显示:

import warnings
import numpy as np

# 设定对RuntimeWarning类型的警告始终显示
warnings.filterwarnings('always', category=RuntimeWarning)

arr = np.array([np.inf])
arr - arr  # 第一次显示警告
arr - arr  # 第二次也显示警告

内容的提问来源于stack exchange,提问作者OfirD

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 08:42:33