theano在CPU和GPU上有不同的结果

时间:2016-03-29 10:35:24

标签: gpu cpu theano theano-cuda

我写了一个Theano机器学习计划。但是我在CPU和GPU之间得到了两个完全不同的结果。

下面是日志。(只是日志的一小部分)

result on GPU

result on CPU

丢失功能将迅速降低,然后在CPU上收敛到0.2。

然而,损失函数将增加并最终成为GPU上的NaN。

我的计划可能出现什么错误?或者我应该注意什么?谢谢!

2 个答案:

答案 0 :(得分:0)

可能是CPU正在使用float64(双精度)而GPU正在使用float32(单精度)?在这里,您可以查找配置标志:http://deeplearning.net/software/theano/library/config.html

答案 1 :(得分:0)

看看这个帖子...... https://github.com/fchollet/keras/issues/511 基本上添加;

optimizer_excluding=cudnn 
.theanorc中的

为我解决了这个问题,但解决方案的运行速度较慢。