小编Ben*_*lau的帖子

Keras模型精度高但val_acc低

我正在使用 Oxford-IIIT 宠物数据集的 resnet50 迁移学习来对 37 个品种的猫和狗进行分类。这个想法是使用 Keras 代码密切关注 fastai 的实现。然而,我设法获得了高达 90% 的训练准确率,但似乎无法将我的 val_accuracy 提高到高于随机猜测(1/37 或 ~ 3% val_acc)。

知道 Keras 如何计算验证 acc 以及如何改进它?还是我的预处理步骤有问题?多谢。

为了获得验证步骤,我使用 sklearn StratifiedShuffleSplit 来获得平衡的验证集。

# Create dataframe with labels and filenames
annotations = pd.read_csv("annotation/list.txt",header=None,delim_whitespace=True)

annotations.drop([1,2,3],axis=1, inplace=True)
annotations.columns = ["filenames"]

# Create label columns
trans = str.maketrans("_0123456789","           ")
annotations["labels"] = annotations["filenames"].str.translate(trans).str.strip()
annotations["filenames"] = annotations["filenames"] +".jpg" 

Run Code Online (Sandbox Code Playgroud)
# Creating a validation set
from sklearn.model_selection import StratifiedShuffleSplit

df_array = annotations.to_numpy(copy=True)

sss = StratifiedShuffleSplit(n_splits = 1, test_size=0.2)

valid_idx = [test for …
Run Code Online (Sandbox Code Playgroud)

python deep-learning keras tensorflow

5
推荐指数
0
解决办法
901
查看次数

标签 统计

deep-learning ×1

keras ×1

python ×1

tensorflow ×1