【问题标题】:RuntimeWarning: invalid value encountered in multiply, RuntimeWarning: divide by zero encountered in logRuntimeWarning:在乘法中遇到无效值,RuntimeWarning:在日志中遇到除以零
【发布时间】:2021-02-07 16:26:09
【问题描述】:

在训练词向量时,我在两个时期之间面临以下运行时问题。

/usr/local/lib/python3.6/dist-packages/ipykernel_launcher.py:12: RuntimeWarning: divide by zero encountered in log
  if sys.path[0] == '':
/usr/local/lib/python3.6/dist-packages/ipykernel_launcher.py:12: RuntimeWarning: invalid value encountered in multiply
  if sys.path[0] == '':

在检查时,我发现不知何故所有嵌入矩阵值都变成了 NaN。我该如何解决这个问题?我从哪里得到 NaN?这是一个用 Python 和 NumPy 编写的简单训练模型,但我仍然收到此错误。我的 colab 笔记本的链接是 this

【问题讨论】:

  • 对零的计算结果为 nan。

标签: python numpy nlp nan


【解决方案1】:

我猜这是因为你的词向量模型中有一个频率为 0 的类。而且,正如@CJR 所说,如果你取零的对数,你会得到 NaN。

我建议通过首先检查您的数据集中的类频率并查看是否有任何异常来进行调试。

【讨论】:

  • 现在我面临其他错误:/usr/local/lib/python3.6/dist-packages/ipykernel_launcher.py:7: RuntimeWarning: overflow encountered in subtract import sys /usr/local/lib/python3.6/dist-packages/numpy/core/fromnumeric.py:90: RuntimeWarning: overflow encountered in reduce return ufunc.reduce(obj, axis, dtype, out, **passkwargs) /usr/local/lib/python3.6/dist-packages/ipykernel_launcher.py:9: RuntimeWarning: overflow encountered in add
猜你喜欢
  • 1970-01-01
  • 2014-03-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-29
  • 2019-05-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多