Keras:基于Theano和TensorFlow的深度學(xué)習(xí)庫(kù)這就是KerasKeras是一個(gè)高層神經(jīng)網(wǎng)絡(luò)庫(kù),,Keras由純Python編寫而成并基Tensorflow或Theano。Keras為支持快速實(shí)驗(yàn)而生,,能夠把你的idea迅速轉(zhuǎn)換為結(jié)果,,如果你有如下需求,請(qǐng)選擇Keras:
Keras適用的Python版本是:Python 2.7-3.5 Keras的設(shè)計(jì)原則是
Keras從2015年3月開始啟動(dòng),,經(jīng)過(guò)一年多的開發(fā),目前Keras進(jìn)入了1.0的時(shí)代,。Keras 1.0依然遵循相同的設(shè)計(jì)原則,,但與之前的版本相比有很大的不同。如果你曾經(jīng)使用過(guò)此前的其他版本Keras,。你或許會(huì)關(guān)心1.0的新特性,。
如果你已經(jīng)基于Keras0.3編寫了自己的層,,那么在升級(jí)后,,你需要為自己的代碼做以下調(diào)整,以在Keras1.0上繼續(xù)運(yùn)行,。請(qǐng)參考編寫自己的層 關(guān)于Keras-cn本文檔是Keras文檔的中文版,,包括的全部?jī)?nèi)容,以及更多的例子,、解釋和建議,,目前,文檔的計(jì)劃是:
現(xiàn)在,,keras-cn的版本號(hào)將簡(jiǎn)單的跟隨最新的keras release版本 由于作者水平和研究方向所限,,無(wú)法對(duì)所有模塊都非常精通,因此文檔中不可避免的會(huì)出現(xiàn)各種錯(cuò)誤,、疏漏和不足之處,。如果您在使用過(guò)程中有任何意見、建議和疑問(wèn),,歡迎發(fā)送郵件到[email protected]與我取得聯(lián)系,。 您對(duì)文檔的任何貢獻(xiàn),包括文檔的翻譯,、查缺補(bǔ)漏,、概念解釋、發(fā)現(xiàn)和修改問(wèn)題,、貢獻(xiàn)示例程序等,,均會(huì)被記錄在致謝,十分感謝您對(duì)Keras中文文檔的貢獻(xiàn),! 同時(shí),,也歡迎您撰文向本文檔投稿,您的稿件被錄用后將以單獨(dú)的頁(yè)面顯示在網(wǎng)站中,,您有權(quán)在您的網(wǎng)頁(yè)下設(shè)置贊助二維碼,,以獲取來(lái)自網(wǎng)友的小額贊助。 如果你發(fā)現(xiàn)本文檔缺失了官方文檔的部分內(nèi)容,,請(qǐng)積極聯(lián)系我補(bǔ)充,。 本文檔相對(duì)于原文檔有更多的使用指導(dǎo)和概念澄清,請(qǐng)?jiān)谑褂脮r(shí)關(guān)注文檔中的Tips,,特別的,,本文檔的額外模塊還有:
當(dāng)前版本與更新如果你發(fā)現(xiàn)本文檔提供的信息有誤,有兩種可能:
目前文檔的版本號(hào)是1.2.0,對(duì)應(yīng)于官方的1.2.0 release 版本, 本次更新的主要內(nèi)容是:
注意,,keras在github上的master往往要高于當(dāng)前的release版本,,如果你從源碼編譯keras,可能某些模塊與文檔說(shuō)明不相符,,請(qǐng)以官方Github代碼為準(zhǔn) 快速開始:30s上手KerasKeras的核心數(shù)據(jù)結(jié)構(gòu)是“模型”,,模型是一種組織網(wǎng)絡(luò)層的方式。Keras中主要的模型是Sequential模型,,Sequential是一系列網(wǎng)絡(luò)層按順序構(gòu)成的棧,。你也可以查看泛型模型來(lái)學(xué)習(xí)建立更復(fù)雜的模型 Sequential模型如下 from keras.models import Sequentialmodel = Sequential() 將一些網(wǎng)絡(luò)層通過(guò) from keras.layers import Dense, Activationmodel.add(Dense(output_dim=64, input_dim=100))model.add(Activation('relu'))model.add(Dense(output_dim=10))model.add(Activation('softmax')) 完成模型的搭建后,,我們需要使用 model.compile(loss='categorical_crossentropy', optimizer='sgd', metrics=['accuracy']) 編譯模型時(shí)必須指明損失函數(shù)和優(yōu)化器,,如果你需要的話,也可以自己定制損失函數(shù),。Keras的一個(gè)核心理念就是簡(jiǎn)明易用同時(shí),,保證用戶對(duì)Keras的絕對(duì)控制力度,用戶可以根據(jù)自己的需要定制自己的模型,、網(wǎng)絡(luò)層,,甚至修改源代碼。 from keras.optimizers import SGDmodel.compile(loss='categorical_crossentropy', optimizer=SGD(lr=0.01, momentum=0.9, nesterov=True)) 完成模型編譯后,,我們?cè)谟?xùn)練數(shù)據(jù)上按batch進(jìn)行一定次數(shù)的迭代訓(xùn)練,,以擬合網(wǎng)絡(luò),關(guān)于為什么要使用‘batch’,,請(qǐng)參考一些基本概念 model.fit(X_train, Y_train, nb_epoch=5, batch_size=32) 當(dāng)然,,我們也可以手動(dòng)將一個(gè)個(gè)batch的數(shù)據(jù)送入網(wǎng)絡(luò)中訓(xùn)練,這時(shí)候需要使用: model.train_on_batch(X_batch, Y_batch) 隨后,,我們可以使用一行代碼對(duì)我們的模型進(jìn)行評(píng)估,,看看模型的指標(biāo)是否滿足我們的要求: loss_and_metrics = model.evaluate(X_test, Y_test, batch_size=32) 或者,,我們可以使用我們的模型,對(duì)新的數(shù)據(jù)進(jìn)行預(yù)測(cè): classes = model.predict_classes(X_test, batch_size=32)proba = model.predict_proba(X_test, batch_size=32) 搭建一個(gè)問(wèn)答系統(tǒng),、圖像分類模型,,或神經(jīng)圖靈機(jī),、word2vec詞嵌入器就是這么快,。支撐深度學(xué)習(xí)的基本想法本就是簡(jiǎn)單的,,現(xiàn)在讓我們把它的實(shí)現(xiàn)也變的簡(jiǎn)單起來(lái),! 為了更深入的了解Keras,,我們建議你查看一下下面的兩個(gè)tutorial 還有我們對(duì)一些概念的解釋 在Keras代碼包的examples文件夾里,,我們提供了一些更高級(jí)的模型:基于記憶網(wǎng)絡(luò)的問(wèn)答系統(tǒng),、基于LSTM的文本的文本生成等,。 安裝Keras使用了下面的依賴包:
當(dāng)使用TensorFlow為后端時(shí): 當(dāng)使用Theano作為后端時(shí): 【Tips】“后端”翻譯自backend,指的是Keras依賴于完成底層的張量運(yùn)算的軟件包,?!継Bigmoyan】 安裝Keras時(shí),請(qǐng) sudo python setup.py install 你也可以使用PyPI來(lái)安裝Keras sudo pip install keras 詳細(xì)的Windows和Linux安裝教程請(qǐng)參考“快速開始”一節(jié)中給出的安裝教程,,特別鳴謝SCP-173編寫了這些教程 在Theano和TensorFlow間切換Keras默認(rèn)使用TensorFlow作為后端來(lái)進(jìn)行張量操作,如需切換到Theano,,請(qǐng)查看這里 技術(shù)支持你可以在下列網(wǎng)址提問(wèn)或加入Keras開發(fā)討論:
你也可以在Github issues里提問(wèn)或請(qǐng)求新特性,。在提問(wèn)之前請(qǐng)確保你閱讀過(guò)我們的指導(dǎo) 同時(shí),我們也歡迎同學(xué)們加我們的QQ群119427073進(jìn)行討論(潛水和灌水會(huì)被T,,入群說(shuō)明公司/學(xué)校-職位/年級(jí)) 小額贊助如果你覺(jué)得本文檔對(duì)你的研究和使用有所幫助,,歡迎掃下面的二維碼對(duì)作者進(jìn)行小額贊助,以鼓勵(lì)作者進(jìn)一步完善文檔內(nèi)容,,提高文檔質(zhì)量,。同時(shí),不妨為本文檔的github加顆星哦 如果你覺(jué)得有用頁(yè)面下有小額贊助的二維碼或微信/支付寶賬號(hào),,說(shuō)明該頁(yè)面由其他作者貢獻(xiàn),,要對(duì)他們進(jìn)行小額贊助請(qǐng)使用該頁(yè)面下的二維碼或賬號(hào) |
|