Python Keras中的1D CNN:从汇集特征到密集层的扁平化会引起错误
我定义了以下CNN模型。它需要长度为501的1D矢量输入Python Keras中的1D CNN:从汇集特征到密集层的扁平化会引起错误,python,tensorflow,keras,Python,Tensorflow,Keras,我定义了以下CNN模型。它需要长度为501的1D矢量输入 model = ml.models.Sequential() model.add(ml.layers.Conv1D(filters=NUMBER_OF_FILTERS, kernel_size=KERNEL_SIZE, activation=ACTIVATION, input_shape=(None, 501))) model.add(ml.layers.MaxPooling1D(pool_size=POOL_SIZE, padding=
model = ml.models.Sequential()
model.add(ml.layers.Conv1D(filters=NUMBER_OF_FILTERS, kernel_size=KERNEL_SIZE, activation=ACTIVATION, input_shape=(None, 501)))
model.add(ml.layers.MaxPooling1D(pool_size=POOL_SIZE, padding='valid'))
model.add(ml.layers.Flatten())
model.add(ml.layers.Dense(HIDDEN_SIZE-1, activation=ACTIVATION))
但这会产生一个值错误:
ValueError: The last dimension of the inputs to `Dense` should be defined. Found `None`.
我不知道为什么Flatte不创建类似(无,x)
的形状,而是创建(无,无)
。这里有什么问题吗
这是模型摘要:
Model: "sequential"
_________________________________________________________________
Layer (type) Output Shape Param #
=================================================================
conv1d (Conv1D) (None, None, 50) 250550
_________________________________________________________________
max_pooling1d (MaxPooling1D) (None, None, 50) 0
_________________________________________________________________
flatten (Flatten) (None, None) 0
=================================================================
Total params: 250,550
Trainable params: 250,550
Non-trainable params: 0
_________________________________________________________________
我已经想出了解决办法。我没有正确定义Conv1D层的输入形状,它应该是:
model.add(ml.layers.Conv1D(filters=NUMBER_OF_FILTERS, kernel_size=KERNEL_SIZE, activation=ACTIVATION, input_shape=(501, 1)))
我已经想出了解决办法。我没有正确定义Conv1D层的输入形状,它应该是:
model.add(ml.layers.Conv1D(filters=NUMBER_OF_FILTERS, kernel_size=KERNEL_SIZE, activation=ACTIVATION, input_shape=(501, 1)))
Layers Flatten将图像格式从二维数组(a,b)转换为一维数组(aXb)。Layer Pooling输出最大池(MaxPoolig1d)(无,无,50)二维数组(0,0)。因此Layer Flatten:Flatte(展平)(无,无)图层展平将图像格式从二维数组(a,b)转换为一维数组(aXb)。图层池输出最大池(MaxPoolg1d)(无,无,50)二维数组(0,0)。因此图层展平:展平(展平)(无,无)