新闻中心

【飞桨论文复现赛-小样本学习】FSL-Baseline

2025-07-28
浏览次数:
返回列表
该复现项目针对《A Closer Look at Few-shot Classification》论文,基于paddlepaddle-gpu2.2.2和python3.7,在miniImageNet数据集上完成。复现的5-way 1-shot和5-shot准确率略超论文。介绍了论文的小样本分类研究、基准模型等,还说明了数据集、运行步骤及代码结构。

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

【飞桨论文复现赛-小样本学习】fsl-baseline -

一、前言

本项目为百度论文复现赛《A Closer Look at Few-shot Classification》论文复现代码。

依赖环境:

  • paddlepaddle-gpu2.2.2
  • python3.7

在miniImageNet数据集下训练和测试。

5-way Acc:


1-shot 5-shot
论文 48.2% 66.4%
复现 48.3% 66.6%

二、模型背景及其介绍

参考论文:《A Closer Look at Few-shot Classification》论文链接

小样本分类旨在通过有限标记样例学习一个分类器来识别未知类,虽然近些年取得了一些重要的研究进展,但各方法网络结构、元学习算法的复杂性以及实现细节的差异为比较当前进展提出挑战。论文作者提出:

  1. 对几种代表性的小样本分类算法进行一致性比较分析,结果证明随着特征提取神经网络模型能力的提升,在给定领域差异的数据集上,各方法的性能差异显著缩小;

  2. 提出了一个基准模型,该模型在mini-ImageNet数据集和CUB数据集上的性能可以媲美几种SOTA方法;

  3. 提出了一种新的用于评估小样本分类算法跨领域泛化能力的实验设定,结果发现当特征提取神经网络能力较弱时,减少类内差异是提升模型性能的一个重要因素,当特征提取神经网络能力较强时,类内差异不再关键。

论文中提出的baseline模型遵循标准迁移学习的网络预训练以及微调。

  1. 训练阶段将图像输入到特征提取器中,再经过分类器进行分类。

  2. 微调阶段将训练好的模型参数固定在特征提取器中,然后重新训练一个分类器。

除Baseline模型外,论文还引入了Baseline模型的变体,Baseline++。Baseline++不同于前者的是在分类阶段采用了一个输入特征f(x)与权值矩阵的余弦相似度,然后根据这个相似度来进行softmax分类。 作者提出的Baseline和Baseline++模型如下图所示:

【飞桨论文复现赛-小样本学习】FSL-Baseline -        

参考项目地址

美图云修 美图云修

商业级AI影像处理工具

美图云修 50 查看详情 美图云修

复现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 s*e_features.py --n_shot 5
   

3、测试

测试之前执行!python3 s*e_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│  s*e_features.py # 保存特征│  train.py # 训练│  test.py # 测试
   

以上就是【飞桨论文复现赛-小样本学习】FSL-Baseline的详细内容,更多请关注其它相关文章!


# 几种  # 无锡辅助网站建设资质办理  # 网站建设专家驰硕网络  # 滁州seo推广公司  # 服装网店营销推广策略  # 丰台网站建设北路  # 邱县全网营销推广中心  # 快排宝seo  # 冬装卫衣搜索关键词排名  # 关键词排名优化房产中介  # 北京高端网站建设与开发  # 官网  # 配置文件  # 加载  # python  # 提出了  # 都是  # 目录下  # 中文网  # 美图  # 一言  # fig  # udio  # igs  # csv文件  # 百度  # ai  # git 


相关栏目: 【 行业资讯67740 】 【 技术百科0 】 【 网络运营39195


相关推荐: 买的5g手机但是没有5g网络怎么办  如何把u盘改成固态硬盘  得物怎样不扣手续费 如何通过得物不支付手续费  单片机学习视频怎么调色  typescript为什么能运行  typescript和哪个语音很像  typescript干什么的  类似微信的聊天软件有哪些  如何使用程序编译 执行的命令  如何学好typescript  夸克网盘是什么都有吗  折叠屏手机为什么这么小  ready是什么意思  电脑命令如何删除账号  没网环境如何安装typescript  typescript中文怎么读  vue组件typescript怎么用  r中如何逐行执行命令  市盈率百分位roe是什么意思  阿里云盘的会员怎么用  怎么打印数组j*a  夸克还原排版是什么意思  市盈率动亏损是什么意思  j*a如何运行curl命令行  分享一个稳定的ao3镜像网址  a股等权市盈率中位数是什么意思  sofa是什么意思  typescript如何定义常量  单片机怎么控制闪烁技术  如何知道固态硬盘  哪些编程软件需用typescript  sqlite中datediff函数怎么用 SQLite中DATEDIFF()函数的用法分享  广东春运抢票怎么抢不到  电瓶车充电器power是什么意思  typescript有什么作用  什么是夸克模组文件格式  单片机*计步器怎么用  春运抢票可以抢几次票  如何查看固态硬盘速度  折叠手机内屏为什么会坏  vs如何输入命令行参数  征信不好如何恢复正常 征信不好要怎么样才能恢复正常教程  ka是什么意思  光刻机分类有哪些品牌的  春运抢票如何快速抢到票  安装固态硬盘如何设置  旧固态硬盘如何卖出  单片机怎么储存和显示  苹果16哪些会降价的  typescript中范围如何设定 

搜索