深度學習框架的介紹與比較(Caffe, TensorFlow, MXNet, Torch, Theano)

當前比較主流的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軟件包,最著名的包括BlocksKeras
Theano的最大特點是非常的靈活,適合做學術研究的實驗,且對遞歸網絡和語言建模有較好的支持,缺點是速度較慢。

參考
深度學習框架的評估與比較
Caffe、TensorFlow、MXnet三個開源庫對比
CVPR 2015深度學習回顧:ConvNet、Caffe、Torch及其他
torch7怎麼樣?和theano和caffe相比如何?順便問下實現cnn麻煩嗎?
深度學習簡析,TensorFlow,Torch,Theano,Mxn
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章