Datawhale2024年AI夏令营第二期:CV图像--task3

       以下是对本次夏令营活动的baseline模型进行修改的实验结果,介绍kaggle离线训练模型的步骤,以及此次活动的学习心得。

改进模型结果

     1、baseline

     首先采用了baseline进行跑通,采用resnet18模型,训练了train数据集前1000张,大概耗时5分钟,得到的最终分数为 0.577。原因可能是该模型的网络深度较浅,训练的数据集过少,导致结果的分数不高。

7403d05c4c354743978738b7ee0cbff4.png

     2、efficientnet_b0

      后来查阅网上资料发现,以及借鉴了Deepfake-FFDI-图像赛题 stronger baseline (kaggle.com)。使用timm库中的efficientnet_b0模型,训练数据集前3000张、训练轮数epoch=2、每批数据量batch_size=70、发现这个模型在该问题上具有较好的性能和鲁棒性,得到最终分数为0.801。然后,再改用全部的数据集进行训练,差不多一轮1个小时,训练了3轮,得到的分数为0.946,也验证了前面的结论。

b4a96166d7354dc292879d4451f3f969.png

     3、efficientnet_b1和efficientnet_b2比较

      考虑到EfficientNet_b0作为EfficientNet系列的基线模型,它的参数规模最小,一般情况下,对应的Top-1的准确度也较低。于是尝试了EfficientNet_b2模型和EfficientNet_b1模型,设置全部训练数据集、batch_size为70、训练轮数为3,得到的实验结果分别为 0.926和0.968,说明也并非模型的参数越大,模型的准确率越高,选择适合的模型才能得到更好的结果。

988e0a8a18a94035a13b483e009ce76c.png

     4、efficientnet_b1改进

     由于数据增强有可能导致数据过度复杂而对模型的训练造成负优化,查阅资料发现,CVPR2021深度框架训练:不是所有数据增强都可以提升最终精度-腾讯云开发者社区-腾讯云 (tencent.com)在上文中提到,在基于基本图像处理技术的数据增强中,一般都是水平方向翻转而少用垂直方向,也就是镜像变换,经过大佬在图像数据集上证实有用(CIFAR-10,ImageNet等),同时观察到deepfake数据集中大部分的图像是正向的,所以去掉了transforms.RandomVerticalFlip(),#随机垂直翻转图像,使用EfficientNet_b1模型,将epoch_num改大变为4轮,其他参数不变,也就是训练了4个小时,得到最终结果为0.9774。

4218ef6210c745f99e3618a298d0c016.png

 kaggle训练技巧

     1、离线运行

     如果模型训练消耗时间过长,担心不小心关闭网页后模型训练中断,也就是内核挂掉了(我训练2h以上然后中断了,导致没结果,惨痛的教训www)。可以点击右侧的save version,对应左图,进行离线训练。再选择save&Run All(Commit),对应右图,再保存即可,kaggle就会在后台运行设置好的模型(前提是模型可正常运行,不然运行会中断,然后notebook无法继续运行,别问问就是经历过......)

4a88c9387d064f8393e84530e47bce79.png         478510df3a224484bc63b81cb9642ce8.png

     2、查看运行情况

     如果想查看项目实时的运行情况,点击右下角的小时钟,再点击三个小圆点的标志,点击Open Logs inViewer,即可查看,运行结果类似于下下图。注意!当启用这个方案后,需要把之前运行的notebook关掉,不然会消耗双倍的GPU资源。模型离线训练结束后,查看该notebook的Output就可以下载对应的csv文件,这样我们就只要在训练完成后下载权重文件即可。

979d2eb46e9b465ab8a62ba1a206cb09.png

982f6cc1c0d242128799612324d02b60.png

学习心得

     以上是本次活动的一些尝试修改和个人理解,仍然有许多不足之处。但是通过此次夏令营活动,我收获很多,在这个过程中感觉到了datawhale对于学习者的用心与真诚,以及助教们的悉心指导,非常感谢有这么好的机会学习知识和提升自我能力,加强对计算机视觉的理解与感悟。

 

 

  • 13
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值