问题描述
在训练单词向量时,我在两个纪元之间面临以下运行时问题。
/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。
我建议您先检查整个数据集中的班级频率,看看是否有异常情况来进行调试。