隨著深度學(xué)習(xí)技術(shù)的逐步興起,世界范圍內(nèi)支持深度學(xué)習(xí)的框架也如雨后春筍。那些各大學(xué)實(shí)驗(yàn)室制作出來的不出名的小項(xiàng)目就不必提了,單說現(xiàn)在在業(yè)界使用比較普遍的框架就有TensorFlow、Caffe、Theano、Torch等不下十種。
TensorFlow
TensorFlow是一個(gè)采用數(shù)據(jù)流圖(data flow graphs),用于數(shù)值計(jì)算的開源軟件庫。節(jié)點(diǎn)(nodes)在圖中表示數(shù)學(xué)操作,圖中的線(edges)則表示在節(jié)點(diǎn)間相互聯(lián)系的多維數(shù)據(jù)數(shù)組,即張量(tensor)。它靈活的架構(gòu)讓你可以在多種平臺(tái)上展開計(jì)算,例如臺(tái)式計(jì)算機(jī)中的一個(gè)或多個(gè)CPU(或GPU)、服務(wù)器、移動(dòng)設(shè)備等。
Caffe
卷積神經(jīng)網(wǎng)絡(luò)框架,專注于卷積神經(jīng)網(wǎng)絡(luò)和圖像處理,是用C++語言寫成的,執(zhí)行速度非常快。
Chainer
一個(gè)強(qiáng)大、靈活、直觀的機(jī)器學(xué)習(xí)Python軟件庫,能夠在一臺(tái)機(jī)器上利用多個(gè)GPU,由深度學(xué)習(xí)創(chuàng)業(yè)公司Preferred Networks開發(fā),在Github上有相當(dāng)數(shù)量的項(xiàng)目;Chainer的設(shè)計(jì)基于“define by run”原則,也就是說,該網(wǎng)絡(luò)在運(yùn)行中動(dòng)態(tài)定義,而不是在啟動(dòng)時(shí)定義,這也是該框架的一大亮點(diǎn)。
CNTK
CNTK(Computational Network ToolKit)是微軟研究人員開發(fā)的用于深度神經(jīng)網(wǎng)絡(luò)和多GPU加速技術(shù)的完整開源工具包。微軟稱CNTK在語音和圖像識(shí)別方面,比谷歌的TensorFlow等其他深度學(xué)習(xí)開源工具包更有優(yōu)勢(shì)。
Deeplearning4j
專注于神經(jīng)網(wǎng)絡(luò)的Java庫,可擴(kuò)展并集成Spark、Hadoop和其他基于Java的分布式集成軟件。
Nervana Neo
是一個(gè)高效的Python機(jī)器學(xué)習(xí)庫,它能夠在單個(gè)機(jī)器上使用多個(gè)GPU。
Theano
是一個(gè)用Python編寫的極其靈活的Python機(jī)器學(xué)習(xí)庫,用它定義復(fù)雜的模型相當(dāng)容易,因此它在研究中極其流行。
Torch
是一個(gè)專注于GPU實(shí)現(xiàn)的機(jī)器學(xué)習(xí)庫,得到了像Facebook、谷歌、Twitter這樣的大公司的研究團(tuán)隊(duì)的支持。