深度學習( Deep Learning )軟件資源列表

列表源自http://deeplearning.net/software_links/,本文進行分類整理。

星號代表對軟件庫的推薦度,考慮了適用範圍、開發語言、更新情況、文檔示例完整性等方面,Just personal opinion。

根據編程語言,對深度學習的軟件資源分類:

PYTHON:

★★★★★五星Theano – CPU/GPU 符號表示編譯器in python (from LISA lab at University of Montreal)

相關資源:

Deep Learning Tutorials– 使用Theano實現深度學習的示例 (from LISA lab at University of Montreal)

Pylearn2- Pylearn2是一個機器學習庫,功能建立在Theano之上.

Gnumpy是一個Python模塊,提供與numpy相似的接口,使用GPU進行計算,運行於cudamat之上.

cudamat是一個基於GPU的矩陣庫,包括訓練Neural Networks and Restricted Boltzmann Machines的示例代碼。

3-way factored RBMandmcRBM是Python代碼,調用CUDAMat用於爲自然圖像訓練模型(fromMarc’Aurelio Ranzato).

mPoT是Python代碼,調用CUDAMat和gnumpy用於爲自然圖像訓練模型 (fromMarc’Aurelio Ranzato).

MATLAB:

★★★★★五星DeepLearnToolbox– A Matlab toolbox for Deep Learning (from Rasmus Berg Palm)

Matlab code for trainingconditional RBMs/DBNsandfactored conditional RBMs(fromGraham Taylor).

★★★★四星

Deep Belief Networks. Matlab代碼用於學習深度信念網絡(Deep Belief Networks) (from Ruslan Salakhutdinov).

Estimating Partition Functions of RBM’s. Matlab代碼用於使用退火重要性採樣(Annealed Importance Sampling)估計Restricted Boltzmann Machines的剖分函數(the partition function)   (from Ruslan Salakhutdinov).

Learning Deep Boltzmann MachinesMatlab代碼用於訓練與微調Deep Boltzmann Machines (from Ruslan Salakhutdinov).

★★★三星

matrbm. Ruslan Salakhutdinov’s代碼的簡化版本, by Andrej Karpathy (Matlab).

C++:

★★★ 三星

Cuda-Convnet–一個快速的卷積(或更一般地,前向式feed-forward)神經網絡的C++/CUDA實現。可用於建模arbitrary layer connectivity and network depth. Any directed acyclic graph of layers will do. Training is done using the back-propagation algorithm.

★★★★★五星

Eblearn是 C++機器學習庫,BSD許可證,用於基於能量的學習(energy-based learning),卷積網絡(convolutional networks), 視覺/識別應用(vision/recognition applications)等。EBLearn最初由Pierre Sermanetat NYU維護。

★★★ 三星

TheCUV Library(githublink) 是一個C++庫,包括python綁定,易於操作Nvidia CUDA矩陣函數。包括一個RBM實現,退火重要性採樣代碼( annealed importance sampling),以及精確計算剖分函數(the partition function)的代碼 (fromAIS labat University of Bonn).

LUSH:

★★ 兩星Eblearn.lsh是基於 LUSH的機器學習庫,用於實現基於能量的學習(Energy-Based Learning). 它包括 “Predictive Sparse Decomposition” 的代碼以及其他非監督學習的sparse auto-encoder methods.Koray Kavukcuoglu在其主頁上提供多篇深度學習相關論文的Eblearn代碼。

相關資源:

LUSH編程語言及開發環境, 用於@ NYU 開發深度卷積網絡。LUSH全稱是Lisp Universal Shell,Wiki上有介紹

LUA:

★★★★★ 五星Torch– 提供與Matlab相似的環境,用於最新的機器學習算法。(from Ronan Collobert, Clement Farabet and Koray Kavukcuoglu)

推薦從Theano的Tutorials開始學習,若更關注算法效率,推薦Eblearn和Torch7,尤其是後者,值得一試。

轉自:http://www.jianshu.com/p/da00448f081d

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章