深度學習框架的介紹與比較(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

相關文章
相關標籤/搜索