pytorch 47 模型剪枝实战|基于torch-pruning库代码对yolov10n模型进行剪枝
torch-pruning官方提供了基于yolov8的剪枝代码,基于此代码改进博主实现了对yolov10n模型的剪枝。虽然实现了对yolov10n模型的剪枝,剪枝目标为移除60%的通道,然而实验是失败的,针对coco数据集进行操作,剪枝前的模型map时37,剪枝后只能恢复到22,比预计下降了15个点,剪枝后的模型flop是下降了很多,mac从8.9降低到2.01616 G,但在3060显卡上推理速度并未得到提升。下一期,将会实现模型的稀疏化训练与剪枝。
本期实验,主要验证了多次剪枝,不如一次剪枝到位;并初步实现了对yolov10n模型的剪枝,如果是在非coco数据集,非n模型,进行模型剪枝其map信息应该不回下降的如此严重。
1、差异分析
在torch-pruning库中进行v8模型剪枝时对C2f模块进行了替换,故此需要分析v8模型与v10模型的结构差异,看v10模型中又有哪些模型结构需要替换。
1.1 项目准备
1、下载安装支持v10模型的ultralytics库(2024年6月份之后的官方最新代码即可)
git clone https://github.com/ultralytics/ultralytics.git
pip install -e .
2、下载安装Torch
相关文章:
pytorch 47 模型剪枝实战|基于torch-pruning库代码对yolov10n模型进行剪枝
torch-pruning官方提供了基于yolov8的剪枝代码,基于此代码改进博主实现了对yolov10n模型的剪枝。虽然实现了对yolov10n模型的剪枝,剪枝目标为移除60%的通道,然而实验是失败的,针对coco数据集进行操作,剪枝前的模型map时37,剪枝后只能恢复到22,比预计下降了15个点,剪枝后…...
LeetCode_sql_day15(262.行程与用户)
描述:262. 行程和用户 - 力扣(LeetCode) 取消率 的计算方式如下:(被司机或乘客取消的非禁止用户生成的订单数量) / (非禁止用户生成的订单总数)。 编写解决方案找出 "2013-10-01" 至 "2013-10-03" 期间非禁止…...
【MySQL】详解数据库约束、聚合查询和联合查询
数据库约束 约束类型 数据库的约束类型主要包括以下几种: 主键约束(Primary Key Constraint):确保表中的每一行都有唯一的标识,且不能为NULL。 外键约束(Foreign Key Constraint):…...
bug积累
1.只写 int p[len1 len2]; 时,实际上是在使用 C99 标准中引入的变长数组(VLA, Variable Length Array)的特性。变长数组允许在栈上分配其大小在运行时确定的数组。这意味着 len1 和 len2 的值可以在程序运行时确定,但仍然可以用来…...
版本控制案例:全球虚拟制片领导者Dimension借助Perforce Helix Core简化多供应商协作,控制访问权限,确保数据资产安全(下)
创建虚拟世界和人物角色需要一系列的软件工具。但最终愿景很少是由单一工作室独立完成的。对于大型项目,工作室需要通力合作,将全球的团队成员和数字资产联合起来。 Dimension Studio——体积内容捕捉和虚拟制片领域的领导者——不断将新技术和新方法融…...
Anaconda配置envs和pcks路径
问题 原先Anaconda安装在C盘,安装很多包后只剩几个G了,为了给C盘腾空间,卸载后重新安装在了D盘,但是创建了新环境后发现环境位置依旧在C盘,安装新的包仍然会占用C盘空间。 解决办法 查看conda的配置信息 执行如下命…...
推荐10个在线搭建框架平台
前言 在开发项目的时候,首先就是要搭建一个框架。这个框架可以是纯技术框架,也可以具备一定功能的开源框架。但是在搭建框架的时候,版本的冲突,环境的配置等是新手们一直头痛的问题,在构建开源框架的时候,…...
Linux Shell--函数
前言:本博客仅作记录学习使用,部分图片出自网络,如有侵犯您的权益,请联系删除 一、简介 Shell 函数是一段可以重复使用的代码块,通过定义函数可以避免代码重复,提高脚本的可读性和可维护性。 二、定义函数…...
漏洞复现-CVE-2023-42442:JumpServer未授权访问漏洞
概述 JumpServer存在一个未授权访问漏洞。具体来说,/api/v1/terminal/sessions/ API端点的权限控制存在逻辑错误,允许攻击者匿名访问。未经身份验证的远程攻击者可以利用此漏洞下载SSH日志,并可能借此远程窃取敏感信息。值得注意的是&#x…...
【数据结构之带头双向循环链表的实现】
1.链表的分类 链表的结构有多种多样,以下情况组合起来就有8种(2x2x2)链表结构: 虽然有这么多的链表结构,但是我们实际中最常用的还是两种结构:单链表和双向带头循环链表。 无头单向非循环链表:结…...
【docker】docker数据卷与网络部署服务
Docker 网络模式 选择网络模式 Host Mode (主机模式) 特点: 容器与宿主机共享网络命名空间操作: docker run --nethost ... Container Mode (容器模式) 特点: 容器与指定容器共享网络命名空间操作: docker run --netcontainer:<container-id-or-name> ... None Mode (无…...
Spring MVC框架学习笔记
学习视频:10001 Spring MVC概述_哔哩哔哩_bilibili~11005 请求映射方式_哔哩哔哩_bilibili 目录 1.概述 Java EE三层架构 Spring MVC在三层架构中的位置 编辑 Spring MVC在表现层的作用 Spring MVC的特点 2.Spring MVC入门程序 代码实现 Spring MVC工作原理 Spring …...
LeetCode 100道题目和答案(面试必备)(一)
1.两数之和 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。 你可以按…...
OpenGL投影矩阵
OpenGL Projection Matrix OpenGL投影矩阵...
Linux中的`make`与`Makefile`:项目自动化构建工具
Linux中的make与Makefile:项目自动化构建工具 在Linux及类Unix系统中,make是一种广泛使用的自动化构建工具,它通过读取和执行Makefile(或makefile,文件名不区分大小写)中的指令来自动化编译和构建程序。Ma…...
GitHub开源项目精选:轻量级预约/预订日历组件,用React和TypeScript构建
在日常开发中,我们经常需要在项目中添加预约或预订功能。今天给大家推荐一个超级轻量级的预约/预订日历组件,它是用React和TypeScript构建的,非常适合那些需要简单易用的日历解决方案的开发者。 安装方法: 你可以选择使用npm或者y…...
闲钱放在哪里?收益稳定且又高!
家庭理财,最大的问题就是,手里这点闲钱,说多不多,但打理起来,还真的很”挠头“。 放银行,存款利率接二连三下调,利息又又又要变少了! 投资出去,看着到处的雷声隆隆&…...
【Linux】简易线程池项目
线程池是一个可以巩固一些线程相关接口 && 加强理解的一个小项目。 注意:这里的线程池使用的线程并不是Linux原生接口,而是经过封装的,具体请看线程封装,为什么不使用原生接口? 因为原生接口一旦进行pthread…...
基于vue框架的NBA球星管理系统1878g(程序+源码+数据库+调试部署+开发环境)系统界面在最后面。
系统程序文件列表 项目功能:用户,球员,球员数据,榜单类型,联盟榜单,重要比赛回放,精彩时刻视频,视频专栏,本赛季赛程,十佳球,投票信息,投票结果 开题报告内容 基于Vue框架的NBA球星管理系统 开题报告 一、选题背景 随着互联网的普及和体育产业的蓬勃发展&#x…...
【docker】Dockerfile练习
1、overlay文件系统原理测试 cd /mnt mkdir A B C worker merged echo "From A">./A/a.txt echo "From A">./A/b.txt echo "From A">./A/c.txt echo "From B">./B/a.txt echo "From B">./B/d.txt echo &quo…...
Vue3中watch监听对象变化时旧值丢失?试试这个computed转字符串的妙招
Vue3深度监听对象变化的终极解决方案:巧用computed转字符串 在Vue3的实际开发中,我们经常会遇到需要深度监听对象变化的需求。然而,许多开发者在使用watch监听对象时,都会遇到一个令人困惑的问题:新旧值竟然完全相同&a…...
S2-Pro卷积神经网络原理可视化教学工具开发
S2-Pro卷积神经网络原理可视化教学工具开发 1. 效果亮点开场 想象一下,当你第一次学习卷积神经网络(CNN)时,如果能直观看到每一层卷积核如何工作、特征图如何变化、网络如何逐步学习,那该多好。这正是我们开发的S2-Pro教学工具要解决的问题…...
MT5文本改写工具5分钟上手:零基础学会用AI一键扩写句子
MT5文本改写工具5分钟上手:零基础学会用AI一键扩写句子 1. 工具简介:你的智能句子改写助手 你是否经常遇到这些情况: 写文章时反复修改同一句话,却总觉得表达不够丰富需要为机器学习模型准备训练数据,但原始文本数量…...
结合YOLOv8的目标检测:为LiuJuan生成画作智能添加题跋与印章
结合YOLOv8的目标检测:为AI生成画作智能添加题跋与印章 1. 引言 想象一下,你刚用AI工具生成了一幅意境优美的山水画,画中山水空灵,笔触细腻,颇有几分古意。但总觉得少了点什么——对,就是那种传统国画特有…...
Phi-4-mini-reasoning辅助C++项目代码审查:内存管理与性能瓶颈推理
Phi-4-mini-reasoning辅助C项目代码审查:内存管理与性能瓶颈推理 1. 引言 在C开发中,内存管理和性能优化一直是开发者面临的棘手问题。传统的人工代码审查不仅耗时耗力,还容易遗漏潜在风险。最近试用Phi-4-mini-reasoning模型进行代码审查时…...
提升开发效率:用快马AI自动生成2048论坛带加密验证的登录模块代码
最近在开发一个2048论坛项目时,遇到了登录模块的开发需求。这个看似简单的功能其实包含不少技术细节,如果从头开始手动编写,至少要花费一整天时间。幸运的是,我发现了InsCode(快马)平台这个开发利器,它帮我快速生成了完…...
《思想合奏:一场关于“自感即界面即自我”的深度对话综述》
《思想合奏:一场关于“自感即界面即自我”的深度对话综述》目录引言:从文本到事件一、起点:核心概念的厘定二、深化:五重维度的展开三、突破:自感诚实度循环与痕迹可检测性四、建构:伦理中间件与抵抗策略五…...
Wan2.2-I2V-A14B惊艳效果:动态镜头推移、自然光影变化、流畅运镜展示
Wan2.2-I2V-A14B惊艳效果:动态镜头推移、自然光影变化、流畅运镜展示 1. 专业级视频生成能力 Wan2.2-I2V-A14B模型带来了令人惊叹的视频生成效果,能够将简单的文字描述转化为专业水准的动态视频。这个模型特别擅长处理复杂的镜头运动和光影变化&#x…...
别再只盯着report_timing了!DC综合后,用report_constraint -all_violation全面排查时序与DRC违规(附实战解读)
别再只盯着report_timing了!DC综合后全面排查时序与DRC违规的实战指南 在数字IC设计流程中,Design Compiler(DC)综合后的时序分析环节往往让工程师们又爱又恨。面对密密麻麻的违规报告,新手工程师常陷入两个极端&#…...
PyAutoGUI实战指南:从基础操作到自动化脚本编写
1. PyAutoGUI入门:解放双手的自动化神器 每次看到同事在电脑前重复点击几百次鼠标时,我都想冲过去安利PyAutoGUI。这个Python库能让你用代码控制鼠标键盘,把枯燥的机械操作变成一键运行的脚本。上周我帮财务部写了个自动填报表的脚本…...
