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

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

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

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

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

库名称github

开发语言算法

速度网络

灵活性架构

文档框架

适合模型机器学习

平台

上手难易

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

相关文章
相关标签/搜索