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