深度學習函數(式)庫:按Python、C++、Java、JavaScript、R等10種語言分類

深度學習函數(式)庫:按Python、C++、Java、JavaScript、R等10種語言分類

深度學習函數(式)庫:按Python、C++、Java、JavaScript、R等10種語言分類

 

資料來源:https://www.cnblogs.com/zdz8207/p/DeepLearning-30-python-java-c.html

 

包括 Python、C++、Java、JavaScript、R、Haskell等在內的一系列編程語言的深度學習庫。

 

一、Python
 1、Theano 是一種用於使用數列來定義和評估數學表達的 Python 庫。它可以讓 Python 中深度學習算法的編寫更為簡單。很多其他的庫是以 Theano 為基礎開發的:
 2、Keras 是類似 Torch 的一個精簡的,高度模塊化的神經網絡庫。Theano 在底層幫助其優化 CPU 和 GPU 運行中的張量操作。 Pylearn2 是一個引用大量如隨機梯度(Stochastic Gradient)這樣的模型和訓練算法的庫。它在深度學習中被廣泛釆用,這個庫也是以 Theano 為基礎的。 Lasagne 是一個輕量級的庫,它可以在 Theano 中建立和訓練神經網絡。它簡單、透明、模塊化、實用、專一而克制。 Blocks 是一種幫助你在 Theano 之上建立神經網絡模型的框架。
 3、Caffe 是一種以表達清晰、高速和模塊化為理念建立起來的深度學習框架。它是由伯克利視覺和學習中心(BVLC)和網上社區貢獻者共同開發的。谷歌的 DeepDream 人工智能圖像處理程序正是建立在 Caffe 框架之上。這個框架是一個 BSD 許可的帶有 Python 接口的 C++庫。
 4、nolearn 包含大量其他神經網絡庫中的包裝器和抽象(wrappers and abstractions),其中最值得注意的是 Lasagne,其中也包含一些機器學習的實用模塊。
 5、Genism 是一個部署在 Python 編程語言中的深度學習工具包,用於通過高效的算法處理大型文本集。
 6、Chainer 連接深度學習中的算法與實現,它強勁、靈活而敏銳,是一種用於深度學習的靈活的框架。
 7、deepnet 是一種基於 GPU 的深度學習算法的 Python 實現,比如:前饋神經網絡、受限玻爾玆曼機、深度信念網絡、自編碼器、深度玻爾玆曼機和卷積神經網絡。
 8、Hebel 是一個在 Python 中用於帶有神經網絡的深度學習的庫,它通過 PyCUDA 使用帶有 CUDA 的 GPU 加速。它可實現大多數目前最重要的神經網絡模型,提供了多種不同的激活函數和訓練方式,如動量,Nesterov 動量,退出(dropout)和 前期停止(early stopping)。
 9、CXXNET 是一種快速,簡明的分布式深度學習框架,它以 MShadow 為基礎。它是輕量級可擴展的 C++/CUDA 神經網絡工具包,同時擁有友好的 Python/Matlab 界面,可供機器學習的訓練和預測使用。
 10、DeepPy 是一種建立在 Mumpy 之上的 Python 化的深度學習框架。
 11、DeepLearning 是一個用 C++和 Python 開發的深度學習庫。
 12、Neon 是 Nervana 公司基於 Python 開發的深度學習框架。

 

二、C++
 1、eblearn 是一個機器學習的開源 C++庫,由紐約大學機器學習實驗室的 Yann LeCun 牽頭研發。尤其是,按照 GUI、演示和教程來部署的帶有基於能量的模型的卷積神經網絡。
 2、SINGA 被設計用來進行已有系統中分布式訓練算法的普通實現。它由 Apache Software Foundation 提供支持。
 3、NVIDIA DIGITS 是一個新的用於開發、訓練和可視化神經網絡系統。它把深度學習放進了基於瀏覽器的界面中,讓數據分析師和研究人員可以快速設計最好的深度學習神經網絡(DNN)來獲取實時的網絡行為可視化數據。
 4、Intel® Deep Learning Framework 為英特爾的平台提供了統一的框架來加速深度卷積神經網絡。

 

三、Java
 1、N-Dimensional Arrays for Java (ND4J) 是一種為 JVM 設計的科學計算庫。它們被應用在生產環境中,這就意味着路徑被設計成可以最小的 RAM 內存需求來快速運行。
 2、Deeplearning4j 是第一個為 Java 和 Scala 編寫的消費級開元分布式深度學習庫。它被設計成在商業環境中使用,而非研究工具。
 3、Encog 是一種先進的機器學習框架,支持支持向量機(Support Vector Machines),人工神經網絡(Artificial Neural Networks),基因編程(Genetic Programming),貝葉斯網絡(Bayesian Networks),隱馬爾科夫模型(Hidden Markov Models)和 遺傳算法(Genetic Algorithms)。

 

四、JavaScript
 Convent.js 是一種 Javascript 中用於深度學習模型(主要是神經網絡)的庫。完全在瀏覽器中使用,不需要開發工具,不需要編譯器,不需要安裝,也不需要 GPU 的支持,簡單易用。

 

五、Lua
 Torch 是一種科學計算框架,可支持多種計算機學習算法。

 

六、Julia
 Mocha 用於 Julia 的一種深度學習框架,其靈感來源於 C++框架 Caffe。在 Mocha 中通用的隨機梯度求解器和公共層的有效實現可以被用於訓練深度/淺層(卷積)神經網絡,其帶有通過(堆疊的)自動解碼器的(可選的)無監督的預訓練。其最大特點包括:帶有模塊化架搆、 高層面的接口、便攜性與速度、兼容性等等。

 

七、Lisp
 Lush(Lisp Universal Shell) 是一種為研究人員、試驗者以及對大規模數值和圖形應用感興趣的工程師設計的、面向對象的編程語言。它帶有丰富的作為機器學習庫一部分的深度學習庫。

 

八、Haskell
 DNNGraph 是一個用 Haskell 編寫的深度神經網絡生成 DSL。

 

九、.NET
 Accord.NET 是一種.NET 機器學習框架,包含聲音和圖像處理庫,它完全由 C# 編寫。它是一種為開發生產級的計算機視覺、計算機聽覺、信號處理和統計應用而設計的完整框架。

 

十、R
 1、darch 包可以用於建立多層神經網絡(深層結搆)。其中的訓練方式包括使用對比發散法進行提前訓練,或使用通常的訓練方法(如反向傳播和共軛梯度)進行一些微調。
 2、deepnet 實現了一些深度學習架搆和神經網絡算法,包括 BP、RBM、DBN、深度自編碼器等等。

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *