[英]How to implement a given model to Keras?
我目前正在嘗試重現我在文獻中發現的 1D-CNN 方法( Ullah 等人,2022 年),在該出版物中給出了以下基線模型結構: .
出於測試目的,我也想將 model 用於我的數據。 然而,我無法理解有關 Conv1D 層的 Keras 文檔。 誰能幫助我理解如何解釋圖像(即 25x1x3 是什么意思)並將其轉換為 Keras model?
我當前的 model 代碼看起來像這樣(不確定是否正確):
import keras
from keras.models import Sequential
from keras.layers import Dense, Conv1D
model = Sequential()
model.add(Conv1D(filters=25, kernel_size=3, activation='relu', input_shape=(12,1)))
model.add(Dense(25, activation='relu'))
model.add(Conv1D(50, 3, activation='relu'))
model.add(Conv1D(100, 3, activation='relu'))
model.add(Dense(2200, activation='relu'))
model.add(Dense(2, activation='relu'))
model.add(Dense(2, activation='softmax'))
在論文中,作者說:
擬議的 base.network 是一個深度七層網絡,包含 3 個卷積層(分別具有 25、50 和 100 個內核)、第一個卷積后的激活層、兩個全連接層(具有 2200 和 2 個神經元) ,分別),最后是一個 SoftMax 層。 我們使用 RELU 作為激活 function。
因此,與您在問題中顯示的 model 不同,論文中的 model 具有:
25x1x3 是應用於輸入向量的內核大小。 這意味着將 25 個大小為 (1,3) 的內核應用於輸入
我想這應該是您正在尋找的架構
import keras
from keras.models import Sequential
from keras.layers import Dense, Conv1D, Flatten
model = Sequential()
model.add(Conv1D(filters=25, kernel_size=3, activation='relu', input_shape=(12,1)))
model.add(Conv1D(50, 3))
model.add(Conv1D(100, 3))
model.add(Flatten())
model.add(Dense(2200, activation='relu'))
model.add(Dense(2, activation='relu'))
model.add(Dense(2, activation='softmax'))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.