【发布时间】:2020-12-14 14:42:27
【问题描述】:
我已经实现了一个 3D 卷积神经网络。我输入的形状是(500,10,4,1)。我只想在第一维中进行卷积,使其在某种程度上在第二维和第三维中“完全连接”。所以我使用(30,10,4)的内核大小。到目前为止还好。但是当我进行最大池化时,它也会减少第二维和第三维。但这只是我想减少的第一个维度。那是在进行最大池化之后,我希望第一个维度 (500) 变为 250,但我希望我的第二个维度和第三个维度分别保持 10 和 4。我怎样才能做到这一点?到目前为止我的代码是:
###Input shape
i1 = Input(shape=(500,10, 4,1))
###First block
c1 = Conv3D(128, kernel_size=(50,10,4),activation='relu',padding='same')(i1)
c1 = MaxPooling3D(2)(c1)
c1 = Dropout(0.1)(c1)
###Second block
#c1 = Conv3D(128, kernel_size=(50,10,4),activation='relu',padding='same')(c1)
#c1 = MaxPooling3D(2)(c1)
#c1 = Dropout(0.1)(c1)
c = Flatten()(c1)
#c2 = Dropout(0.1)(c2)
###FC Layers
x = Dense(128, activation='relu')(c)
##Output
output = Dense(4,activation = 'linear')(x)
错误 当我这样做时
c1 = MaxPooling3D(2,1,1)(c1)
我收到以下错误:
我们将不胜感激。
【问题讨论】:
标签: python python-3.x tensorflow keras conv-neural-network