標籤: 深度學習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