IT編程語(yǔ)言深度學(xué)習(xí)庫(kù)匯總,主要介紹編程語(yǔ)言Python(Theano、Keras、Pylearn2、Lasagne、Blocks、Caffe)、Matlab、CPP、Java(ND4J、Deeplearning4j、ncog)等相關(guān)的深度學(xué)習(xí)框架,深入了解開發(fā)框架對(duì)于一個(gè)程序員尤為重要。
公司主營(yíng)業(yè)務(wù):成都做網(wǎng)站、網(wǎng)站建設(shè)、移動(dòng)網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。成都創(chuàng)新互聯(lián)是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來驚喜。成都創(chuàng)新互聯(lián)推出烏審免費(fèi)做網(wǎng)站回饋大家。
一、編程語(yǔ)言Python
1、 Theano一個(gè)python類庫(kù),用數(shù)組向量來定義和計(jì)算數(shù)學(xué)表達(dá)式。使得在Python環(huán)境下編寫深度學(xué)習(xí)算法變得簡(jiǎn)單。在基礎(chǔ)之上還搭建了許多類庫(kù)。
2、Keras簡(jiǎn)潔、高度模塊化的神經(jīng)網(wǎng)絡(luò)庫(kù),設(shè)計(jì)參考了Torch,用Python語(yǔ)言編寫,支持調(diào)用GPU和CPU優(yōu)化后的Theano運(yùn)算。
3、Pylearn2集成大量深度學(xué)習(xí)常見模型和訓(xùn)練算法的庫(kù),如隨機(jī)梯度下降等。功能庫(kù)都是基于Theano之上。
4、Lasagne搭建和訓(xùn)練神經(jīng)網(wǎng)絡(luò)的輕量級(jí)封裝庫(kù),基于Theano。遵循簡(jiǎn)潔化、透明化、模塊化、實(shí)用化和專一化的原則。
5、Blocks也基于Theano的幫助搭建神經(jīng)網(wǎng)絡(luò)的框架。
6、Caffe是深度學(xué)習(xí)的框架,注重于代碼的表達(dá)形式、運(yùn)算速度以及模塊化程度。是由伯克利視覺和學(xué)習(xí)中心以及社區(qū)成員共同開發(fā)。谷歌的DeepDream項(xiàng)目就是基于Caffe框架完成。這個(gè)框架是使用BSD許可證的C++庫(kù),并提供了Python調(diào)用接口。
7、nolearn囊括了大量的現(xiàn)有神經(jīng)網(wǎng)絡(luò)函數(shù)庫(kù)的封裝和抽象接口、大名鼎鼎的Lasagne以及一些機(jī)器學(xué)習(xí)的常用模塊。
8、Genism也用Python編寫的深度學(xué)習(xí)小工具,采用高效的算法來處理大規(guī)模文本數(shù)據(jù)。
9、 Chainer在深度學(xué)習(xí)的理論算法和實(shí)際應(yīng)用之間架起一座橋梁。特點(diǎn)是強(qiáng)大、靈活、直觀,被認(rèn)為是深度學(xué)習(xí)的靈活框架。
10、deepnet是基于GPU的深度學(xué)習(xí)算法函數(shù)庫(kù),使用Python語(yǔ)言開發(fā),實(shí)現(xiàn)了前饋神經(jīng)網(wǎng)絡(luò)(FNN)、受限玻爾茲曼機(jī)(RBM)、深度信念網(wǎng)絡(luò)(DBN)、自編碼器(AE)、深度玻爾茲曼機(jī)(DBM)和卷積神經(jīng)網(wǎng)絡(luò)(CNN)等算法。
11、 Hebel也是深度學(xué)習(xí)和神經(jīng)網(wǎng)絡(luò)的一個(gè)Python庫(kù),通過pyCUDA控制支持CUDA的GPU加速。實(shí)現(xiàn)了最重要的幾類神經(jīng)網(wǎng)絡(luò)模型,提供了多種激活函數(shù)和模型訓(xùn)練方法,例如momentum、Nesterov momentum、dropout、和early stopping等方法。
12、 CXXNET基于MShadow開發(fā)的快速、簡(jiǎn)潔的分布式深度學(xué)習(xí)框架。輕量級(jí)、易擴(kuò)展的C++/CUDA神經(jīng)網(wǎng)絡(luò)工具箱,提供友好的Python/Matlab接口來進(jìn)行訓(xùn)練和預(yù)測(cè)。
13、DeepPy是基于NumPy的深度學(xué)習(xí)框架。
14、DeepLearning用C++和Python共同開發(fā)的深度學(xué)習(xí)函數(shù)庫(kù)。
15、 Neon是Nervana System 的深度學(xué)習(xí)框架,使用Python開發(fā)。
總結(jié)深度學(xué)習(xí)常用的20個(gè)Python庫(kù):核心庫(kù)與統(tǒng)計(jì):Numpy、Scipy、Pandas、StatsModels;可視化:Matplotlib、Seaborn、Plotly、Bokeh、Pydot、Scikit-learn、XGBoost/LightGBM/CatBoost、Eli5;深度學(xué)習(xí):Tensorflow、PyTorch、Keras;分布式深度學(xué)習(xí):Dist-keras/elephas/spark-deep-learning;自然語(yǔ)言處理:NLTK、SpaCy、Gensim;數(shù)據(jù)抓?。篠crapy。
二、編程語(yǔ)言深度學(xué)習(xí)庫(kù)Matlab
1、 ConvNet 卷積神經(jīng)網(wǎng)絡(luò)類深度學(xué)習(xí)分類算法,可以從原始數(shù)據(jù)中自主學(xué)習(xí)有用的特征,通過調(diào)節(jié)權(quán)重值來實(shí)現(xiàn)。
2、 DeepLearnToolBox用于深度學(xué)習(xí)的Matlab/Octave工具箱,包含深度信念網(wǎng)絡(luò)(DBN)、棧式自編碼器(stacked AE)、卷積神經(jīng)網(wǎng)絡(luò)(CNN)等算法。
3、 cuda-convet卷積神經(jīng)網(wǎng)絡(luò)(CNN)代碼,也適用于前饋神經(jīng)網(wǎng)絡(luò),使用C++/CUDA進(jìn)行運(yùn)算。能對(duì)任意深度的多層神經(jīng)網(wǎng)絡(luò)建模。只要是有向無(wú)環(huán)圖的網(wǎng)絡(luò)結(jié)構(gòu)都可以。訓(xùn)練過程采用反向傳播算法(BP算法)。
4、 MatConvNet面向計(jì)算機(jī)視覺應(yīng)用的卷積神經(jīng)網(wǎng)絡(luò)(CNN)Matlab工具箱。簡(jiǎn)單高效,能夠運(yùn)行和學(xué)習(xí)最先進(jìn)的機(jī)器學(xué)習(xí)算法。
三、編程語(yǔ)言深度學(xué)習(xí)庫(kù)CPP
1、 eblearn是開源的機(jī)器學(xué)習(xí)C++封裝庫(kù),由Yann LeCun主導(dǎo)的紐約大學(xué)機(jī)器學(xué)習(xí)實(shí)驗(yàn)室開發(fā)。用基于能量的模型實(shí)現(xiàn)卷積神經(jīng)網(wǎng)絡(luò),并提供可視化交互界面(GUI)、示例以及示范教程。
2、 SINGA是Apache軟件基金會(huì)支持的一個(gè)項(xiàng)目,設(shè)計(jì)目標(biāo)是在現(xiàn)有系統(tǒng)上提供通用的分布式模型訓(xùn)練算法。
3、 NVIDIA DIGITS是用于開發(fā)、訓(xùn)練和可視化深度神經(jīng)網(wǎng)絡(luò)的一套新系統(tǒng)。把深度學(xué)習(xí)的強(qiáng)大功能用瀏覽器界面呈現(xiàn)出來,使得數(shù)據(jù)科學(xué)家和研究員可以實(shí)時(shí)地可視化神經(jīng)網(wǎng)絡(luò)行為,快速地設(shè)計(jì)出最適合數(shù)據(jù)的深度神經(jīng)網(wǎng)絡(luò)。
4、 Intel? Deep Learning Framework提供了Intel?平臺(tái)加速深度卷積神經(jīng)網(wǎng)絡(luò)的一個(gè)統(tǒng)一平臺(tái)。
四、編程語(yǔ)言Java
1、 N-Dimensional Arrays for Java (ND4J) 是JVM平臺(tái)的科學(xué)計(jì)算函數(shù)庫(kù)。主要用于產(chǎn)品中,函數(shù)的設(shè)計(jì)需求是運(yùn)算速度快、存儲(chǔ)空間最省。
2、 Deeplearning4j 是第一款商業(yè)級(jí)別的開源分布式深度學(xué)習(xí)類庫(kù),用Java和Scala編寫。設(shè)計(jì)目的是為了在商業(yè)環(huán)境下使用,而不是作為一款研究工具。
3、 Encog機(jī)器學(xué)習(xí)的高級(jí)框架,涵蓋支持向量機(jī)、人工神經(jīng)網(wǎng)絡(luò)、遺傳編程、貝葉斯網(wǎng)絡(luò)、隱馬可夫模型等,也支持遺傳算法。
五、編程語(yǔ)言JavaScript
1、 Convnet.js 由JavaScript編寫,完全在瀏覽器內(nèi)完成訓(xùn)練深度學(xué)習(xí)模型(主要是神經(jīng)網(wǎng)絡(luò))的封裝庫(kù)。不需要其軟件,不需要編譯器,不需要安裝包,不需要GPU,甚至不費(fèi)吹灰之力。
六、編程語(yǔ)言Lua
Torch是一款廣泛適用于各種機(jī)器學(xué)習(xí)算法的科學(xué)計(jì)算框架。使用容易,用快速的腳本語(yǔ)言LuaJit開發(fā),底層是C/CUDA實(shí)現(xiàn)。Torch基于Lua編程語(yǔ)言。
七、深度學(xué)習(xí)框架Julia
Mocha是Julia的深度學(xué)習(xí)框架,受C++框架Caffe的啟發(fā)。Mocha中通用隨機(jī)梯度求解程序和通用模塊的高效實(shí)現(xiàn),可以用來訓(xùn)練深度/淺層(卷積)神經(jīng)網(wǎng)絡(luò),可以通過(棧式)自編碼器配合非監(jiān)督式預(yù)訓(xùn)練(可選)完成。優(yōu)勢(shì)特性包括模塊化結(jié)構(gòu)、提供上層接口,可能還有速度、兼容性等更多特性。
八、深度學(xué)習(xí)框架Lisp
Lus面向?qū)ο蟮木幊陶Z(yǔ)言,面向?qū)Υ笠?guī)模數(shù)值和圖形應(yīng)用感興趣的廣大研究員、實(shí)驗(yàn)員和工程師們。擁有機(jī)器學(xué)習(xí)的函數(shù)庫(kù),其中包含豐富的深度學(xué)習(xí)庫(kù)。
九、編程語(yǔ)言Haskell
DNNGraph是Haskell用于深度神經(jīng)網(wǎng)絡(luò)模型生成的領(lǐng)域特定語(yǔ)言(DSL)。
十、.NET
Accord.NET 是完全用C#編寫的。NET機(jī)器學(xué)習(xí)框架,包括音頻和圖像處理的類庫(kù)。是產(chǎn)品級(jí)的完整框架,用于計(jì)算機(jī)視覺、計(jì)算機(jī)音頻、信號(hào)處理和統(tǒng)計(jì)應(yīng)用領(lǐng)域。
十一、R語(yǔ)言
1、 darch包可以用來生成多層神經(jīng)網(wǎng)絡(luò)(深度結(jié)構(gòu))。訓(xùn)練的方法包括了對(duì)比散度的預(yù)訓(xùn)練和眾所周知的訓(xùn)練算法(如反向傳播法或共軛梯度法)的細(xì)調(diào)。
2、 deepnet實(shí)現(xiàn)了許多深度學(xué)習(xí)框架和神經(jīng)網(wǎng)絡(luò)算法,包括反向傳播(BP)、受限玻爾茲曼機(jī)(RBM)、深度信念網(wǎng)絡(luò)(DBP)、深度自編碼器(Deep autoencoder)等。
總結(jié),小編主要介紹了Python、Matla、CPP、Java、JavaScript、Lua、Julia、Lisp、Haskell、。NET、R語(yǔ)言共十一種深度學(xué)習(xí)庫(kù),羅列了需要掌握的知識(shí)點(diǎn)。想要掌握一門編程語(yǔ)言需要通過練習(xí)在實(shí)際操作過程中積累編程經(jīng)驗(yàn),只看不做是沒有用的,希望可以幫到正在學(xué)習(xí)的你。