RuntimeWarning:在乘法中遇到无效值,RuntimeWarning:在日志中除以零

问题描述

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

/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

解决方法

我猜测是因为您的单词向量模型中有一个类的频率为0。正如@CJR所说,如果取对数为零,您将得到NaN。

我建议您先检查整个数据集中的班级频率,看看是否有异常情况来进行调试。