我是靠谱客的博主 高兴百合,最近开发中收集的这篇文章主要介绍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原因所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复