【问题标题】:RuntimeWarning: invalid value encountered in reduceRuntimeWarning:reduce中遇到的无效值
【发布时间】:2018-02-27 16:06:40
【问题描述】:

在将numpy 更新到版本 1.14.1 后,我在执行任何命令(例如输入 1+1)后收到以下警告消息:

/home/username/anaconda3/lib/python3.6/site-packages/numpy
/core/_methods.py:26: RuntimeWarning: invalid value encountered in reduce
return umr_maximum(a, axis, None, out, keepdims)

现在有人知道问题是什么吗?我该如何解决?

【问题讨论】:

    标签: python numpy runtime


    【解决方案1】:

    我知道我迟到了大约五个月,但我的回答可能对其他人有所帮助。

    首先,警告表明您正在运行reduce 的矩阵或在内部运行reduce 的任何其他函数具有一些无效值。这些无效值大多是NaNinf。我创建了一个小sn-p来解释我的意思!!

    在下面的 sn-p 中,我将创建一个变量 x,其中包含一些无效值,然后运行一个在内部使用 reduce 的函数,如 numpy.amax()

    >>> import numpy as np
    >>>
    >>> x = np.array([[0.2, 0.7], [np.nan, np.nan]])
    >>> print(np.amax(x, axis=0)) 
    RuntimeWarning: invalid value encountered in reduce
    return ufunc.reduce(obj, axis, dtype, out, **passkwargs)
    [nan nan]
    

    因此,我的建议是仔细检查导致此问题的矩阵。我不知道这是否与您的情况相同,但它对我有用!

    下次,当您的代码遇到任何问题时......提供导致问题的代码总是一个好主意。

    【讨论】:

    • 感谢您的回答!问题是我根本不使用任何矩阵。我刚刚输入了1+1,就是这样......
    【解决方案2】:

    因为数组中的某些值具有infNaN 的值。在应用进一步操作之前检查您的数组。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-07-02
      • 2016-04-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-18
      • 1970-01-01
      • 2016-09-26
      相关资源
      最近更新 更多