我的输入形状应该是100x100。它代表一个句子。每个单词都是100维的向量,一个句子中最多有100个单词。
我给CNN投了8个句子,我不确定这是否意味着我的输入形状应该是100x100x8。
然后是以下几行

Convolution2D(10, 3, 3, border_mode='same',
                       input_shape=(100, 100))

投诉:
输入0与层卷积2d_1不兼容:期望的ndim=4,找到的ndim=3
这对我来说没有意义,因为我的输入维度是2。我可以通过将输入形状更改为(100100,8)来完成它。但是“expected ndim=4”对我来说没有意义。
我也不明白为什么具有10个滤波器的3x3卷积层不接受100x100的输入。
甚至我也通过了关于“预期的NDIM=4”的抱怨。我在我的激活层中遇到了问题。在那里它抱怨:
不能将SoftMax应用于非二维或三维张量。此处,ndim=4
有人能解释一下这里发生了什么以及如何修复它吗?非常感谢。

最佳答案

我也遇到了同样的问题,我解决了它,在参数中加入了一个维。
我建议以下解决方案:

Convolution2D(10, 3, 3, border_mode='same', input_shape=(100, 100, 1))

关于python - 在建立CNN时,我收到了来自Keras的提示,这对我来说没有意义。,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37085653/

10-10 11:15