12大深度学习开源框架(caffe,tensorflow,pytorch,mxnet等)汇总详解.pdfVIP

12大深度学习开源框架(caffe,tensorflow,pytorch,mxnet等)汇总详解.pdf

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

12⼤深度学习开源框架(caffe,tensorflow,pytorch,mxnet等)

汇总详解

这是⼀篇总结⽂,给⼤家来捋清楚12⼤深度学习开源框架的快速⼊门,这是有三AI的GitHub项⽬,欢迎⼤家star/fork。

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如何学习开源框架

要掌握好⼀个开源框架,通常需要做到以下⼏点:

(1)熟练掌握不同任务数据的准备和使⽤。

(2)熟练掌握模型的定义。

(3)熟练掌握训练过程和结果的可视化。

(4)熟练掌握训练⽅法和测试⽅法。

⼀个框架,官⽅都会开放有若⼲的案例,最常见的案例就是以MNISI数据接⼝+预训练模型的形式,供⼤家快速获得结果,但是这明显还不

够,学习不应该停留在跑通官⽅的demo上,⽽是要解决实际的问题。

我们要学会从⾃定义数据读取接⼝,⾃定义⽹络的搭建,模型的训练,模型的可视化,模型的测试与部署等全⽅位进⾏掌握。

因此,我们开设了⼀个《2⼩时快速⼊门开源框架系列》,以⼀个图像分类任务为基准,带领⼤家⼀步⼀步⼊门,后续会增加分割,检测等

任务。

这是⼀个⼆分类任务,给⼤家准备了500张微笑表情的图⽚、500张⽆表情的图⽚,放置在git⼯程的data⽬录下,图⽚预览如下,已经全

部缩放到60*60的⼤⼩:

这是⽆表情的图⽚:

这是微笑表情的图⽚。

因此,我们的⽬标就是利⽤这500张图⽚完成好这个图像分类任务。

在下⾯的所有框架的学习过程中,我们都要完成下⾯这个流程,只有这样,才能叫做真正的完成了⼀个训练任务。

另外,所有的框架都使⽤同样的⼀个模型,这是⼀个3层卷积+2层全连接的⽹络,由卷积+BN层+激活层组成,有的使⽤带步长的卷积,有

的使⽤池化,差别不⼤。

输⼊图像,48*48*3的RGB彩⾊图。

第⼀层卷积,通道数12,卷积核3*3。

第⼆层卷积,通道数24,卷积核3*3。

第三层卷积,通道数48,卷积核3*3。

第⼀层全连接,通道数128。

第⼆层全连接,通道数2,即类别数。

⽹络结构如下:

这是最简单的⼀种⽹络结构,优化的时候根据不同的框架,采⽤了略有不同的⽅案。因为此处的⽬标不是为了⽐较各个框架的性能,所以没

有刻意保持完全⼀致。

2开源框架

下⾯我们开始对各个框架进⾏简述。

2.1Caffe

(1)概述:

Caffe是伯克利的贾扬清主导开发,以C++/CUDA代码为主,最早的深度学习框架之⼀,⽐TensorFlow、Mxnet、Pytorch等都更早,需

要进⾏编译安装。⽀持命令⾏、Python

文档评论(0)

各类考试卷精编 + 关注
官方认证
文档贡献者

各类考试卷、真题卷

认证主体社旗县兴中文具店(个体工商户)
IP属地河南
统一社会信用代码/组织机构代码
92411327MAD627N96D

1亿VIP精品文档

相关文档