欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python神經(jīng)網(wǎng)絡(luò)使用Keras構(gòu)建RNN訓(xùn)練

 更新時(shí)間:2022年05月04日 12:10:42   作者:Bubbliiiing  
這篇文章主要為大家介紹了python神經(jīng)網(wǎng)絡(luò)使用Keras構(gòu)建RNN網(wǎng)絡(luò)訓(xùn)練,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪<BR>

Keras中構(gòu)建RNN的重要函數(shù)

1、SimpleRNN

SimpleRNN用于在Keras中構(gòu)建普通的簡(jiǎn)單RNN層,在使用前需要import。

from keras.layers import SimpleRNN

在實(shí)際使用時(shí),需要用到幾個(gè)參數(shù)。

model.add(
    SimpleRNN(
        batch_input_shape = (BATCH_SIZE,TIME_STEPS,INPUT_SIZE),
        output_dim = CELL_SIZE,
    )
)

其中,batch_input_shape代表RNN輸入數(shù)據(jù)的shape,shape的內(nèi)容分別是每一次訓(xùn)練使用的BATCH,TIME_STEPS表示這個(gè)RNN按順序輸入的時(shí)間點(diǎn)的數(shù)量,INPUT_SIZE表示每一個(gè)時(shí)間點(diǎn)的輸入數(shù)據(jù)大小。
CELL_SIZE代表訓(xùn)練每一個(gè)時(shí)間點(diǎn)的神經(jīng)元數(shù)量。

2、model.train_on_batch

與之前的訓(xùn)練CNN網(wǎng)絡(luò)和普通分類(lèi)網(wǎng)絡(luò)不同,RNN網(wǎng)絡(luò)在建立時(shí)就規(guī)定了batch_input_shape,所以訓(xùn)練的時(shí)候也需要一定量一定量的傳入訓(xùn)練數(shù)據(jù)。
model.train_on_batch在使用前需要對(duì)數(shù)據(jù)進(jìn)行處理。獲取指定BATCH大小的訓(xùn)練集。

X_batch = X_train[index_start:index_start + BATCH_SIZE,:,:]
Y_batch = Y_train[index_start:index_start + BATCH_SIZE,:]
index_start += BATCH_SIZE

具體訓(xùn)練過(guò)程如下:

for i in range(500):
    X_batch = X_train[index_start:index_start + BATCH_SIZE,:,:]
    Y_batch = Y_train[index_start:index_start + BATCH_SIZE,:]
    index_start += BATCH_SIZE
    cost = model.train_on_batch(X_batch,Y_batch)
    if index_start >= X_train.shape[0]:
        index_start = 0
    if i%100 == 0:
        ## acc
        cost,accuracy = model.evaluate(X_test,Y_test,batch_size=50)
        ## W,b = model.layers[0].get_weights()
        print("accuracy:",accuracy)
        x = X_test[1].reshape(1,28,28)

全部代碼

這是一個(gè)RNN神經(jīng)網(wǎng)絡(luò)的例子,用于識(shí)別手寫(xiě)體。

import numpy as np
from keras.models import Sequential
from keras.layers import SimpleRNN,Activation,Dense ## 全連接層
from keras.datasets import mnist
from keras.utils import np_utils
from keras.optimizers import Adam
TIME_STEPS = 28
INPUT_SIZE = 28
BATCH_SIZE = 50
index_start = 0
OUTPUT_SIZE = 10
CELL_SIZE = 75
LR = 1e-3
(X_train,Y_train),(X_test,Y_test) = mnist.load_data()
X_train = X_train.reshape(-1,28,28)/255
X_test = X_test.reshape(-1,28,28)/255
Y_train = np_utils.to_categorical(Y_train,num_classes= 10)
Y_test = np_utils.to_categorical(Y_test,num_classes= 10)
model = Sequential()
# conv1
model.add(
    SimpleRNN(
        batch_input_shape = (BATCH_SIZE,TIME_STEPS,INPUT_SIZE),
        output_dim = CELL_SIZE,
    )
)
model.add(Dense(OUTPUT_SIZE))
model.add(Activation("softmax"))
adam = Adam(LR)
## compile
model.compile(loss = 'categorical_crossentropy',optimizer = adam,metrics = ['accuracy'])
## tarin
for i in range(500):
    X_batch = X_train[index_start:index_start + BATCH_SIZE,:,:]
    Y_batch = Y_train[index_start:index_start + BATCH_SIZE,:]
    index_start += BATCH_SIZE
    cost = model.train_on_batch(X_batch,Y_batch)
    if index_start >= X_train.shape[0]:
        index_start = 0
    if i%100 == 0:
        ## acc
        cost,accuracy = model.evaluate(X_test,Y_test,batch_size=50)
        ## W,b = model.layers[0].get_weights()
        print("accuracy:",accuracy)

實(shí)驗(yàn)結(jié)果為:

10000/10000 [==============================] - 1s 147us/step
accuracy: 0.09329999938607215
…………………………
10000/10000 [==============================] - 1s 112us/step
accuracy: 0.9395000022649765
10000/10000 [==============================] - 1s 109us/step
accuracy: 0.9422999995946885
10000/10000 [==============================] - 1s 114us/step
accuracy: 0.9534000000357628
10000/10000 [==============================] - 1s 112us/step
accuracy: 0.9566000008583069
10000/10000 [==============================] - 1s 113us/step
accuracy: 0.950799999833107
10000/10000 [==============================] - 1s 116us/step
10000/10000 [==============================] - 1s 112us/step
accuracy: 0.9474999988079071
10000/10000 [==============================] - 1s 111us/step
accuracy: 0.9515000003576278
10000/10000 [==============================] - 1s 114us/step
accuracy: 0.9288999977707862
10000/10000 [==============================] - 1s 115us/step
accuracy: 0.9487999993562698

以上就是python神經(jīng)網(wǎng)絡(luò)使用Keras構(gòu)建RNN訓(xùn)練的詳細(xì)內(nèi)容,更多關(guān)于Keras構(gòu)建RNN訓(xùn)練的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 從np.random.normal()到正態(tài)分布的擬合操作

    從np.random.normal()到正態(tài)分布的擬合操作

    這篇文章主要介紹了從np.random.normal()到正態(tài)分布的擬合操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • python實(shí)現(xiàn)簡(jiǎn)易學(xué)生信息管理系統(tǒng)

    python實(shí)現(xiàn)簡(jiǎn)易學(xué)生信息管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)簡(jiǎn)易學(xué)生信息管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-09-09
  • Python基礎(chǔ)學(xué)習(xí)之函數(shù)方法實(shí)例詳解

    Python基礎(chǔ)學(xué)習(xí)之函數(shù)方法實(shí)例詳解

    這篇文章主要介紹了Python基礎(chǔ)學(xué)習(xí)之函數(shù)方法,結(jié)合實(shí)例形式分析了Python函數(shù)方法的定義、參數(shù)、復(fù)用和繼承相關(guān)操作技巧,需要的朋友可以參考下
    2019-06-06
  • python實(shí)現(xiàn)在多維數(shù)組中挑選符合條件的全部元素

    python實(shí)現(xiàn)在多維數(shù)組中挑選符合條件的全部元素

    今天小編就為大家分享一篇python實(shí)現(xiàn)在多維數(shù)組中挑選符合條件的全部元素,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-11-11
  • django云端留言板實(shí)例詳解

    django云端留言板實(shí)例詳解

    這篇文章主要介紹了django云端留言板實(shí)例詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07
  • 使用Python畫(huà)股票的K線圖的方法步驟

    使用Python畫(huà)股票的K線圖的方法步驟

    這篇文章主要介紹了使用Python畫(huà)股票的K線圖的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • python 接口測(cè)試response返回?cái)?shù)據(jù)對(duì)比的方法

    python 接口測(cè)試response返回?cái)?shù)據(jù)對(duì)比的方法

    本篇文章主要介紹了python 接口測(cè)試response返回?cái)?shù)據(jù)對(duì)比的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-02-02
  • PyQt5固定窗口大小的方法

    PyQt5固定窗口大小的方法

    今天小編就為大家分享一篇PyQt5固定窗口大小的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-06-06
  • python中學(xué)習(xí)K-Means和圖片壓縮

    python中學(xué)習(xí)K-Means和圖片壓縮

    大家在python中會(huì)遇到關(guān)于K-Means和圖片壓縮的問(wèn)題,我先通過(guò)本次文章學(xué)習(xí)一下基本原理吧。
    2017-11-11
  • 基于python使用tibco ems代碼實(shí)例

    基于python使用tibco ems代碼實(shí)例

    這篇文章主要介紹了基于python使用tibco ems代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12

最新評(píng)論