InvalidArgumentError: 输入必须是 4 维的 [8,6171,4]

bot*_*rce 6 flow machine-learning conv-neural-network keras tensor

我正在运行一个二维卷积网络。我的输入有 3 维,但是我收到了这个 4 维错误: 维度错误

如您所见,我的输入具有正确的尺寸:

正确的输入维度

这是我的代码:

from keras import models
from keras import layers
model = models.Sequential()
model.add(layers.Conv2D(32, (3, 3), activation='relu', input_shape=(8,6171,4)))
model.add(layers.MaxPooling2D((2, 2)))
model.add(layers.Conv2D(64, (3, 3), activation='relu'))

model.add(layers.Flatten())
model.add(layers.Dense(64, activation='relu'))
model.add(layers.Dense(10, activation='softmax'))
Run Code Online (Sandbox Code Playgroud)

当我只构建一个 3-D 输入层时,为什么它要求我提供 4-D?

请帮忙。谢谢。

Bil*_*hen 9

你需要使用

new_image = tf.expand_dims(image,0)
Run Code Online (Sandbox Code Playgroud)

因为模型需要数据集而不是单个图像。