我希望做一些分布式计算。使用GPU进行机器学习? 只是想知道是否有人有MXNET(perf。vs Theano)的经验
参考 http://www.cs.cmu.edu/~muli/file/mxnet-learning-sys.pdf
由于
答案 0 :(得分:4)
我对mxnet
和Theano
(通过烤宽面条和keras)有很多经验
基准测试总是有偏见的,所以我不会对此发表评论,除非注意到所有框架都非常快。以下几点可以帮助您做出决定:
Theano
相比,mxnet
与python相比就像汇编一样。 Theano有低级原语来构建机器学习模型,并且它本身没有定义任何层或优化器,你通常会将它用于一些深度学习库,例如Lasagne或Keras,而mxnet
更高水平。因此,票价比较为mxnet
vs Keras
,而不是mxnet
vs Theano
。mxnet
是一个更新的图书馆,其中的某些内容尚未完善,网上资源的数量也少于Theano
。Theano
(因此Lasagne和Keras)在第一次将它们运行到C ++和Cuda时编译模型,这非常慢。对于非常复杂的模型,例如展开的LSTM,编译可能需要几分钟。与模型训练所需的时间(数小时到数周)相比,它通常很少,但是当你制作原型时非常烦人。总的来说,如果你在这两个框架之间做出选择,除了经常性或非常深的网络之外,我会建议Theano + Keras,否则Theano
中的编译会杀了你。
另请查看TensorFlow
。它(主观上)比mxnet
慢,但更成熟,在线资源更多。