奇怪的迭代结果 "error is nan" 和使用 t-SNE 的运行时警告



我正在使用t-SNE python实现来减少X的维数,该包含100个实例,每个实例由1024个参数描述,用于CNN可视化。

X.形状 = [100, 1024]

X.dtype = float32

当我运行时:

Y = tsne.tsne(X)

第一个警告在 tsne.py 第 23 行中弹出:

运行时警告:日志中遇到的除以零 H = Math.log(sumP( + beta * Math.sum(D * P(/sumP

然后在以下行中还有更多这样的警告:

运行时警告:在除法中遇到无效值

最后,我在处理过程中的每次迭代后都会得到这个结果:

迭代 xyz :错误是 nan

代码结束时没有"错误",最后我得到一个空散点图。

编辑:

-> 我已经尝试过使用不同的数据集,并且效果很好。但是,我也需要它在我的第一组(似乎会引起问题的那组(上工作

问题:

有谁知道可能导致这种情况的原因?有解决方法吗?

sumP = sum(P)+np.finfo(np.double).eps
H = np.log(sumP) + beta * np.sum(D * P) / sumP;

这应该可以解决问题

相关内容

最新更新