Q1:图像增广中的Normalize是否都需要用使用
transforms.Normalize(mean=[0.485, 0.456, 0.406],std=[0.229, 0.224, 0.225])
train_transform = transforms.Compose([
transforms.Resize(32),
transforms.RandomResizedCrop(28),
transforms.RandomHorizontalFlip(),
transforms.ToTensor(),
transforms.Normalize(mean=[0.485, 0.456, 0.406],std=[0.229, 0.224, 0.225])
])
test_transform = transforms.Compose([
transforms.ToTensor(),
transforms.Normalize(mean=[0.485, 0.456, 0.406],std=[0.229, 0.224, 0.225])
])
因此测试了以下四种情况
情况1.训练集(×)测试集(×)
trian acc: 0.92
val acc: 0.91
test acc:0.90
情况2.训练集(√)测试集(×)
trian acc: 0.93
val acc: 0.83
test acc:0.81
情况3.训练集(×)测试集(√)
trian acc: 0.93
val acc: 0.81
test acc:0.80
情况4.训练集(√)测试集(√)
trian acc: 0.93
val acc: 0.93
test acc: 0.91
从结果曲线上来看,同时进行标准化/非标准化效果会更好,震荡的幅度不会很大,并且加上该操作是能一定上提高准确率的