您好,登錄后才能下訂單哦!
IT編程語言深度學習庫匯總,主要介紹編程語言Python(Theano、Keras、Pylearn2、Lasagne、Blocks、Caffe)、Matlab、CPP、Java(ND4J、Deeplearning4j、ncog)等相關的深度學習框架,深入了解開發框架對于一個程序員尤為重要。
一、編程語言Python
1、 Theano一個python類庫,用數組向量來定義和計算數學表達式。使得在Python環境下編寫深度學習算法變得簡單。在基礎之上還搭建了許多類庫。
2、Keras簡潔、高度模塊化的神經網絡庫,設計參考了Torch,用Python語言編寫,支持調用GPU和CPU優化后的Theano運算。
3、Pylearn2集成大量深度學習常見模型和訓練算法的庫,如隨機梯度下降等。功能庫都是基于Theano之上。
4、Lasagne搭建和訓練神經網絡的輕量級封裝庫,基于Theano。遵循簡潔化、透明化、模塊化、實用化和專一化的原則。
5、Blocks也基于Theano的幫助搭建神經網絡的框架。
6、Caffe是深度學習的框架,注重于代碼的表達形式、運算速度以及模塊化程度。是由伯克利視覺和學習中心以及社區成員共同開發。谷歌的DeepDream項目就是基于Caffe框架完成。這個框架是使用BSD許可證的C++庫,并提供了Python調用接口。
7、nolearn囊括了大量的現有神經網絡函數庫的封裝和抽象接口、大名鼎鼎的Lasagne以及一些機器學習的常用模塊。
8、Genism也用Python編寫的深度學習小工具,采用高效的算法來處理大規模文本數據。
9、 Chainer在深度學習的理論算法和實際應用之間架起一座橋梁。特點是強大、靈活、直觀,被認為是深度學習的靈活框架。
10、deepnet是基于GPU的深度學習算法函數庫,使用Python語言開發,實現了前饋神經網絡(FNN)、受限玻爾茲曼機(RBM)、深度信念網絡(DBN)、自編碼器(AE)、深度玻爾茲曼機(DBM)和卷積神經網絡(CNN)等算法。
11、 Hebel也是深度學習和神經網絡的一個Python庫,通過pyCUDA控制支持CUDA的GPU加速。實現了最重要的幾類神經網絡模型,提供了多種激活函數和模型訓練方法,例如momentum、Nesterov momentum、dropout、和early stopping等方法。
12、 CXXNET基于MShadow開發的快速、簡潔的分布式深度學習框架。輕量級、易擴展的C++/CUDA神經網絡工具箱,提供友好的Python/Matlab接口來進行訓練和預測。
13、DeepPy是基于NumPy的深度學習框架。
14、DeepLearning用C++和Python共同開發的深度學習函數庫。
15、 Neon是Nervana System 的深度學習框架,使用Python開發。
總結深度學習常用的20個Python庫:核心庫與統計:Numpy、Scipy、Pandas、StatsModels;可視化:Matplotlib、Seaborn、Plotly、Bokeh、Pydot、Scikit-learn、XGBoost/LightGBM/CatBoost、Eli5;深度學習:Tensorflow、PyTorch、Keras;分布式深度學習:Dist-keras/elephas/spark-deep-learning;自然語言處理:NLTK、SpaCy、Gensim;數據抓取:Scrapy。
二、編程語言深度學習庫Matlab
1、 ConvNet 卷積神經網絡類深度學習分類算法,可以從原始數據中自主學習有用的特征,通過調節權重值來實現。
2、 DeepLearnToolBox用于深度學習的Matlab/Octave工具箱,包含深度信念網絡(DBN)、棧式自編碼器(stacked AE)、卷積神經網絡(CNN)等算法。
3、 cuda-convet卷積神經網絡(CNN)代碼,也適用于前饋神經網絡,使用C++/CUDA進行運算。能對任意深度的多層神經網絡建模。只要是有向無環圖的網絡結構都可以。訓練過程采用反向傳播算法(BP算法)。
4、 MatConvNet面向計算機視覺應用的卷積神經網絡(CNN)Matlab工具箱。簡單高效,能夠運行和學習最先進的機器學習算法。
三、編程語言深度學習庫CPP
1、 eblearn是開源的機器學習C++封裝庫,由Yann LeCun主導的紐約大學機器學習實驗室開發。用基于能量的模型實現卷積神經網絡,并提供可視化交互界面(GUI)、示例以及示范教程。
2、 SINGA是Apache軟件基金會支持的一個項目,設計目標是在現有系統上提供通用的分布式模型訓練算法。
3、 NVIDIA DIGITS是用于開發、訓練和可視化深度神經網絡的一套新系統。把深度學習的強大功能用瀏覽器界面呈現出來,使得數據科學家和研究員可以實時地可視化神經網絡行為,快速地設計出最適合數據的深度神經網絡。
4、 Intel? Deep Learning Framework提供了Intel?平臺加速深度卷積神經網絡的一個統一平臺。
四、編程語言Java
1、 N-Dimensional Arrays for Java (ND4J) 是JVM平臺的科學計算函數庫。主要用于產品中,函數的設計需求是運算速度快、存儲空間最省。
2、 Deeplearning4j 是第一款商業級別的開源分布式深度學習類庫,用Java和Scala編寫。設計目的是為了在商業環境下使用,而不是作為一款研究工具。
3、 Encog機器學習的高級框架,涵蓋支持向量機、人工神經網絡、遺傳編程、貝葉斯網絡、隱馬可夫模型等,也支持遺傳算法。
五、編程語言JavaScript
1、 Convnet.js 由JavaScript編寫,完全在瀏覽器內完成訓練深度學習模型(主要是神經網絡)的封裝庫。不需要其軟件,不需要編譯器,不需要安裝包,不需要GPU,甚至不費吹灰之力。
六、編程語言Lua
Torch是一款廣泛適用于各種機器學習算法的科學計算框架。使用容易,用快速的腳本語言LuaJit開發,底層是C/CUDA實現。Torch基于Lua編程語言。
七、深度學習框架Julia
Mocha是Julia的深度學習框架,受C++框架Caffe的啟發。Mocha中通用隨機梯度求解程序和通用模塊的高效實現,可以用來訓練深度/淺層(卷積)神經網絡,可以通過(棧式)自編碼器配合非監督式預訓練(可選)完成。優勢特性包括模塊化結構、提供上層接口,可能還有速度、兼容性等更多特性。
八、深度學習框架Lisp
Lus面向對象的編程語言,面向對大規模數值和圖形應用感興趣的廣大研究員、實驗員和工程師們。擁有機器學習的函數庫,其中包含豐富的深度學習庫。
九、編程語言Haskell
DNNGraph是Haskell用于深度神經網絡模型生成的領域特定語言(DSL)。
十、.NET
Accord.NET 是完全用C#編寫的。NET機器學習框架,包括音頻和圖像處理的類庫。是產品級的完整框架,用于計算機視覺、計算機音頻、信號處理和統計應用領域。
十一、R語言
1、 darch包可以用來生成多層神經網絡(深度結構)。訓練的方法包括了對比散度的預訓練和眾所周知的訓練算法(如反向傳播法或共軛梯度法)的細調。
2、 deepnet實現了許多深度學習框架和神經網絡算法,包括反向傳播(BP)、受限玻爾茲曼機(RBM)、深度信念網絡(DBP)、深度自編碼器(Deep autoencoder)等。
總結,小編主要介紹了Python、Matla、CPP、Java、JavaScript、Lua、Julia、Lisp、Haskell、。NET、R語言共十一種深度學習庫,羅列了需要掌握的知識點。想要掌握一門編程語言需要通過練習在實際操作過程中積累編程經驗,只看不做是沒有用的,希望可以幫到正在學習的你。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。