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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Keras序贯模型

發(fā)布時(shí)間:2024/1/1 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Keras序贯模型 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

2.序貫?zāi)P?/h1>

序貫?zāi)P?Sequential Model)是多個(gè)網(wǎng)絡(luò)層的線性堆疊,也就是”一條路走到黑”。但是不適合網(wǎng)絡(luò)之間穿插情況或者多輸入多輸出情況。

序貫?zāi)P陀袃煞N方式構(gòu)建網(wǎng)絡(luò)
2.1簡單的漢堡式疊法
可以通過Sequential模型傳遞一個(gè)layer的list來構(gòu)造序貫?zāi)P汀?/p> #兩種方式1.漢堡生成 model = Sequential([Dense(32,input_dim=784),Activation('relu'),Dense(10),Activation('softmax') ])

#完成網(wǎng)絡(luò)構(gòu)建

2.2加菜式構(gòu)建模型
或者通過.add()方法一個(gè)個(gè)將layer加入到模型中
#2.手動(dòng)加菜

model = Sequential() model.add(Dense(32,input_shape=(784,))) model.add(Activation('relu'))

#完成網(wǎng)絡(luò)構(gòu)建

用序貫?zāi)P团芤粋€(gè)小demo基于多層感知器的softmax多分類

from keras.models import Sequential #Sequential聲明使用序貫?zāi)P?from keras.layers import Dense, Dropout, Activation #導(dǎo)入層Dropout隨機(jī)失活 Dense全連接層、Activation激活函數(shù) from keras.optimizers import SGD #SGD隨機(jī)梯度下降 import keras import numpy as np x_train = np.random.random((1000, 20)) #隨機(jī)訓(xùn)練樣本,樣本維度20維 y_train = keras.utils.to_categorical(np.random.randint(10, size=(1000, 1)), num_classes=10) #映射成10個(gè)類別x_test = np.random.random((100, 20)) y_test = keras.utils.to_categorical(np.random.randint(10, size=(100, 1)), num_classes=10)model = Sequential() #建立模型#添加網(wǎng)絡(luò)層 model.add(Dense(64, activation='relu', input_dim=20)) # Dense(64)神經(jīng)元有64個(gè) #input_dim必須與樣本維度對(duì)應(yīng) #activation激活函數(shù) model.add(Dropout(0.5))#隨機(jī)失活 model.add(Dense(64, activation='relu')) model.add(Dropout(0.5)) model.add(Dense(10, activation='softmax'))sgd = SGD(lr=0.01, decay=1e-6, momentum=0.8, nesterov=True)#制定優(yōu)化器參數(shù)學(xué)習(xí)率0.01,動(dòng)量0.8 model.compile(loss='categorical_crossentropy',optimizer=sgd,metrics=['accuracy'])model.fit(x_train, y_train,epochs=20,batch_size=128) score = model.evaluate(x_test, y_test, batch_size=128)

#結(jié)果acc停留在0.1060左右,跑了N次結(jié)果都停留在10%左右

用序貫?zāi)P蜆?gòu)建CNN

import numpy as np import keras from keras.models import Sequential from keras.layers import Dense, Dropout, Flatten #flatten作用是方便后面接全連接層 from keras.layers import Conv2D, MaxPooling2D #Conv2D構(gòu)建2D卷積層,maxpooling2D構(gòu)建池化層 from keras.optimizers import SGD準(zhǔn)備數(shù)據(jù) x_train = np.random.random((100, 100, 100, 3)) #100張圖片寬高100,3彩色圖RGB三個(gè)顏色通道 y_train = keras.utils.to_categorical(np.random.randint(10, size=(100, 1)), num_classes=10) x_test = np.random.random((20, 100, 100, 3)) y_test = keras.utils.to_categorical(np.random.randint(10, size=(20, 1)), num_classes=10)#模型構(gòu)建 model = Sequential() model.add(Conv2D(32, (3, 3), activation='relu', input_shape=(100, 100, 3))) model.add(Conv2D(32, (3, 3), activation='relu')) model.add(MaxPooling2D(pool_size=(2, 2))) model.add(Dropout(0.25)) model.add(Conv2D(64, (3, 3), activation='relu')) model.add(Conv2D(64, (3, 3), activation='relu')) model.add(MaxPooling2D(pool_size=(2, 2))) model.add(Dropout(0.25)) model.add(Flatten()) model.add(Dense(256, activation='relu')) model.add(Dropout(0.5)) model.add(Dense(10, activation='softmax'))#開始訓(xùn)練測試 sgd = SGD(lr=0.01, decay=1e-6, momentum=0.9, nesterov=True) model.compile(loss='categorical_crossentropy', optimizer=sgd)model.fit(x_train, y_train, batch_size=32, epochs=10) score = model.evaluate(x_test, y_test, batch_size=32)

總結(jié)

以上是生活随笔為你收集整理的Keras序贯模型的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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