当我尝试训练我构建的用于图像分类的模型时,总是会得到以下错误:
ValueError: Input 0 of layer thumbnail is incompatible with the layer: expected ndim=4, found ndim=3. Full shape received: [160, 240, 3]
我无法理解为什么会这样,因为这些图像的形状都是正确的:每个图像的形状为 (240, 160, 3)。我将所有的标签和样本放入了通过loadData()函数创建的tf.data.Dataset中。Sequential模型期望的输入是(examples, labels),所以我认为这样是没问题的。
回答:
你需要对数据集进行批处理:
X = loadData(nExamplesPerClass=100)X = X.batch(32) # 或者你选择的每批样本数量
fit
函数没有内置的功能来将数据集分割成批次。