我有一个用于图像分类的卷积神经网络,trainImages和trainLabel(从0到8)是训练数据,validationImages和validationLabels用于测试。图像大小为32×32。我无法让这个算法正常工作,请告诉我你是否发现了其他错误。
回答:
由于我无法访问加载的图像,所以无法确切指出问题所在,但问题在于你提供的样本没有“通道”轴,而在指定的input_shape=(32, 32, 3)
中表示通道尺寸为3。每个样本(图像)必须有3个维度(宽度、高度、通道),但相反,你传递的样本只有2个维度(宽度和高度)。
这很可能是由于你可能加载了只有一个通道的灰度图像,而numpy没有明确为其分配轴。如果是这种情况,请确保trainImages和validationImages的形状为(32, 32, 1),否则在将它们输入模型之前,使用np.expand_dims(_trainImages_, axis=-1)
扩展最后一个维度(验证集同理)。相应地,将第一个Conv2D层的input_shape调整为(32, 32, 1)。
希望这对你有帮助,否则请提供更多细节。