numpy:在true divid中遇到无效值

2024-06-16 10:56:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个numpy数组,我正试图将一个与另一个分开,同时,我想确保除数为0的条目应该被0替换。

所以,我会这样做:

log_norm_images = np.where(b_0 > 0, np.divide(diff_images, b_0), 0)

这会给我一个运行时警告:

RuntimeWarning: invalid value encountered in true_divide

现在,我想看看发生了什么,我做了以下几点:

xx = np.isfinite(diff_images)
print (xx[xx == False])

xx = np.isfinite(b_0)
print (xx[xx == False])

但是,这两个数组都返回空数组,这意味着数组中的所有值都是有限的。所以,我不确定无效值是从哪里来的。我假设在np中检查b_0>;0,其中函数负责除以0。

两个数组的形状是(96,96,55,64)和(96,96,55,1)


Tags: numpylogfalsenpdiff条目数组images
1条回答
网友
1楼 · 发布于 2024-06-16 10:56:23

你可能有一个NANINF,或者NINF漂浮在某处。试试这个:

np.isfinite(diff_images).all()
np.isfinite(b_0).all()

如果其中一个或两个返回False,则可能是运行时错误的原因。

相关问题 更多 >