簡體   English   中英

如何實現給定的model到Keras?

[英]How to implement a given model to Keras?

我目前正在嘗試重現我在文獻中發現的 1D-CNN 方法( Ullah 等人,2022 年),在該出版物中給出了以下基線模型結構: 一維CNN模型 .
出於測試目的,我也想將 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 具有:

  • 在問題中顯示的 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM