【飞桨论文复现赛-小样本学习】FSL-Baseline
时间:2025-07-28 | 作者: | 阅读:0该复现项目针对《A Closer Look at Few-shot Classification》论文,基于paddlepaddle-gpu2.2.2和python3.7,在miniImageNet数据集上完成。复现的5-way 1-shot和5-shot准确率略超论文。介绍了论文的小样本分类研究、基准模型等,还说明了数据集、运行步骤及代码结构。
一、前言
本项目为百度论文复现赛《A Closer Look at Few-shot Classification》论文复现代码。
依赖环境:
- paddlepaddle-gpu2.2.2
- python3.7
在miniImageNet数据集下训练和测试。
5-way Acc:
二、模型背景及其介绍
参考论文:《A Closer Look at Few-shot Classification》论文链接
小样本分类旨在通过有限标记样例学习一个分类器来识别未知类,虽然近些年取得了一些重要的研究进展,但各方法网络结构、元学习算法的复杂性以及实现细节的差异为比较当前进展提出挑战。论文作者提出:
对几种代表性的小样本分类算法进行一致性比较分析,结果证明随着特征提取神经网络模型能力的提升,在给定领域差异的数据集上,各方法的性能差异显著缩小;
提出了一个基准模型,该模型在mini-ImageNet数据集和CUB数据集上的性能可以媲美几种SOTA方法;
提出了一种新的用于评估小样本分类算法跨领域泛化能力的实验设定,结果发现当特征提取神经网络能力较弱时,减少类内差异是提升模型性能的一个重要因素,当特征提取神经网络能力较强时,类内差异不再关键。
论文中提出的baseline模型遵循标准迁移学习的网络预训练以及微调。
训练阶段将图像输入到特征提取器中,再经过分类器进行分类。
微调阶段将训练好的模型参数固定在特征提取器中,然后重新训练一个分类器。
除Baseline模型外,论文还引入了Baseline模型的变体,Baseline++。Baseline++不同于前者的是在分类阶段采用了一个输入特征f(x)与权值矩阵的余弦相似度,然后根据这个相似度来进行softmax分类。 作者提出的Baseline和Baseline++模型如下图所示:
参考项目地址
复现github地址
三、数据集
2016年google DeepMind团队从Imagnet数据集中抽取的一小部分(大小约3GB)制作了Mini-Imagenet数据集,共有100个类别,每个类别都有600张图片,共60000张(都是.jpg结尾的文件)。
Mini-Imagenet数据集中还包含了train.csv、val.csv以及test.csv三个文件。
- train.csv包含38400张图片,共64个类别。
- val.csv包含9600张图片,共16个类别。
- test.csv包含12000张图片,共20个类别。
每个csv文件之间的图像以及类别都是相互独立的,即共60000张图片,100个类。
四、运行
本项目5-way分类可设1-shot和5-shot。如果用5-shot可设置--n_shot 5,用1-shot可设置--n_shot 1。下面以5-shot为例。
解压miniImagenet数据集到./filelists目录下用于训练
In [1]#加载miniImagenet数据集%cd /home/aistudio/work/Paddle-CLFS/filelists/!unzip -oq /home/aistudio/data/data138415/miniImagenet.zip登录后复制 ? ? ? ?
/home/aistudio/work/Paddle-CLFS/filelists登录后复制 ? ? ? ?
1、训练
训练的模型保存在./record目录下
训练的日志保存在./logs目录下
In [?]%cd /home/aistudio/work/Paddle-CLFS/!python3 train.py --n_shot 5登录后复制 ? ?
2、保存特征
将提取的特征保存在分类层之前,以提高测试速度。
加载./record目录下的模型进行特征保存
In [?]# 可加载预先训练好的模型文件到./record目录下%cd /home/aistudio/work/Paddle-CLFS/record/!unzip -oq /home/aistudio/data/data140016/checkpoint_clfs.zip登录后复制 ? ?In [?]
%cd /home/aistudio/work/Paddle-CLFS/!python3 save_features.py --n_shot 5登录后复制 ? ?
3、测试
测试之前执行!python3 save_features.py预先提取特征
这里展示5-shot测试结果
In [?]%cd /home/aistudio/work/Paddle-CLFS/!python3 test.py --n_shot 5登录后复制 ? ?
五、代码结构
├─data # 数据处理包├─filelists # 数据文件├─methods # 模型方法├─logs # 训练日志├─record # 训练保存文件 │ backbone.py # 特征提取│ configs.py # 配置文件│ io_utils.py # 配置文件│ README.md # readme│ save_features.py # 保存特征│ train.py # 训练│ test.py # 测试登录后复制 ? ?
来源:https://www.php.cn/faq/1428128.html
免责声明:文中图文均来自网络,如有侵权请联系删除,心愿游戏发布此文仅为传递信息,不代表心愿游戏认同其观点或证实其描述。
相关文章
更多-
- 创号仅20天 “鸡排哥”粉丝突破100万
- 时间:2025-10-12
-
- 曹德旺又一所学校要来了!福州官宣同意筹设福耀未来学校
- 时间:2025-10-12
-
- 宗馥莉离职原因曝光:“娃哈哈”商标使用出现问题 将全力打造新品牌 “娃小宗”
- 时间:2025-10-12
-
- “专家鉴定+高价回收”竟是骗局 私域直播间让收藏者血本无归
- 时间:2025-10-12
-
- 苹果官网出现“错别字”上热搜,AirPods 拼成“ArPods”
- 时间:2025-10-12
-
- 山航空姐全面换穿平底鞋:可自由选择裙装或裤装
- 时间:2025-10-12
-
- 白色超频利器 华硕B850M AYW OC主板预约中!
- 时间:2025-10-11
-
- 共谋业务智胜之道 2025 VDC互联网技术分会引关注
- 时间:2025-10-11
大家都在玩
大家都在看
更多-
- 永恒纪元好听的名字
- 时间:2025-10-12
-
- 小红书账号怎么改手机号?账号改手机号有影响吗?
- 时间:2025-10-12
-
- 视频号如何私信个人留言?它怎么制作视频发表?
- 时间:2025-10-12
-
- 抖音评论让别人看不到怎么设置?怎么设置禁止别人的评论?
- 时间:2025-10-12
-
- 为什么小红书账号评论不了别人的作品?它的账号异常被限制登录怎么办?
- 时间:2025-10-12
-
- 抖音设置定时关闭直播在哪里?直播怎么设置管理员?
- 时间:2025-10-12
-
- 微信视频号怎么评论和回复?视频号评论回复有提示吗?
- 时间:2025-10-12
-
- 自媒体最赚钱的五大领域是什么?2024年抖音扶持方向是什么?
- 时间:2025-10-12