本文介紹了包括 Python、Java、Haskell等在內的一系列編程語言的深度學習庫。
Python
- Theano是一種用于使用數列來定義和評估數學表達的 Python 庫。它可以讓 Python 中深度學習算法的編寫更為簡單。很多其他的庫是以 Theano 為基礎開發的。
- Caffe是一種以表達清晰、高速和模塊化為理念建立起來的深度學習框架。它是由伯克利視覺和學習中心(BVLC)和網上社區貢獻者共同開發的。谷歌的 DeepDream 人工智能圖像處理程序正是建立在 Caffe 框架之上。這個框架是一個 BSD 許可的帶有 Python 接口的 C++庫。
- nolearn包含大量其他神經網絡庫中的包裝器和抽象(wrappers and abstractions),其中最值得注意的是 Lasagne,其中也包含一些機器學習的實用模塊。
- Genism是一個部署在 Python 編程語言中的深度學習工具包,用于通過高效的算法處理大型文本集。
- Chainer連接深度學習中的算法與實現,它強勁、靈活而敏銳,是一種用于深度學習的靈活的框架。
- deepnet是一種基于 GPU 的深度學習算法的 Python 實現,比如:前饋神經網絡、受限玻爾茲曼機、深度信念網絡、自編碼器、深度玻爾茲曼機和卷積神經網絡。
- Hebel是一個在 Python 中用于帶有神經網絡的深度學習的庫,它通過 PyCUDA 使用帶有 CUDA 的 GPU 加速。它可實現大多數目前最重要的神經網絡模型,提供了多種不同的激活函數和訓練方式,如動量,Nesterov 動量,退出(dropout)和 前期停止(early stopping)。
- CXXNET是一種快速,簡明的分布式深度學習框架,它以 MShadow 為基礎。它是輕量級可擴展的 C++/CUDA 神經網絡工具包,同時擁有友好的 Python/Matlab 界面,可供機器學習的訓練和預測使用。
- DeepPy是一種建立在 Mumpy 之上的 Python 化的深度學習框架。
- DeepLearning是一個用 C++和 Python 開發的深度學習庫。
C++
- eblearn是一個機器學習的開源 C++庫,由紐約大學機器學習實驗室的 Yann LeCun 牽頭研發。尤其是,按照 GUI、演示和教程來部署的帶有基于能量的模型的卷積神經網絡。
- SINGA被設計用來進行已有系統中分布式訓練算法的普通實現。它由 Apache Software Foundation 提供支持。
Java
- N-Dimensional Arrays for Java (ND4J)是一種為 JVM 設計的科學計算庫。它們被應用在生產環境中,這就意味著路徑被設計成可以最小的 RAM 內存需求來快速運行。
- Deeplearning4j是第一個為 Java 和 Scala 編寫的消費級開元分布式深度學習庫。它被設計成在商業環境中使用,而非研究工具。
- Encog是一種先進的機器學習框架,支持支持向量機(Support Vector Machines),人工神經網絡(Artificial Neural Networks),基因編程(Genetic Programming),貝葉斯網絡(Bayesian Networks),隱馬爾科夫模型(Hidden Markov Models)和 遺傳算法(Genetic Algorithms)。
Lua
- Torch是一種科學計算框架,可支持多種計算機學習算法。
Haskell
.NET
- Accord.NET是一種.NET 機器學習框架,包含聲音和圖像處理庫,它完全由 C# 編寫。它是一種為開發生產級的計算機視覺、計算機聽覺、信號處理和統計應用而設計的完整框架。
R
- darch包可以用于建立多層神經網絡(深層結構)。其中的訓練方式包括使用對比發散法進行提前訓練,或使用通常的訓練方法(如反向傳播和共軛梯度)進行一些微調。
- deepnet實現了一些深度學習架構和神經網絡算法,包括 BP、RBM、DBN、深度自編碼器等等。