PaddleClas笔记

本文介绍了超轻量级图像分类方案PULC,包括PP-LCNet网络、SSLD预训练、数据增强策略和SKL-UGI知识蒸馏。文章详细阐述了数据准备、模型训练、评估、预测、模型压缩及超参数搜索,并给出了模型导出和部署的相关指导。

超轻量图像分类方案PULC

在这里插入图片描述

方案主要包括 4 部分,分别是:PP-LCNet轻量级骨干网络SSLD预训练权重(EDA)数据增强策略集成SKL-UGI 知识蒸馏算法。此外,我们还采用了超参搜索的方法,高效优化训练中的超参数。

  1. 骨干网络PP-LCNet
    PULC 采用了轻量骨干网络 PP-LCNet,相比同精度竞品速度快 50%,您可以在PP-LCNet介绍查阅该骨干网络的详细介绍。
  2. SSLD预训练权重
    SSLD 是百度自研的半监督蒸馏算法,在 ImageNet 数据集上,模型精度可以提升 3-7 个点,您可以在 SSLD 介绍找到详细介绍。
    • 使用SSLD预训练权重,可以有效提升应用分类模型的精度(配置文件中设置pretrained:Trueuse_ssld:True
    • 训练中使用更小的分辨率,可以有效提升模型精度
    • 对学习率进行了优化
  3. EDA数据增强策略
    数据增强是视觉算法中常用的优化策略,可以对模型精度有明显提升。除了传统的 RandomCrop,RandomFlip 等方法之外,我们还应用了 RandomAugment 和 RandomErasing。您可以在数据增强介绍找到详细介绍。 由于这两种数据增强对图片的修改较大,使分类任务变难,在一些小数据集上可能会导致模型欠拟合,我们将提前设置好这两种方法启用的概率。
  4. SKL-UGI模型蒸馏
    模型蒸馏是一种可以有效提升小模型精度的方法,您可以在知识蒸馏介绍找到详细介绍。我们选择 ResNet101_vd 作为教师模型进行蒸馏。为了适应蒸馏过程,我们在此也对网络不同 stage 的学习率进行了调整。
  5. 总结
    PP-LCNet
    不同场景对比

数据准备

数据格式

PaddleClas 使用 txt 格式文件指定训练集和测试集,train.txttest.txt格式如下:

# 每一行采用"空格"分隔图像路径与标注
classifydata/img_detail/1.jpg 0
classifydata/img_invoice/10.jpg 1
classifydata/img_medicalDOC/20.jpg 2
classifydata/img_other/30.jpg 3
...

类别标签在./ppcls/utils/PULC_label_list/data_classification_label_list.txt,格式如下:

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值