我正在使用Keras 2.1.3和Tensorflow 1.4.0。
在我的模型中,我必须处理5维张量:[批,时间步,H,W,C],因此我使用keras.layers.TimeDistributed(keras.layers.Deconv2D(64, kernel_size=3, stride=2, padding='same'))(x)
来处理它。但是,尽管模型已成功构建,但是在训练开始时会引发以下问题:
InvalidArgumentError(请参阅上面的回溯):Conv2DSlowBackpropInput:input和out_backprop必须具有相同的批处理大小输入批处理:20outbackprop批处理:10 batch_dim:0
batch_size假定为2,时间步长为10,似乎在prop渐变时混淆了前两个轴。
我也尝试了Keras 2.2.0和Tensorflow 1.3.0,不幸的是,它仍然存在。 另外,由于我使用的是Keras,所以我认为批处理轴无法更改,因此某些解决方案可以在Tensorflow上使用,但不适用于Keras。