日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

Keras:基于Python的深度学习库

發(fā)布時(shí)間:2023/12/20 python 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Keras:基于Python的深度学习库 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

轉(zhuǎn)載:https://keras-cn.readthedocs.io/en/latest/


這就是Keras

Keras是一個(gè)高層神經(jīng)網(wǎng)絡(luò)API,Keras由純Python編寫而成并基Tensorflow、Theano以及CNTK后端。Keras 為支持快速實(shí)驗(yàn)而生,能夠把你的idea迅速轉(zhuǎn)換為結(jié)果,如果你有如下需求,請(qǐng)選擇Keras:

  • 簡易和快速的原型設(shè)計(jì)(keras具有高度模塊化,極簡,和可擴(kuò)充特性)
  • 支持CNN和RNN,或二者的結(jié)合
  • 無縫CPU和GPU切換

Keras適用的Python版本是:Python 2.7-3.6

Keras的設(shè)計(jì)原則是

  • 用戶友好:Keras是為人類而不是天頂星人設(shè)計(jì)的API。用戶的使用體驗(yàn)始終是我們考慮的首要和中心內(nèi)容。Keras遵循減少認(rèn)知困難的最佳實(shí)踐:Keras提供一致而簡潔的API, 能夠極大減少一般應(yīng)用下用戶的工作量,同時(shí),Keras提供清晰和具有實(shí)踐意義的bug反饋。

  • 模塊性:模型可理解為一個(gè)層的序列或數(shù)據(jù)的運(yùn)算圖,完全可配置的模塊可以用最少的代價(jià)自由組合在一起。具體而言,網(wǎng)絡(luò)層、損失函數(shù)、優(yōu)化器、初始化策略、激活函數(shù)、正則化方法都是獨(dú)立的模塊,你可以使用它們來構(gòu)建自己的模型。

  • 易擴(kuò)展性:添加新模塊超級(jí)容易,只需要仿照現(xiàn)有的模塊編寫新的類或函數(shù)即可。創(chuàng)建新模塊的便利性使得Keras更適合于先進(jìn)的研究工作。

  • 與Python協(xié)作:Keras沒有單獨(dú)的模型配置文件類型(作為對(duì)比,caffe有),模型由python代碼描述,使其更緊湊和更易debug,并提供了擴(kuò)展的便利性。


關(guān)于Keras-cn

本文檔是Keras文檔的中文版,包括keras.io的全部內(nèi)容,以及更多的例子、解釋和建議

現(xiàn)在,keras-cn的版本號(hào)將簡單的跟隨最新的keras release版本

由于作者水平和研究方向所限,無法對(duì)所有模塊都非常精通,因此文檔中不可避免的會(huì)出現(xiàn)各種錯(cuò)誤、疏漏和不足之處。如果您在使用過程中有任何意見、建議和疑問,歡迎發(fā)送郵件到moyan_work@foxmail.com與我取得聯(lián)系。

您對(duì)文檔的任何貢獻(xiàn),包括文檔的翻譯、查缺補(bǔ)漏、概念解釋、發(fā)現(xiàn)和修改問題、貢獻(xiàn)示例程序等,均會(huì)被記錄在致謝,十分感謝您對(duì)Keras中文文檔的貢獻(xiàn)!

如果你發(fā)現(xiàn)本文檔缺失了官方文檔的部分內(nèi)容,請(qǐng)積極聯(lián)系我補(bǔ)充。

本文檔相對(duì)于原文檔有更多的使用指導(dǎo)和概念澄清,請(qǐng)?jiān)谑褂脮r(shí)關(guān)注文檔中的Tips,特別的,本文檔的額外模塊還有:

  • Keras新手指南:我們新提供了“Keras新手指南”的頁面,在這里我們對(duì)Keras進(jìn)行了感性介紹,并簡單介紹了Keras配置方法、一些小知識(shí)與使用陷阱,新手在使用前應(yīng)該先閱讀本部分的文檔。

  • Keras資源:在這個(gè)頁面,我們羅列一些Keras可用的資源,本頁面會(huì)不定期更新,請(qǐng)注意關(guān)注

  • 深度學(xué)習(xí)與Keras:位于導(dǎo)航欄最下方的該模塊翻譯了來自Keras作者博客keras.io?和其他Keras相關(guān)博客的文章,該欄目的文章提供了對(duì)深度學(xué)習(xí)的理解和大量使用Keras的例子,您也可以向這個(gè)欄目投稿。 所有的文章均在醒目位置標(biāo)志標(biāo)明來源與作者,本文檔對(duì)該欄目文章的原文不具有任何處置權(quán)。如您仍覺不妥,請(qǐng)聯(lián)系本人(moyan_work@foxmail.com)刪除。


當(dāng)前版本與更新

如果你發(fā)現(xiàn)本文檔提供的信息有誤,有兩種可能:

  • 你的Keras版本過低:記住Keras是一個(gè)發(fā)展迅速的深度學(xué)習(xí)框架,請(qǐng)保持你的Keras與官方最新的release版本相符

  • 我們的中文文檔沒有及時(shí)更新:如果是這種情況,請(qǐng)發(fā)郵件給我,我會(huì)盡快更新

目前文檔的版本號(hào)是2.0.9,對(duì)應(yīng)于官方的2.0.9 release 版本, 本次更新的主要內(nèi)容是:

  • recurrent新增ConvLSTM2D,SimpleRNNCell, LSTMCell, GRUCell, StackedRNNCells, CuDNNGRE, CuDNNLSTM層
  • application中新增了模型InceptionResNetV2
  • datasets新增fasion mnist
  • FAQ新增Keras的多GPU卡運(yùn)行指南
  • utils新增多卡支持函數(shù)multi_gpu_model
  • model.compile和model.fit API更新
  • 由于年久失修,深度學(xué)習(xí)與Keras欄目中的很多內(nèi)容的代碼已經(jīng)不再可用,我們決定在新的文檔中移除這部分。仍然想訪問這些內(nèi)容(以及已經(jīng)被移除的一些層,如Maxout)的文檔的同學(xué),請(qǐng)下載中文文檔的legacy文件夾,并使用文本編輯器(如sublime)打開對(duì)應(yīng).md文件。
  • 修正了一些錯(cuò)誤,感謝@孫永海,@Feng Ying的指正
  • 此外,感謝@zh777k制作了Keras2.0.4中文文檔的離線版本,對(duì)于許多用戶而言,這個(gè)版本的keras對(duì)大多數(shù)用戶而言已經(jīng)足夠使用了。下載地址在百度云盤

注意,keras在github上的master往往要高于當(dāng)前的release版本,如果你從源碼編譯keras,可能某些模塊與文檔說明不相符,請(qǐng)以官方Github代碼為準(zhǔn)


快速開始:30s上手Keras

Keras的核心數(shù)據(jù)結(jié)構(gòu)是“模型”,模型是一種組織網(wǎng)絡(luò)層的方式。Keras中主要的模型是Sequential模型,Sequential是一系列網(wǎng)絡(luò)層按順序構(gòu)成的棧。你也可以查看函數(shù)式模型來學(xué)習(xí)建立更復(fù)雜的模型

Sequential模型如下

from keras.models import Sequentialmodel = Sequential()

將一些網(wǎng)絡(luò)層通過.add()堆疊起來,就構(gòu)成了一個(gè)模型:

from keras.layers import Dense, Activationmodel.add(Dense(units=64, input_dim=100)) model.add(Activation("relu")) model.add(Dense(units=10)) model.add(Activation("softmax"))

完成模型的搭建后,我們需要使用.compile()方法來編譯模型:

model.compile(loss='categorical_crossentropy', optimizer='sgd', metrics=['accuracy'])

編譯模型時(shí)必須指明損失函數(shù)和優(yōu)化器,如果你需要的話,也可以自己定制損失函數(shù)。Keras的一個(gè)核心理念就是簡明易用同時(shí),保證用戶對(duì)Keras的絕對(duì)控制力度,用戶可以根據(jù)自己的需要定制自己的模型、網(wǎng)絡(luò)層,甚至修改源代碼。

from keras.optimizers import SGD model.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ò)

model.fit(x_train, y_train, epochs=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=128)

或者,我們可以使用我們的模型,對(duì)新的數(shù)據(jù)進(jìn)行預(yù)測:

classes = model.predict(x_test, batch_size=128)

搭建一個(gè)問答系統(tǒng)、圖像分類模型,或神經(jīng)圖靈機(jī)、word2vec詞嵌入器就是這么快。支撐深度學(xué)習(xí)的基本想法本就是簡單的,現(xiàn)在讓我們把它的實(shí)現(xiàn)也變的簡單起來!

為了更深入的了解Keras,我們建議你查看一下下面的兩個(gè)tutorial

  • 快速開始Sequntial模型
  • 快速開始函數(shù)式模型

還有我們的新手教程,雖然是面向新手的,但我們閱讀它們總是有益的:

  • Keras新手指南

在Keras代碼包的examples文件夾里,我們提供了一些更高級(jí)的模型:基于記憶網(wǎng)絡(luò)的問答系統(tǒng)、基于LSTM的文本的文本生成等。


安裝

Keras使用了下面的依賴包,三種后端必須至少選擇一種,我們建議選擇tensorflow。

  • numpy,scipy

  • pyyaml

  • HDF5, h5py(可選,僅在模型的save/load函數(shù)中使用)

  • 如果使用CNN的推薦安裝cuDNN

當(dāng)使用TensorFlow為后端時(shí):

  • TensorFlow

當(dāng)使用Theano作為后端時(shí):

  • Theano

當(dāng)使用CNTK作為后端時(shí):

  • CNTK

“后端”翻譯自backend,指的是Keras依賴于完成底層的張量運(yùn)算的軟件包。

從源碼安裝Keras時(shí),首先git clone keras的代碼:

git clone https://github.com/fchollet/keras.git

接著cd到Keras的文件夾中,并運(yùn)行下面的安裝命令:

sudo python setup.py install

你也可以使用PyPI來安裝Keras

sudo pip install keras

如果你用的是virtualenv虛擬環(huán)境,不要用sudo就好。

詳細(xì)的Windows和Linux安裝教程請(qǐng)參考“Keras新手指南”中給出的安裝教程,特別鳴謝SCP-173編寫了這些教程


在Theano、CNTK、TensorFlow間切換

Keras默認(rèn)使用TensorFlow作為后端來進(jìn)行張量操作,如需切換到Theano,請(qǐng)查看這里


技術(shù)支持

你可以在下列網(wǎng)址提問或加入Keras開發(fā)討論:

  • Keras Google group
  • Keras Slack channel,點(diǎn)擊這里獲得邀請(qǐng).

你也可以在Github issues里提問或請(qǐng)求新特性。在提問之前請(qǐng)確保你閱讀過我們的指導(dǎo)

另外,對(duì)于習(xí)慣中文的用戶,我們推薦在“集智”平臺(tái)提問,該平臺(tái)由Kaiser等搭建,支持在線代碼運(yùn)行環(huán)境,我本人會(huì)經(jīng)常訪問該網(wǎng)站解答問題


總結(jié)

以上是生活随笔為你收集整理的Keras:基于Python的深度学习库的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。