速度:就开源卷积神经网络基准测试而言,Torch和Nervana拥有最出色的性能。就大多数测试而言,TensorFlow 性能相当,而Caffe和Theano落在后面。微软的CNTK声称拥有最短的RNN训练时间。针对RNN直接比较Theano、Torch和TensorFlow的另一项研究表明,Theano的性能是三者当中最出色的。 多GPU支持:大多数深度学习应用软件需要数量众多的浮点运算(FLOP)。比如说,百度的DeepSpeech识别模型需要数十ExaFLOP才能训练。这大于10e18次运算!由于像英伟达的Pascal TitanX这些领先的图形处理单元(GPU)每秒可以执行11e9 FLOP,针对一个足够庞大的数据集训练一个新模型需要一周以上的时间。为了缩短构建模型所花的时间,就需要多台机器上的多个GPU。幸好,上面介绍的大多数技术都提供这种支持。尤其是,MXNet据称拥有最充分优化的多GPU引擎之一。 与Keras兼容:Keras(https://github.com/fchollet/keras)是一种用于快速建立深度学习原型的高级库。我们发现,它是一种出色的工具,有助于让数据科学家们从容处理深度学习。Keras目前支持两个后端:TensorFlow和Theano,将来会在TensorFlow中获得官方支持。考虑到其开发者最近表示:Keras会继续作为一种可与多个后端结合使用的前端而存在,Keras就高级库而言也是个不错的选择。 如果你有兴趣开始搞深度学习,建议你首先评估一下自己团队的技能和项目要求。比如说,直播,j2直播,如果一支以Python为中心的团队准备利用深度学习搞图像识别,我们会建议使用TensorFlow,那是由于它拥有详尽的说明文档、尚佳的性能以及出色的原型工具。如果一支擅长Lua的客户团队将RNN扩大到生产环境,我们会建议使用Torch,因为它拥有出众的速度和RNN建模功能。 我们在将来会探讨扩展模型方面遇到的一些挑战。这些挑战包括优化多台机器上的GPU使用,针对我们的深度学习管道改动CMU Sphinx和Kaldi之类的开源库。 相关阅读:
(责任编辑:本港台直播) |