最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Keras函數(shù)式(functional)API的使用方式

 更新時間:2023年02月22日 08:31:12   作者:黃然大悟  
這篇文章主要介紹了Keras函數(shù)式(functional)API的使用方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

多層感知器(Multilayer Perceptron)

定義了用于二分類的多層感知器模型。

模型輸入32維特征,經(jīng)過三個全連接層,每層使用relu線性激活函數(shù),并且在輸出層中使用sigmoid激活函數(shù),最后用于二分類。

##------ Multilayer Perceptron ------##
from keras.models import Model
from keras.layers import Input, Dense
from keras import backend as K
K.clear_session() 

# MLP model
x = Input(shape=(32,))
hidden1 = Dense(10, activation='relu')(x)
hidden2 = Dense(20, activation='relu')(hidden1)
hidden3 = Dense(10, activation='relu')(hidden2)
output = Dense(1, activation='sigmoid')(hidden3)
model = Model(inputs=x, outputs=output)

# summarize layers
model.summary()

模型的結(jié)構(gòu)和參數(shù)如下:

Multilayer Perceptron

卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network)

定義用于圖像分類的卷積神經(jīng)網(wǎng)絡(luò)。

該模型接收3通道的64×64圖像作為輸入,然后經(jīng)過兩個卷積和池化層的序列作為特征提取器,接著過一個全連接層,最后輸出層過softmax激活函數(shù)進(jìn)行10個類別的分類。

##------ Convolutional Neural Network ------##
from keras.models import Model
from keras.layers import Input
from keras.layers import Dense, Flatten
from keras.layers import Conv2D, MaxPooling2D
from keras import backend as K
K.clear_session()

# CNN model
x = Input(shape=(64,64,3))
conv1 = Conv2D(16, (5,5), activation='relu')(x)
pool1 = MaxPooling2D((2,2))(conv1)
conv2 = Conv2D(32, (3,3), activation='relu')(pool1)
pool2 = MaxPooling2D((2,2))(conv2)
conv3 = Conv2D(32, (3,3), activation='relu')(pool2)
pool3 = MaxPooling2D((2,2))(conv3)
flat = Flatten()(pool3)
hidden1 = Dense(512, activation='relu')(flat)
output = Dense(10, activation='softmax')(hidden1)
model = Model(inputs=x, outputs=output)

# summarize layers
model.summary()

模型的結(jié)構(gòu)和參數(shù)如下:

CNN

循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network)

定義一個用于文本序列分類的LSTM網(wǎng)絡(luò)。

該模型需要100個時間步長作為輸入,然后經(jīng)過一個Embedding層,每個時間步變成128維特征表示,然后經(jīng)過一個LSTM層,LSTM輸出過一個全連接層,最后輸出用sigmoid激活函數(shù)用于進(jìn)行二分類預(yù)測。

##------ Recurrent Neural Network ------##
from keras.models import Model
from keras.layers import Input
from keras.layers import Dense, LSTM, Embedding
from keras import backend as K
K.clear_session()

VOCAB_SIZE = 10000
EMBED_DIM = 128

x = Input(shape=(100,), dtype='int32')
embedding = Embedding(VOCAB_SIZE, EMBED_DIM, mask_zero=True)(x)
hidden1 = LSTM(64)(embedding)
hidden2 = Dense(32, activation='relu')(hidden1)
output = Dense(1, activation='sigmoid')(hidden2)
model = Model(inputs=x, outputs=output)

# summarize layers
model.summary()

模型的結(jié)構(gòu)和參數(shù)如下:

LSTM

Bidirectional recurrent neural network

定義一個雙向循環(huán)神經(jīng)網(wǎng)絡(luò),可以用來完成序列標(biāo)注等任務(wù),相比上面的LSTM網(wǎng)絡(luò),多了一個反向的LSTM,其它設(shè)置一樣。

##------ Bidirectional recurrent neural network ------##
from keras.models import Model
from keras.layers import Input, Embedding
from keras.layers import Dense, LSTM, Bidirectional
from keras import backend as K
K.clear_session()

VOCAB_SIZE = 10000
EMBED_DIM = 128
HIDDEN_SIZE = 64
# input layer
x = Input(shape=(100,), dtype='int32')
# embedding layer
embedding = Embedding(VOCAB_SIZE, EMBED_DIM, mask_zero=True)(x)
# BiLSTM layer
hidden = Bidirectional(LSTM(HIDDEN_SIZE, return_sequences=True))(embedding)
# prediction layer
output = Dense(10, activation='softmax')(hidden)
model = Model(inputs=x, outputs=output)

model.summary()

模型的結(jié)構(gòu)和參數(shù)如下:

BiLSTM

共享輸入層模型(Shared Input Layer Model)

定義了具有不同大小內(nèi)核的多個卷積層來解釋圖像輸入。

該模型采用尺寸為64×64像素的3通道圖像。

有兩個共享此輸入的CNN特征提取子模型; 第一個內(nèi)核大小為5x5,第二個內(nèi)核大小為3x3。

把提取的特征展平為向量然后拼接成一個長向量,然后過一個全連接層,最后輸出層完成10分類。

##------ Shared Input Layer Model ------##

from keras.models import Model
from keras.layers import Input
from keras.layers import Dense, Flatten
from keras.layers import Conv2D, MaxPooling2D, Concatenate
from keras import backend as K
K.clear_session()

# input layer
x = Input(shape=(64,64,3))
# first feature extractor
conv1 = Conv2D(32, (3,3), activation='relu')(x)
pool1 = MaxPooling2D((2,2))(conv1)
flat1 = Flatten()(pool1)
# second feature extractor 
conv2 = Conv2D(16, (5,5), activation='relu')(x)
pool2 = MaxPooling2D((2,2))(conv2)
flat2 = Flatten()(pool2)
# merge feature
merge = Concatenate()([flat1, flat2])
# interpretation layer
hidden1 = Dense(128, activation='relu')(merge)
# prediction layer
output = Dense(10, activation='softmax')(merge)
model = Model(inputs=x, outputs=output)

model.summary()

模型的結(jié)構(gòu)和參數(shù)如下:

Shared-Input-Layer

Shared Feature Extraction Layer

定義一個共享特征抽取層的模型,這里共享的是LSTM層的輸出,具體共享參見代碼

##------ Shared Feature Extraction Layer ------##
from keras.models import Model
from keras.layers import Input, Embedding
from keras.layers import Dense, LSTM, Concatenate
from keras import backend as K
K.clear_session()

# input layer
x = Input(shape=(100,32))
# feature extraction
extract1 = LSTM(64)(x)
# first interpretation model
interp1 = Dense(32, activation='relu')(extract1)
# second interpretation model
interp11 = Dense(64, activation='relu')(extract1)
interp12 = Dense(32, activation='relu')(interp11)
# merge interpretation
merge = Concatenate()([interp1, interp12])
# output layer
output = Dense(10, activation='softmax')(merge)
model = Model(inputs=x, outputs=output)

model.summary()

模型的結(jié)構(gòu)和參數(shù)如下:

Shared-Feature-Extraction-Layer

多輸入模型(Multiple Input Model)

定義有兩個輸入的模型,這里測試的是輸入兩張圖片,一個輸入是單通道的64x64,另一個是3通道的32x32,兩個經(jīng)過卷積層、池化層后,展平拼接,最后進(jìn)行二分類。

##------ Multiple Input Model  ------##
from keras.models import Model
from keras.layers import Input
from keras.layers import Dense, Flatten
from keras.layers import Conv2D, MaxPooling2D, Concatenate
from keras import backend as K
K.clear_session()

# first input model
input1 = Input(shape=(64,64,1))
conv11 = Conv2D(32, (5,5), activation='relu')(input1)
pool11 = MaxPooling2D(pool_size=(2,2))(conv11)
conv12 = Conv2D(16, (3,3), activation='relu')(pool11)
pool12 = MaxPooling2D(pool_size=(2,2))(conv12)
flat1 = Flatten()(pool12)
# second input model
input2 = Input(shape=(32,32,3))
conv21 = Conv2D(32, (5,5), activation='relu')(input2)
pool21 = MaxPooling2D(pool_size=(2,2))(conv21)
conv22 = Conv2D(16, (3,3), activation='relu')(pool21)
pool22 = MaxPooling2D(pool_size=(2,2))(conv22)
flat2 = Flatten()(pool22)
# merge input models
merge = Concatenate()([flat1, flat2])
# interpretation model
hidden1 = Dense(20, activation='relu')(merge)
output = Dense(1, activation='sigmoid')(hidden1)
model = Model(inputs=[input1, input2], outputs=output)

model.summary()

模型的結(jié)構(gòu)和參數(shù)如下:

Multiple-Input-Model

多輸出模型(Multiple Output Model)

定義有多個輸出的模型,以文本序列輸入LSTM網(wǎng)絡(luò)為例,一個輸出是對文本的分類,另外一個輸出是對文本進(jìn)行序列標(biāo)注。

##------ Multiple Output Model ------ ##
from keras.models import Model
from keras.layers import Input
from keras.layers import Dense, Flatten, TimeDistributed, LSTM
from keras.layers import Conv2D, MaxPooling2D, Concatenate
from keras import backend as K
K.clear_session()

x = Input(shape=(100,1))
extract = LSTM(10, return_sequences=True)(x)

class11 = LSTM(10)(extract)
class12 = Dense(10, activation='relu')(class11)
output1 = Dense(1, activation='sigmoid')(class12)
output2 = TimeDistributed(Dense(1, activation='linear'))(extract)
model = Model(inputs=x, outputs=[output1, output2])

model.summary()

模型的結(jié)構(gòu)和參數(shù)如下:

Multiple-Output-Model

參考

[1] https://machinelearningmastery.com/keras-functional-api-deep-learning/

[2] https://keras.io/getting-started/functional-api-guide/

[3] https://tensorflow.google.cn/alpha/guide/keras/functional

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • python將一個英文語句以單詞為單位逆序排放的方法

    python將一個英文語句以單詞為單位逆序排放的方法

    今天小編就為大家分享一篇python將一個英文語句以單詞為單位逆序排放的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • python的移位操作實現(xiàn)詳解

    python的移位操作實現(xiàn)詳解

    這篇文章主要介紹了ppython的移位操作實現(xiàn)詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-08-08
  • 詳細(xì)解析Python中__init__()方法的高級應(yīng)用

    詳細(xì)解析Python中__init__()方法的高級應(yīng)用

    這篇文章主要介紹了詳細(xì)解析Python中__init__()方法的高級應(yīng)用,包括在映射和elif序列等地方的更為復(fù)雜的用法,需要的朋友可以參考下
    2015-05-05
  • 詳解Python中的Dict(下篇)

    詳解Python中的Dict(下篇)

    這篇文章主要為大家介紹了Python中的Dict,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-12-12
  • 淺談在JupyterNotebook下導(dǎo)入自己的模塊的問題

    淺談在JupyterNotebook下導(dǎo)入自己的模塊的問題

    這篇文章主要介紹了淺談在JupyterNotebook下導(dǎo)入自己的模塊的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • Python和Pygame庫開發(fā)“小黃狗跑酷”游戲

    Python和Pygame庫開發(fā)“小黃狗跑酷”游戲

    “小黃狗跑酷”是一款有趣的跑酷類游戲,玩家將控制一只可愛的小黃狗在城市的街道上跑酷,避開障礙物,收集骨頭,盡可能獲得高分,本文將全面介紹如何使用Python和Pygame庫來開發(fā)這個游戲,從最初的概念設(shè)計到最終的代碼實現(xiàn),幫助您理解游戲開發(fā)的基本流程
    2025-03-03
  • Django實現(xiàn)在線無水印抖音視頻下載(附源碼及地址)

    Django實現(xiàn)在線無水印抖音視頻下載(附源碼及地址)

    該項目功能簡單,完全復(fù)制SaveTweetVedio的項目。用戶觀看抖音視頻時選擇復(fù)制視頻鏈接,輸入到下載輸入欄,即可下載無水印視頻,還可掃描二維碼手機(jī)上預(yù)覽。親測成功。
    2021-05-05
  • django框架ModelForm組件用法詳解

    django框架ModelForm組件用法詳解

    這篇文章主要介紹了django框架ModelForm組件用法,結(jié)合實例形式較為詳細(xì)的分析了Django框架ModelForm組件相關(guān)功能、原理、使用方法及操作注意事項,需要的朋友可以參考下
    2019-12-12
  • 基于python 字符編碼的理解

    基于python 字符編碼的理解

    下面小編就為大家?guī)硪黄趐ython 字符編碼的理解。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • python畫一個圣誕樹實現(xiàn)示例

    python畫一個圣誕樹實現(xiàn)示例

    這篇文章主要為大家介紹了使用python畫一個圣誕樹實現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-05-05

最新評論

蕲春县| 台山市| 铁岭县| 彰化市| 和平县| 南皮县| 临西县| 石屏县| 神农架林区| 邓州市| 三原县| 武乡县| 霍林郭勒市| 东海县| 淮南市| 南丰县| 峡江县| 南昌县| 汝南县| 西乌珠穆沁旗| 龙南县| 沙湾县| 安西县| 泗洪县| 龙陵县| 含山县| 雷波县| 金寨县| 武鸣县| 冀州市| 濉溪县| 普格县| 定边县| 晋州市| 横峰县| 芮城县| 平阳县| 大田县| 福州市| 靖江市| 西充县|