本案例基于paddle2.0+实现,以aistudio的比赛数据为实操数据,基于paddle.hub实现迁移学习,并且实现了百度团队在论文中所述RIFLE方法(重复初始化全连接层)。常规赛:猫十二分类体验赛 - 飞桨AI Studio - 人工智能学习实训社区 (baidu.com)
具体的代码已经上传到了CSDN上,目前可以0积分下载(paddle.hub迁移学习-图像分类案例-深度学习文档类资源-CSDN文库)。 请各位下下载代码在配合本博客使用代码。
1、项目结构说明
项目中一共包含4个文件,
MyDataset.py 负责实现数据的加载,及训练集和测试集的划分
MyModel.py 负责返回各类可迁移训练的模型,其中内置的reset_fc方法用于实现RIFLE(测试中没有提升精度)
TrainTool.py 用于训练和测试模型
TestTool.py 用于测试模型
2、数据相关预处理
2.1 生成训练列表
如果没有数据可以直接使用aistudio的猫十二分类数据,如果有数据的话请生成如下格式的训练列表。生成训练列表的代码可以参考下列博客的章节1,使用该代码要求同一类数据都存储在同一个目录下。