如今深度學習是AI和機器學習領域最熱門的學習趨勢。我們來審查為深度學習而開發的軟體,包括Caffe,CUDA convnet,Deeplearning4j,Pylearn2,Theano和Torch。
深度學習是現在人工智慧(ArtificialIntelligence)和機器學習(Machine Learning)最熱門的的趨勢,每天的報刊都在報導令人驚異的新成就,比如在IQ測試中超越了人類(doing better than humans on IQ test)。
2015 KDnuggets Software Poll中添加了一個深度學習工具的新類別,民意調查最流行的工具的結果顯示如下。
我沒有使用過所有的工具,所以這是基於這些流行工具的主頁和教程的簡要概述。
Theano&Pylearn2:
Theano和Pylearn2都是在Montreal大學開發出來的,都是由YoshuaBengio帶領的大部分來自於LISA的開發人員參與研發。Theano是一個Python庫,你也可以把它看成一個數學表達式編譯器。這對於從零開始生成算法是有益的。這裡是Theano培訓的一個直觀的例子。
如果我們要使用標準算法,我們可以寫Pylearn2插件作為Theano表達式,並且Theano會優化和穩定這個表達式。它包括多層感知器/RBM/Stacked Denoting Autoencoder/ ConvNets所需的所有的東西。這裡是一個快速入門教程來引導您完成Pylearn2的一些基本思路的學習。
Caffe:
Caffe是由BerkeleyVision and Learning Center開發的,由賈揚清創建,Evan Shelhamer帶領完成。它是一種C ++中ConvNets的快速的和可讀的實現。如圖所示在其官方頁面上,Caffe使用一個單一的NVIDIA GPU K40與AlexNet可以每天處理超過60M的圖像。它是一個可用於圖像分類的工具包,不擅長其他的深度學習應用程式,如文字或語音。
Torch &OverFeat:
Lua Facebook AI是用Lua編寫的,並且為 NYU,Facebook AI實驗室和GoogleDeepMind Torch使用。它要求為機器學習算法提供一個類似於MATLAB的環境。為什麼他們選擇Lua/ LuaJIT而不是更流行的Python呢?他們在Torch7的說明中這樣解釋,「Lua容易和C結合,所以在幾個小時內的工作中,任何C或C ++庫都可以成為一個Lua庫。」Lua是用純ANSI C編寫的,所以它可以很容易地編譯任意目標。
OverFeat是一個在ImageNet數據集中使用Torch7訓練的特徵提取器,同樣很容易入門。
Cuda:
毫無疑問,最近GPU加速了深度學習的研究。有關GPU的新聞尤其是NVIDIACUDA遍及網際網路。Cuda-convnet/CuDNN支持所有主流軟體,例如Caffe,Torch和Theano,都是容易實現的。
Deeplearning4j:
不像上述工具是作為一種研究工具,Deeplearning4j為在商業環境中使用而設計。正如其介紹,DL4J是一種「基於Java的,聚焦工業,商業支持的,分布式的深度學習框架。」
對比
這些工具似乎在速度和易用性方面表示出友好的競爭性。
Caffe的開發者說,「Caffe是最快的可用的convnet實現工具。」
Torch7被證明在大多數基準中比Theano要快,如Torch7指南中所示。
Soumith給出了所有開源實現的convnet基準。
Caffe指南中列出了一些流行的深度學習工具的對照表。
有Reddit上有一個關於「最適合深度神經網絡的框架」的討論。 DL4J在其網站上也給出了DL4J vs. Torch vs. Theano vs. Caffe的比較。
原文連結:Popular Deep Learning Tools – a review(翻譯/王輝 責編/周建丁)
本文為CSDN編譯整理,未經允許不得轉載,如需轉載請聯繫market#csdn.net(#換成@)