Machine learning 用于图像分类的Keras模型也做出了同样的预测

Machine learning 用于图像分类的Keras模型也做出了同样的预测,machine-learning,keras,computer-vision,vgg-net,Machine Learning,Keras,Computer Vision,Vgg Net,新手在这里!在过去的一两周里,我一直在Keras研究一个图像分类模型。我已经跟随一些在线教程使用VGG16和Sequential执行迁移学习。我一直在使用food-101数据集,我知道我有一个过拟合模型(99%acc和70%val_acc)。我遇到了一个问题,无论我给我的模型提供什么样的图像,它都会给出相同的预测。我正在使用Dropout和L2来规范化数据,但我很难理解是什么导致模型不断给出错误的预测 model = models.Sequential() model.add(Dense(uni

新手在这里!在过去的一两周里,我一直在Keras研究一个图像分类模型。我已经跟随一些在线教程使用VGG16和Sequential执行迁移学习。我一直在使用food-101数据集,我知道我有一个过拟合模型(99%acc和70%val_acc)。我遇到了一个问题,无论我给我的模型提供什么样的图像,它都会给出相同的预测。我正在使用Dropout和L2来规范化数据,但我很难理解是什么导致模型不断给出错误的预测

model = models.Sequential()
model.add(Dense(units=512, activation='relu', input_dim=7*7*512))
model.add(layers.Dropout(0.5))
model.add(Dense(units=512, activation='relu', kernel_regularizer = regularizers.l2(0.00001)))
model.add(layers.Dropout(0.5))
model.add(Dense(units=512, activation='relu', kernel_regularizer = regularizers.l2(0.00001)))
model.add(layers.Dropout(0.5))
model.add(Dense(units=512, activation='relu', kernel_regularizer = regularizers.l2(0.00001)))
model.add(layers.Dropout(0.5))
model.add(Dense(units=15, activation='softmax'))

model.compile(optimizer=optimizers.Adam(lr=1e-4),
          loss='categorical_crossentropy',
          metrics=['acc'])

你在某一点上也适合你的模型,不是吗?你是否使用了food-101数据集的平衡部分?我看到101类数据集的ouptut层有15个单元,所以我假设您没有使用整个数据集。所以可能是因为你分割数据的方式。你在某个时候也适合你的模型,不是吗?你使用了food-101数据集的平衡部分吗?我看到101类数据集的ouptut层有15个单元,所以我假设您没有使用整个数据集。因此,它可能来自您分割数据的方式。