文档章节

深度学习框架的介绍与比较(Caffe, TensorFlow, MXNet, Torch, Theano)

MtrS
 MtrS
发布于 2016/12/10 10:34
字数 872
阅读 208
收藏 1

标签: 深度学习deep learning框架caffetorch 2016-06-22 14:57 7112人阅读 评论(0) 收藏 举报 分类: deep learning(1)

版权声明:本文为博主原创文章,未经博主允许不得转载。

在这里,我将会介绍当前比较主流的5种深度学习框架,包括 Caffe, TensorFlow, MXNet, Torch, Theano,并对这些框架进行分析。

首先对这些框架进行总览。

库名称

开发语言

速度

灵活性

文档

适合模型

平台

上手难易

Caffe

c++/cuda

一般

全面

CNN

所有系统

中等

TensorFlow

c++/cuda/Python

中等

中等

CNN/RNN

Linux, OSX

MXNet

c++/cuda

全面

CNN

所有系统

中等

Torch

c/lua/cuda

全面

CNN/RNN

Linux, OSX

中等

Theano

python/c++/cuda

中等

中等

CNN/RNN

Linux, OSX

接下来将对这些框架进行分别介绍。

Caffe 第一个主流的工业级深度学习工具。 它开始于2013年底,由UC Berkely的Yangqing Jia老师编写和维护的具有出色的卷积神经网络实现。在计算机视觉领域Caffe依然是最流行的工具包。 它有很多扩展,但是由于一些遗留的架构问题,不够灵活且对递归网络和语言建模的支持很差。

TensorFlow Google开源的其第二代深度学习技术——被使用在Google搜索、图像识别以及邮箱的深度学习框架。 是一个理想的RNN(递归神经网络)API和实现,TensorFlow使用了向量运算的符号图方法,使得新网络的指定变得相当容易,支持快速开发。 缺点是速度慢,内存占用较大。(比如相对于Torch)

MXNet 是李沐和陈天奇等各路英雄豪杰打造的开源深度学习框架,是分布式机器学习通用工具包DMLC 的重要组成部分。 它注重灵活性和效率,文档也非常的详细,同时强调提高内存使用的效率,甚至能在智能手机上运行诸如图像识别等任务。

Torch Facebook力推的深度学习框架,主要开发语言是C和Lua。 有较好的灵活性和速度。 它实现并且优化了基本的计算单元,使用者可以很简单地在此基础上实现自己的算法,不用浪费精力在计算优化上面。核心的计算单元使用C或者cuda做了很好的优化。在此基础之上,使用lua构建了常见的模型。 缺点是接口为lua语言,需要一点时间来学习。

Theano 2008年诞生于蒙特利尔理工学院,主要开发语言是Python。 Theano派生出了大量深度学习Python软件包,最著名的包括Blocks和Keras。 Theano的最大特点是非常的灵活,适合做学术研究的实验,且对递归网络和语言建模有较好的支持,缺点是速度较慢。

参考 深度学习框架的评估与比较 http://www.infoq.com/cn/news/2016/01/evaluation-comparison-deep-learn Caffe、TensorFlow、MXnet三个开源库对比 http://chenrudan.github.io/blog/2015/11/18/comparethreeopenlib.html CVPR 2015深度学习回顾:ConvNet、Caffe、Torch及其他 http://www.csdn.net/article/1970-01-01/2825395 torch7怎么样?和theano和caffe相比如何?顺便问下实现cnn麻烦吗? https://www.zhihu.com/question/34789475 深度学习简析,TensorFlow,Torch,Theano,Mxn http://lchiffon.github.io/2015/11/16/long.html

© 著作权归作者所有

共有 人打赏支持
MtrS
粉丝 32
博文 566
码字总数 357787
作品 0
榆林
私信 提问
深度学习框架 MXNet 成为 Apache 孵化器项目

MXNet 是一个轻量级、可移植、灵活的分布式深度学习框架,2017 年 1 月 23 日,该项目进入 Apache 基金会,成为 Apache 的孵化器项目。 MXNet 项目由 DMLC(Distributied (Deep) Machine ...

局长
2017/02/06
3.2K
5
对比深度学习十大框架:TensorFlow 并非最好?

2016 年已经过去,BEEVA Labs 数据分析师 Ricardo Guerrero Gomez-Ol 近日在 Medium 上发表了一篇文章,盘点了目前最流行的深度学习框架。为什么要做这一个盘点呢?他写道:「我常听到人们谈...

两味真火
2017/01/02
29.3K
6
机器学习和深度学习的最佳框架大比拼

在过去的一年里,咱们讨论了六个开源机器学习和/或深度学习框架:Caffe,Microsoft Cognitive Toolkit(又名CNTK 2),MXNet,Scikit-learn,Spark MLlib和TensorFlow。如果把网撒得大些,可...

凝小紫
2017/02/05
26.9K
3
十个值得一试的开源深度学习框架

本周早些时候Google开源了TensorFlow(GitHub),此举在深度学习领域影响巨大,因为Google在人工智能领域的研发成绩斐然,有着雄厚的人才储备,而且Google自己的Gmail和搜索引擎都在使用自行...

oschina
2015/11/16
84.9K
33
盘点四大民间机器学习开源框架

Theano Theano 在深度学习框架中是祖师级的存在。它的开发始于 2007,早期开发者包括传奇人物 Yoshua Bengio 和 Ian Goodfellow。 Theano 基于 Python,是一个擅长处理多维数组的库(这方面它...

两味真火
2017/01/05
8.5K
10

没有更多内容

加载失败,请刷新页面

加载更多

Django进阶 1.1 ORM基础—ORM 1.2.1 增删改查之查询 1.2.2 删改增 (1) 1.2.3 删改增 (2)

ORM基础 ORM是Django操作数据库的API,Django的作者将sql语句封装在里面供我们使用。 我们前面还提到过Django提供一个模拟数据库的工具,sqlite,供我们学习测试使用。 如果我们想使用mysql...

隐匿的蚂蚁
今天
1
0
Windows 上安装 Scala

在安装 Scala 之前需要先安装 Java 环境,具体安装的详细方法就不在这里描述了。 您可以自行搜索我们网站中的内容获得其他网站的帮助来获得如何安装 Java 环境的方法。 接下来,我们可以从 ...

honeymose
今天
3
0
数据库篇多表操作

第1章 多表操作 实际开发中,一个项目通常需要很多张表才能完成。例如:一个商城项目就需要分类表(category)、商品表(products)、订单表(orders)等多张表。且这些表的数据之间存在一定的关系...

stars永恒
今天
3
0
nginx日志自动切割

1.日志配置(Nginx 日志) access.log----记录哪些用户,哪些页面以及用户浏览器,IP等访问信息;error.log------记录服务器错误的日志 #配置日志存储路径:location / {      a...

em_aaron
昨天
5
0
java 反射

基本概念 RTTI,即Run-Time Type Identification,运行时类型识别。RTTI能在运行时就能够自动识别每个编译时已知的类型。   要想理解反射的原理,首先要了解什么是类型信息。Java让我们在运...

细节探索者
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部