这篇教程ValueError:输入0与层conv2d_1不兼容:预期ndim = 4,找到的ndim = 5完美解决写得很实用,希望能帮到您。
Conv2D图层的输入形状为(num_channels, width, height) 。因此,您不应添加其他尺寸(实际上是输入形状,(batch_size, num_channels, width, height) 但您无需在batch_size 此处设置;它将在fit 方法中设置)。只要传递input_shape=env.shape 给Conv2D 它,它将正常工作。 shape (None, 150, 150, 3),应写shape ( 150, 150, 3),
You should either change input_shape to
input_shape=(64,1)
... or use batch_input_shape:
batch_input_shape=(None, 64, 1)
编辑:
为什么要定义一个Input 图层并将其传递给模型?那不是它的工作原理。首先,您需要使用compile 方法编译模型,然后使用方法在训练数据上训练模型fit ,然后使用predict 方法进行预测。我强烈建议您阅读官方指南,以了解这些工作原理。 Using the bottleneck features of a pre-trained network: 90% accuracy in a minute Keras迁移学习提取特征 |