【发布时间】:2022-10-20 20:47:53
【问题描述】:
对于图像分类任务,我首先构建了一个 CNN 模型,当我使用 GlobalAveragePooling2D() 比 Flatten() 时,它给出了更高的准确度。
现在我想在我的模型中添加 LSTM 层,TimeDistributed(Flatten()) 在 LSTM 层之前工作正常但是当我用 TimeDistributed(GlobalAveragePooling2D()) 替换它时,我得到了错误:
Input 0 of layer "global_average_pooling2d" is incompatible with the layer: expected ndim=4, found ndim=3. Full shape received: (None, 7, 1280)
如何解决此错误?
【问题讨论】:
-
检查每一层的输出和输入形状。
-
请提供足够的代码,以便其他人可以更好地理解或重现该问题。
标签: python keras conv-neural-network lstm flatten