跑通baseline,使用EfficientNetV2-L模型
对比使用预训练权重和不使用预训练权重的区别
对比使用MAML进行初始化的区别
使用Resnet32对花蕊按目粗分类,然后使用EfficientNet进行细分类
使用EfficientNetV2-L加MTL的方式
-
训练baseline+随机擦除(随机像素)
-
使用ImageNet 21k初始化参数训练+随机擦除(随机像素)
-
使用ImageNet 21k初始化参数训练+边缘随机擦除(随机像素)
-
使用ImageNet 21k初始化参数训练+随机擦除(平均像素)
| best_val_acc | test_acc | |
|---|---|---|
| ImageNet 21k初始化+随机擦除(随机像素) | 0.956347 | 95.78 |
| ImageNet 21k初始化+边缘随机擦除(随机像素) | 0.961364 | 95.98 |
| ImageNet 21k初始化无随机擦除 | 0.953838 | None |
| ImageNet 21k初始化+随机擦除(平均像素) | 0.95684 | 95.48 |
| ImageNet 21k初始化+边缘随机擦除(随机像素) + Mixup + cutmix | 0.96412 | 96.56 |
| 以下默认ImageNet预训练权重+边缘随机擦除(随机像素) | ||
| supcon(normal) + 普通数据增强 | 0.95985 | 96.12 |
| supcon(normal) + 普通数据增强 + stage3(Mixup + CutMix) | 0.96512 | 96.64 |
| supcon(weighted) + L2-SP + 普通数据增强————两阶段 | None | None |
| supcon(weighted) + L2-SP + Mixup + CutMix ————两阶段 | None | None |
| supcon(weighted) + 普通数据增 + stage3(Mixup + CutMix + L2-SP双锚点) ————三阶段 | None | None |
| supcon(weighted) + L2-SP + 普通数据增强 + stage3(Mixup + CutMix + L2-SP双锚点) ————三阶段 | None | None |
| supcon(weighted) + L2-SP + 普通数据增强 + stage3(Mixup + CutMix + L2-SP单锚点) ————三阶段 | None | None |
- 对 Top 2-3 配置做 3-Fold 验证 ← 等消融实验完成
- 对比结果,选出最佳配置 ← 等 K-Fold 完成
- 最佳配置做 5-Fold + 全量训练
- 可选:模型集成
- 可视化边缘随机擦除
- 修复日志保存无内容问题
- 修复边缘随机擦除出现的张量错误问题
- 对随机擦除和随机边缘擦除设置随机种子,确保训练结果可复现
- 修复绘图错误问题
- 训练结果需要绘制ROC 还有 混淆矩阵
- 增加Mixup、CutMix数据增强
- 更换损失函数为SupConLoss
- 添加L2-SP正则化
- 扩展为多任务学习,两个模型:一个是对种进行分类,一个是对科进行分类
- 使用CutMix进行数据增强,对种模型采用对同种的随机图片区域拷贝,而科则是同科
- MAML初始化+边缘随机擦除与flower 104预训练数据集使用边缘随机采集对比