相关疑难解决方法(0)

为什么我的模型预测相同的标签?

我正在训练一个小型网络,训练似乎进展顺利,val 损失减少,验证准确度达到 80 左右,一旦没有更多改进,它实际上会停止训练(耐心=10)。它训练了 40 个 epoch。然而,它只为每个测试图像预测一个类别!我尝试随机初始化转换层,我添加了正则化器,我从 Adam 切换到 SGD,我添加了 Clipvalue,我添加了 dropout。我还切换到了softmax(我只有两个标签,但我看到了一些关于使用softmax和带有2个神经元的密集层的建议)。其中一些或其中一项有助于解决过度拟合问题,但对预测问题没有任何作用。尽管数据集很小,但数据是平衡的,因此如果它也为评估集预测相同的标签,则达到 80% 是没有意义的。

我的模型有什么问题以及如何修复它?欢迎任何评论。

#Import some packages to use
import cv2
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from keras.preprocessing.image import ImageDataGenerator
import os
from keras.regularizers import l2
from keras.callbacks import EarlyStopping, ModelCheckpoint, ReduceLROnPlateau
from keras.layers.core import Dense, Dropout, Flatten
from keras.layers.convolutional import Conv2D, MaxPooling2D
from keras.initializers import RandomNormal

os.environ["CUDA_VISIBLE_DEVICES"]="0"

epochs = 200
callbacks = []
#schedule = None
decay = 0.0 …
Run Code Online (Sandbox Code Playgroud)

training-data neural-network deep-learning conv-neural-network keras

4
推荐指数
1
解决办法
3699
查看次数