ValueError:无法挤压dim [3],预期尺寸为1,输入形状为[?,128,16,128]的'Sque eze'(op:'Squeeze')得到128

时间:2019-04-08 10:14:28

标签: keras ocr conv-neural-network recurrent-neural-network max-pooling

我已经建立了一个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功能缩小其尺寸,以执行模型

0 个答案:

没有答案