如何选择出最适合的backbone模型?图像分类模型性能大摸底

news2025/2/2 9:51:55

到2023年图像分类backbone模型已经拓展到了几十个系列,而有的新算法还在采样vgg、resnet做backbone,比如2022年提出的GDIP-YOLO还在用VGG16做IA参数预测,那是在浪费计算资源并限制了模型性能的提升,应该将目光放到现在的最新模型中。为此博主对现行的各种模型的性能进行一个摸底统计,具体范围包括:
PP-HGNet 系列、ResNet 系列、ResNeXt 系列、Res2Net 系列、SENet 系列、DPN 系列、DenseNet 系列、HRNet 系列、Inception 系列、EfficientNet 系列、ResNeXt101_wsl 系列、ResNeSt 系列、RegNet 系列、RepVGG 系列、MixNet 系列、ReXNet 系列、HarDNet 系列、DLA 系列、RedNet 系列、ConvNeXt 系列、VAN 系列、PeleeNet 系列、CSPNet 系列、PP-LCNet & PP-LCNetV2 系列、ViT 系列、DeiT 系列、SwinTransformer 系列、Twins 系列、CSWinTransformer 系列、PVTV2 系列 、LeViT 系列、TNT 系列、MobileViT 系列模型。具体信息参考mageNet1k/model_list.md

以PaddleClas所支持的模型为基准对现行图像分类模型进行进行一个摸底,具体分为移动端模型、桌面端模型、服务器级模型。以在imagenet数据集上的精度为准,精度在80%附近的只考虑移动端模型,精度在85%附近考虑服务器级模型,精度超过85%的都归纳为大型模型。这里不区分是否知识蒸馏、是否在外部数据集上进行预训练。

通过以下分析,发现中低端flop训练与部署环境应该考虑ReXNet与EfficientNet等系列模型,高flop训练与部署环境应该考虑CSWinTransformer、SwinTransformer等模型。同时,通过分析也发现了经典的移动端模型在逐步被一些新结构所颠覆,如ReXNet。
在这里插入图片描述

1、移动端模型

移动端在模型这里特指flop个mem都比较小的模型,也就是针对移动端部署对conv架构进行了局部修改的轻量化结构。常见的模型结构有mobilenet系列(v1、v2、v3,Vit)、GhostNet系列、ShuffleNet系列、PP-LCNet系列。具体的入选标准为flop低于2G,模型参数量低于40M。ImageNet acc大于75%的模型,故此将一些性能强悍的特殊模型纳入范围,如EfficientNet系列等模型。

在这里插入图片描述
调研结果表示,ReXNet_2_0、EfficientNetB2属于最具性价比的移动端模型。同时通过对比发现,对原有模型进行知识蒸馏相比与其原来的模型基本上都有2~4个点的精度提升,例如:GhostNet_x1_3_ssld提升4个点。以上信息还表明轻量化模型还有ReXNet、LeViT、EfficientNet系列。此外,以上表格没有统计到MobilerVit系列模型,MobilerVit系列模型,在与ReXNet系列相比,MobilerVit系列模型还是不够强
在这里插入图片描述

PP-LCNet系列模型是paddle团队提出的模型,其认为推理速度也是极为重要的一环,故将其与其他轻量级网络的性能进行对比。同时,也告诉我们低flop的模型,推理速度未必快。

ModelParams(M)FLOPs(M)Top-1 Acc(%)Top-5 Acc(%)Latency(ms)
MobileNetV2_x0_251.53453.2176.522.47
MobileNetV3_small_x0_351.71553.0376.373.02
ShuffleNetV2_x0_330.62453.7377.054.30
PPLCNet_x0_251.51851.8675.651.74
MobileNetV2_x0_52.09965.0385.722.85
MobileNetV3_large_x0_352.14164.3285.463.68
ShuffleNetV2_x0_51.44360.3282.264.65
PPLCNet_x0_51.94763.1484.662.05
MobileNetV1_x1_04.357870.9989.683.38
MobileNetV2_x1_03.532772.1590.654.26
MobileNetV3_small_x1_253.610070.6789.513.95
PPLCNet_x1_0 3.016171.3290.032.46
PPLCNetV2_base6.660477.0493.274.32
PPLCNetV2_base_ssld6.660480.0794.874.32

此外还有VAN、PeleeNet、CSPNet模型在设计上也算是轻量化模型,但是效果不如以上的好。
在这里插入图片描述
在这里插入图片描述

2、桌面级模型

桌面级模型在这里特指flop大于1g且低于4g,参数量低于60M的模型,也就是可以在普通的消费级GPU上进行自由训练的模型。同时,同类型的模型只列出最高精度的模型。
在这里插入图片描述
在上表中EfficientNet没有模型入选,这是因为其模型的siez跨度刚好不在范围内。在上表中,最佳模型任然是ReXNet
在这里插入图片描述

3、服务器级模型

这里为flop高与参数量正常的模型,只统计在ImageNet精度高于80%(如vgg、resnet等模型精度不达标不在此表中),Flop大于4的模型。同类型的模型,除非top1 精度大于85%,否则每类模型只保留最高精度模型。
从下图中可以看出,最具性价比的模型是CSWinTransformer_large_224与PVT_V2_B5,其中LeViT_384为乱入的模型。使用这类模型进行训练,batchsize和image size都不能设置的太大。
在这里插入图片描述
在PaddleClas中没有EfficientNetV2,在与上表中相比,EfficientNetV2-M在acc 85%的档次也是非常具备性价比的模型。
在这里插入图片描述
针对一些模型,PaddleClas提供了蒸馏后的权重,这里给出其精度信息,可以发现这类模型虽然精度高于80%,但是并不比前面未蒸馏过的模型占据优势。
在这里插入图片描述

4、常见模型

在上述统计中,如vgg、resnet、densenet、inception、cspdarknet、repvgg等经典模型没有上榜,这里进行一个补充。从以上统计中,也可以发现经典的模型范式已经跟不上新技术的发展了。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1329082.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Unity | HybridCLR 热更新(Windows端)

目录 一、准备工作 1.环境相关 2.Unity中配置 二、热更新 1.创建 HotUpdate 热更新模块 2.安装和配置HybridCLR 3.配置PlayerSettings 4.创建热更新相关脚本 5.打包dll 6.测试热更新 一、准备工作 1.环境相关 安装git环境。Win下需要安装visual studio 2019或更高版…

STM32能够做到数据采集和发送同时进行吗?

STM32能够做到数据采集和发送同时进行吗? 在开始前我有一些资料,是我根据自己从业十年经验,熬夜搞了几个通宵,精心整理了一份「STM32的资料从专业入门到高级教程工具包」,点个关注,全部无偿共享给大家&…

PostGIS学习教程十四:更多的空间连接

PostGIS学习教程十四:更多的空间连接 在上一节中,我们看到了ST_Centroid(geometry)和ST_Union([geometry])函数,以及一些简单的示例。在本节中,我们将用它们做一些更详细的事情。 提示:写完文章后,目录可以…

C# WPF上位机开发(QT vs WPF)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 最近经常收到朋友们的私信,他们对C# WPF开发很感兴趣,但是呢,正当准备学习的时候,又有人告诉他们应…

UG阵列面、阵列集合特征和阵列特征的区别

阵列面 对面进行阵列,当实体中被切除特征的时候可以使用阵列面,当这个命令去阵列一个实体的时候,阵列的是一个片体,优点是速度快,缺点是功能较简单; 阵列几何特征 对实体进行阵列,可以一次性选…

WPF组合控件TreeView+DataGrid之DataGrid封装

(关注博主后,在“粉丝专栏”,可免费阅读此文) wpf的功能非常强大,很多控件都是原生的,但是要使用TreeViewDataGrid的组合,就需要我们自己去封装实现。 我们需要的效果如图所示&#x…

基于Netty构建Websocket服务端

除了构建TCP和UDP服务器和客户端,Netty还可以用于构建WebSocket服务器。WebSocket是一种基于TCP协议的双向通信协议,可以在Web浏览器和Web服务器之间建立实时通信通道。下面是一个简单的示例,演示如何使用Netty构建一个WebSocket服务器。 项目…

Qt WebAssembly开发环境配置

目录 前言1、下载Emscripten SDK2、 安装3、环境变量配置4、QtCreator配置5、运行示例程序总结 前言 本文主要介绍 Qt WebAssembly 开发环境的配置。Qt for Webassembly 可以使Qt应用程序在Web上运行。WebAssembly(简称Wasm)是一种能够在虚拟机中执行的…

element-table表格中插入颜色块显示数据状态

dom部分&#xff1a; <el-table-column label"是否异常"><template slot-scope"scope"><div class"dcs_sf_red" v-if"scope.row.sfyc 0"></div><div class"dcs_sf_green" v-if"scope.row…

【JavaWeb学习笔记】14 - 三大组件其二 Listener Filter

API文档JAVA_EE_api_中英文对照版 Listener 一、监听器Listener 1. Listener监听器它是JavaWeb的三大组件之一。 JavaWeb的三大组件分别是: Servlet程序、Listener监听器、Filter过滤器 2. Listener是JavaEE的规范&#xff0c;就是接口 3.监听器的作用是&#xff0c;监听某…

湖北省工程类助理工程师申报评审通过不是难事

湖北省工程类助理工程师申报评审通过不是难事 想要初级职称/助理工程师工程类&#xff0c;建筑施工、土木工程、市政、路桥、水利水电、机电、园林、测绘等一系列建筑类的初级职称。12月份交资料&#xff0c;春节前可以评审出来。 初级职称申报周期-一个月左右 一般初级职称申…

【容器Docker】Docker学习笔记

1、什么是Docker&#xff1a; Docker 将程序和程序运行所依赖的所有环境都打包到镜像里。“build once, run anywhere”Docker 是容器的一种实现。 Windows 下如何安装Docker: 官方安装教程&#xff1a;Install Docker Desktop on Windows | Docker Docs有两种安装套装&…

配置BGP的基本示例

目录 BGP简介 BGP定义 配置BGP目的 受益 实验 实验拓扑 ​编辑 组网需求 配置思路 配置步骤 配置各接口所属的VLAN 配置各Vlanif的ip地址 配置IBGP连接 配置EBGP 查看BGP对等体的连接状态 配置SwitchA发布路由10.1.0.0/16 配置BGP引入直连路由 BGP简介 BGP定义 …

四、Spring IoC实践和应用(基于注解方式管理 Bean)

本章概要 基于注解方式管理 Bean 实验一&#xff1a; Bean注解标记和扫描 (IoC)实验二&#xff1a; 组件&#xff08;Bean&#xff09;作用域和周期方法注解实验三&#xff1a; Bean属性赋值&#xff1a;引用类型自动装配 (DI)实验四&#xff1a; Bean属性赋值&#xff1a;基本…

01-基于粤嵌GEC6818实现屏幕的显示固定颜色进行自动切换

基于GEC6818实现屏幕颜色的切换 本文使用开发板GEC6818&#xff0c;实现屏幕显示特定颜色并且进行自动切换的功能。 文章目录 基于GEC6818实现屏幕颜色的切换一、 初始化开发板--&#xff08;开发板是新的则可以省略很多步骤&#xff09;1.1 **删除文件和文件夹**1.2 **查看磁盘…

STM32的以太网外设+PHY(LAN8720)使用详解(2):硬件设计

0 工具准备 1.野火 stm32f407霸天虎开发板 2.LAN8720数据手册 3.STM32F4xx中文参考手册1 PHY&#xff08;LAN8720&#xff09;硬件配置 1.1 硬件配置引脚说明 在LAN8720上电或复位时会读取一些特定引脚的电平&#xff0c;根据电平来进行硬件配置。LAN8720的引脚分布如下&…

在MongoDB中使用数组字段和子文档字段进行索引

本文主要介绍在MongoDB使用数组字段和子文档字段进行索引。 目录 MongoDB的高级索引一、索引数组字段二、索引子文档字段 MongoDB的高级索引 MongoDB是一个面向文档的NoSQL数据库&#xff0c;它提供了丰富的索引功能来加快查询性能。除了常规的单字段索引之外&#xff0c;Mong…

深度学习建模从零开始步骤流程

深度学习建模从零开始步骤流程 步骤如下&#xff1a; 环境准备三方库安装建模开发 环境准备 Anaconda安装&#xff1a; Anaconda下载网址&#xff0c;下载win10下的64位版本。 清华镜像站 下载完毕后点击安装&#xff0c;一直点确定或下一步 到上图点击 Just me&#xff…

基于SpringBoot的桃花峪滑雪场租赁系统 JAVA简易版

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 游客服务2.2 雪场管理 三、数据库设计3.1 教练表3.2 教练聘请表3.3 押金规则表3.4 器材表3.5 滑雪场表3.7 售票表3.8 器材损坏表 四、系统展示五、核心代码5.1 查询教练5.2 教练聘请5.3 查询滑雪场5.4 滑雪场预定5.5 新…