我已经建立了一个CNN模型,其输出将输出到RNN。CNN第5层输出具有Tensor("max_pooling2d_5/MaxPool:0", shape=(?, 128, 16, 128), dtype=float32)
结构。
在RNN中,我挤压形状,但出现错误:
ValueError:无法挤压dim [3],预期尺寸为1,输入形状为[?,128,16,128]的'Squeeze'(op:'Squeeze')得到128。
我在Keras的各种错误中查看了各种来源。但是没有发现任何具体的东西。
#Inside CNN
kernel = (kernelVals[i], kernelVals[i])
l_conv = Conv2D(featureVals[i],kernel_size=kernel, padding='same',
activation='relu', strides=(1,1))(pool)
l_pool = MaxPooling2D(poolVals[i])(l_conv)
self.cnnOut4d = l_pool
#Inside RNN
rnnIn3d = keras.backend.squeeze(self.cnnOut4d, axis=3) ###ERROR in this
#line
seq = Bidirectional(LSTM(256, return_sequences=True))(rnnIn3d)
seq2 = Bidirectional(LSTM(256, return_sequences=True))(seq)
期望CNN输出进入RNN并使用Keras功能缩小其尺寸,以执行模型