转自:https://www.jianshu.com/p/16f69668ce25
这是一篇总结文,给大家来捋清楚12大深度学习开源框架的快速入门,这是有三AI的GitHub项目,欢迎大家star/fork。
https://github.com/longpeng2008/yousan.ai
1 概述
1.1 开源框架总览
现如今开源生态非常完善,深度学习相关的开源框架众多,光是为人熟知的就有caffe,tensorflow,pytorch/caffe2,keras,mxnet,paddldpaddle,theano,cntk,deeplearning4j,matconvnet等。
如何选择最适合你的开源框架是一个问题。有三AI在前段时间里,给大家整理了12个深度学习开源框架快速入门的教程和代码,供初学者进行挑选,一个合格的深度学习算法工程师怎么着得熟悉其中的3个以上吧。
下面是各大开源框架的一个总览。
在这里我们还有一些框架没有放上来,是因为它们已经升级为大家更喜欢或者使用起来更加简单的版本,比如从torch->pytorch,从theano到lasagne。另外这些框架都支持CUDA,因此编程语言这里也没有写上cuda。
在选择开源框架时,要考虑很多原因,比如开源生态的完善性,比如自己项目的需求,比如自己熟悉的语言。当然,现在已经有很多开源框架之间进行互转的开源工具如MMDNN等,也降低了大家迁移框架的学习成本。
除此之外还有tiny-dnn,ConvNetJS,MarVin,Neon等等小众,以及CoreML等移动端框架,就不再一一介绍。
总的来说对于选择什么样的框架,有三可以给出一些建议。
(1) 不管怎么说,tensorflow/pytorch你都必须会,这是目前开发者最喜欢,开源项目最丰富的两个框架。
(2) 如果你要进行移动端算法的开发,那么Caffe是不能不会的。
(3) 如果你非常熟悉Matlab,matconvnet你不应该错过。
(4) 如果你追求高效轻量,那么darknet和mxnet你不能不熟悉。
(5) 如果你很懒,想写最少的代码完成任务,那么用keras吧。
(6) 如果你是java程序员,那么掌握deeplearning4j没错的。
其他的框架,也自有它的特点,大家可以自己多去用用。
1.2 如何学习开源框架
要掌握好一个开源框架,通常需要做到以下几点:
作者:有三AI
链接:https://www.jianshu.com/p/16f69668ce25
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。