首页 文章

Caffe vs Theano MNIST的例子

提问于
浏览
2

当他们是Caffe和Theano的时候,我正在努力学习(和比较)不同的深度学习框架 .

http://caffe.berkeleyvision.org/gathered/examples/mnist.html

http://deeplearning.net/tutorial/lenet.html

我按照教程在MNIST数据集上运行这些框架 . 但是,我注意到在准确性和性能方面存在很大差异 .

对于Caffe来说,它的准确度非常快,可以达到~97% . 事实上,完成程序只需5分钟(使用GPU),测试集的最终精度超过99% . 真是太棒了!

然而,在Theano上,它更加贫穷 . 我花了超过46分钟(使用相同的GPU),只是为了达到92%的测试性能 .

我很困惑,因为在同一数据集上运行相对相同的架构的框架之间不应该有太大的区别 .

所以我的问题是 . Caffe报告的准确度数字是测试集上正确预测的百分比吗?如果是这样,是否有任何解释的差异?

谢谢 .

1 回答

  • 6

    Theano和Caffe的例子并不完全相同 . 我能想到的两个关键差异是Theano示例使用sigmoid / tanh激活函数,而Caffe教程使用ReLU激活函数,而Theano代码使用普通minibatch gradient descent而Caffe使用momentum optimiser . 这两种差异都会显着影响网络的培训时间 . 使用ReLU装置可能也会影响准确性 .

    请注意,Caffe是一个深度学习框架,已经为许多常用的东西(如动量优化器)提供了现成的功能 . 另一方面,Theano是一个符号数学库,可用于构建神经网络 . 但是,它不是一个深入的学习框架 .

    您提到的Theano教程是了解卷积和其他神经网络在基本级别上如何工作的绝佳资源 . 但是,实施所有最先进的调整将非常麻烦 . 如果您想快速获得最先进的结果,最好使用现有的深度学习框架之一 . 除了Caffe之外,还有许多基于Theano的框架 . 我知道kerasblockspylearn2,以及我个人最喜欢的lasagne .

相关问题