Q1:验证集准确率在0.5左右
在Cifar10数据集上实现二分类任务,
模型结构:
self.model = models.resnet18(pretrained=False)
在200个epoch训练过程中,训练集的准确率在0.9左右,而验证集的正确率维持在0.5左右。
原因分析:
训练集为10000张,其中划分了2000张给验证集,而我刚开始划分数据集的逻辑是将前百分之80的数据充当训练集,后百分之20的数据充当验证集,经过调试之后发现训练集中主要学习鸟(50%)+猫(30%)的图片,而验证集中都是猫(20%)的图片。但是理论上它应该能学习到这种性质吧。。
修改后:
采用以下划分方式,很方便的随机打乱数据,最终训练集准确率0.91左右,验证集0.89左右,测试集0.86左右
from torch.utils.data import random_split
train_set, valid_set = random_split(img_path,[train_len,val_len]);