我是靠谱客的博主 高兴百合,最近开发中收集的这篇文章主要介绍RuntimeWarning: invalid value encountered in less原因,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

RuntimeWarning: invalid value encountered in less


今天跑python代码时出现一个RuntimeWarning,导致我后面输出的值全为nan,warning显示错误在这里

if model['weights'][i][j] < 0

就是这样一个简单的比较式

后来随便设了一个数组测试一下

a = np.zeros(5, dtype=np.float32)
a[0] = np.nan
if a[0] < 0:
print('ok')

输出了RuntimeWarning: invalid value encountered in less

知道问题在哪里改起来就简单了,出现这个问题是因为比较的数是无效值nan,导致if语句执行不了。

我的解决方法是将原来数组里面的nan改成0继续运行,查找nan值的话可以通过这个表达式进行判断

import math
print(math.isnan(a[0]))

输出的是

True

再将这些nan值改掉就可以了

注意,如果数组里有nan值那么取最大值最小值

print(np.max(a))
print(np.min(a))

输出的也是nan

nan
nan

同理对于这些判断语句

a[0] > 0
a[0] >= 0
a[0] <= 0

会输出

RuntimeWarning: invalid value encountered in greater
RuntimeWarning: invalid value encountered in greater_equal
RuntimeWarning: invalid value encountered in less_equal

最后

以上就是高兴百合为你收集整理的RuntimeWarning: invalid value encountered in less原因的全部内容,希望文章能够帮你解决RuntimeWarning: invalid value encountered in less原因所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(38)

评论列表共有 0 条评论

立即
投稿
返回
顶部