我写了一个 Theano 机器学习程序。但是我在 CPU 和 GPU 上得到了两个完全不同的结果。
下面是日志。(只是日志的一小部分)
损失函数会迅速下降,然后在 CPU 上收敛到 0.2。
但是,损失函数会增加,最终在 GPU 上变成 NaN。
我的程序中可能有哪些错误?或者我应该注意什么?谢谢!
看看这个线程...... https://github.com/fchollet/keras/issues/511 基本上添加;
optimizer_excluding=cudnn
在 .theanorc 中为我解决了它,但解决方案运行速度较慢。
会不会是 CPU 正在使用float64
(双精度)而 GPU 正在使用float32
(单精度)?在这里您可以查找配置标志:http ://deeplearning.net/software/theano/library/config.html