簡體   English   中英

多個Conv1D圖層:由於'conv1d_2 / convolution / Conv2D從1中減去8而導致的負尺寸大小

[英]Multiple Conv1D Layers: Negative dimension size caused by subtracting 8 from 1 for 'conv1d_2/convolution/Conv2D

關於卷積網絡,我仍然相當新手。 我正在嘗試在Keras中實現多個Conv1D層。 不幸的是,在第一層之后,任何后續層都會拋出以下錯誤:

tensorflow.python.framework.errors_impl.InvalidArgumentError: Negative dimension size caused by subtracting 8 from 1 for 'conv1d_2/convolution/Conv2D' (op: 'Conv2D') with input shapes: [?,1,1,32], [1,8,32,32].

我原以為它可能與由於步幅導致的尺寸減小有關,但是在為兩個Conv1D線設置strides strides=1之后它仍然不起作用。 這是我的代碼。 如果for循環運行,則拋出錯誤。

#State branch
x = Conv1D(layerSize,8,strides=1)(inputState)
x = Activation("relu")(x)

for l in range(conv1Layer-1):
    x = Conv1D(layerSize,8,strides=1)(x)
    x = Activation("relu")(x)

x = MaxPooling1D(pool_size=1)(x)
x = Flatten()(x)
x = Model(inputs=inputState, outputs=x)

任何幫助或建議將不勝感激。 謝謝!

如果您不想在卷積后更改長度,請考慮在Conv1d的構造函數中指定padding='same'

有關詳細信息,請參閱文檔

必須在第一層之后將kernel_size更改為1。

編輯:或填充必須設置為相同! 謝謝。

暫無
暫無

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

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