【完结】12大深度学习开源框架(caffe,tf,pytorch,mxnet等)快速入门项目

别说谁变了你拦得住时间么 提交于 2020-08-15 14:34:17

转自: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
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。




易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!