什么蘑菇?
最后更新 2021/08/31 13:43
阅读 4142
图像分类
chenfengshf
8
获得赞0
发布的文章2
答辩的项目Batch大小为64,循环次数为33次,通过在线上环境完成训练,模型最优精度评分为97.94。
最后更新 2021/08/31 13:43
阅读 4142
图像分类
1.问题分析和总结
本次竞赛使用的数据集由北欧真菌学家协会(Mycologist‘sSociety of Northern Europe)提供的9 种常见北欧蘑菇属的图像组成。 总结:
1.1.图像9分类。
1.2.和imagenet相似度较低
1.3.评测指标为准确率
## 数据集查看
可以查看本地目录中的数据集图片, 筛选出明显不符合对应类别的图片, 比如说有几张全黑的图,我们可以直接剔除此种明显是噪声的图片,当然这只是初步的观察。还有一些格式错误的图片,可以使用pil的内置功能忽略掉: from PIL import Image,ImageFile ImageFile.LOAD_TRUNCATED_IMAGES= True
2.技巧和经验
## 模型选用尝试 在不同的网络下。 初步测试分数如下, 图像大小为224x224, 最高至384x384:Seresnet-50, 最高调到87分 ; Resnext101d_32x16 : 94; Efficient-b2 : 93 CoatNet: 95 ; VIT-16/224 : 96 ;Swin-transform : 95 。
## 冻结网络前k层
1.预训练模型权重(imagenet)的数据集和比赛数据集相似度高, 直接调整输出层
2.预训练模型权重(imagenet)的数据集和比赛数据集相似度低, 冻结模型前k层。 ● 原因: 模型输入层附近的层, 提取的是更通用化的特征。## 损失函数: 1.torch.nn.CrossEntropyLoss() 2.+label_smoothing (标签平滑)
3.换成Focal_loss
## 学习率调度
1.stepLR : 固定步数衰减
2.reduceOnPlateau : loss停滞期后衰减 3.余弦退火。## 验证时进行错误分析 1.自己写个统计函数, 统计验证集上每个类别的分类情况
2.Sklearn.metrics.classification_report() 统计各个类别上的-f1-score。
## 测试时调优TTA:测试时进行图像增强。模型预测的时候,使用数据增强的多张照片,取结果的平均值(或者其他指标)。这里的数据增强,我通常直接使用训练时候的数据增强,其他的也可以试试。### 图像增强使用工具:torchvision.transforms, 对训练集图片进行水平,垂直翻转, 旋转,仿射变换,像素随机擦除等多种·组合变换,达到了扩充数据集的目的,完成了对于模型健壮性进行增强的指标。 当然,选用策略的时候宜少不宜多, 组合几种效果最好的就行,不然就难以优化了。
3.学习感悟和心得
在考虑显卡性能的情况下, 尽量尝试新的模型,会有意想不到的结果;
多多关注新发布的论文, 对于别人分享的调优tricks进行尝试加应用。
关注下领域的最新动态, 比如今年transformer在图像领域的应用。
图像分类
请先绑定您的微信账号 点击立即绑定
敬请谅解,如有疑问请联系FlyAI客服