簡體   English   中英

沒有入站節點-Keras CNN模型

[英]No Inbound Nodes - Keras CNN Model

我已經按照以下結構在喀拉拉邦訓練了CNN模型

model_11 = Sequential()

#Convolutional Layers
model_11.add(Reshape((55, 1)))
model_11.add(Conv1D(50, kernel_size=5, strides=1, padding="same", activation = 'relu'))
model_11.add(Conv1D(24, kernel_size=4, strides=5, padding="same", activation = 'relu'))
model_11.add(Conv1D(23, kernel_size=2, strides=1, padding="same", activation = 'relu'))

#Dense Layers
model_11.add(Flatten())
model_11.add(Dense(units=30, activation='relu'))
model_11.add(Dense(units=15, activation='relu'))

model_11.add(Dense(units=1, activation='sigmoid'))

#Compile model
model_11.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])

#Fit the model
model_11.fit(X_train, y_train, epochs=20, batch_size=20)



現在,我嘗試了以下

model_11.layers[-3].output



這給我以下錯誤

AttributeError:層density_40沒有入站節點。



關於多個入站節點,有許多解決方案,但是到目前為止,對於沒有入站節點,我還沒有看到任何東西。 盡管如此,該模型仍然運行良好(二進制分類)。

這是因為當您在不指定第一層的輸入形狀的情況下定義Sequential圖時,僅在fit函數期間創建了計算圖,因此不會計算層的輸入和輸出張量(因此也將不計算節點)。

如果需要訪問層的輸出張量,請為順序模型中的第一層指定輸入形狀。 因此,第一層定義如下:

model_11.add(Reshape((55, 1), input_shape=(55,))

現在model_11.layers[-3].output將返回一個張量。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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