6

我正在使用 t-SNE python 实现进行降维,X其中包含 100 个实例,每个实例由 1024 个参数描述,用于 cnn 可视化。

X.shape = [100, 1024]

X.dtype = float32

当我运行时:

Y = tsne.tsne(X)

第一个警告出现在 tsne.py 的第 23 行:

RuntimeWarning:除以在日志中遇到的零 H = Math.log(sumP) + beta * Math.sum(D * P) / sumP

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

RuntimeWarning:在除法中遇到无效值

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

迭代 xyz:错误是 nan

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

编辑:

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

问题 :

有谁知道这可能是什么原因造成的?有解决方法吗?

4

1 回答 1

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

这应该可以解决问题

于 2017-10-20T10:26:27.550 回答