首页 > 其他分享 >YOLOv5:对yolov5n模型进一步剪枝压缩

YOLOv5:对yolov5n模型进一步剪枝压缩

时间:2023-10-06 10:00:54浏览次数:39  
标签:剪枝 YOLOv5 ch multiple yolov5n nc yaml model



YOLOv5:对yolov5n模型进一步剪枝压缩

  • 前言
  • 前提条件
  • 相关介绍
  • 具体步骤
  • 修改yolov5n.yaml配置文件
  • 单通道数据(黑白图片)
  • 修改models/yolo.py文件
  • 修改train.py文件
  • 剪枝后模型大小
  • 参考


前言

前提条件

相关介绍

  • Python是一种跨平台的计算机程序设计语言。是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越多被用于独立的、大型项目的开发。
  • PyTorch 是一个深度学习框架,封装好了很多网络和深度学习相关的工具方便我们调用,而不用我们一个个去单独写了。它分为 CPU 和 GPU 版本,其他框架还有 TensorFlow、Caffe 等。PyTorch 是由 Facebook 人工智能研究院(FAIR)基于 Torch 推出的,它是一个基于 Python 的可续计算包,提供两个高级功能:1、具有强大的 GPU 加速的张量计算(如 NumPy);2、构建深度神经网络时的自动微分机制。
  • YOLOv5是一种单阶段目标检测算法,该算法在YOLOv4的基础上添加了一些新的改进思路,使其速度与精度都得到了极大的性能提升。它是一个在COCO数据集上预训练的物体检测架构和模型系列,代表了Ultralytics对未来视觉AI方法的开源研究,其中包含了经过数千小时的研究和开发而形成的经验教训和最佳实践。
  • 剪枝是一种通过去除网络中冗余的channels,filters, neurons, or layers以得到一个更轻量级的网络,同时不影响性能的方法。

具体步骤

修改yolov5n.yaml配置文件

  • YOLOv5相关YAML配置里面参数含义,可查阅YOLOv5:yolov5s.yaml配置文件解读、增加小目标检测层:
  • 这里顺带解释一下,depth_multiplewidth_multiple参数含义。
# YOLOv5 

标签:剪枝,YOLOv5,ch,multiple,yolov5n,nc,yaml,model
From: https://blog.51cto.com/u_15953612/7721692

相关文章

  • 搜索剪枝
    虽然我很懒,但集训期间还是强迫我自己写一下博客吧!搜索剪枝不搜不知道,我的搜索如同一坨shift。搜索没逻辑,剪枝随便捡,然后喜提withreturnvalue3221225725P1025数的划分非常简单的一道,数的拆分题题目描述将整数\(n\)分成\(k\)份,且每份不能为空,任意两个方案不相同(不......
  • YOLOV5源码解读-general.py、detect.py
    YOLOV5.4,可能与之前版本不一样,但大同小异general.py1#YOLOv5generalutils23importglob4importlogging5importmath6importos7importplatform8importrandom9importre10importsubprocess11importtime12frompathlibimpo......
  • 结构化剪枝 之 L1 剪卷积核 笔记
    论文:https://arxiv.org/pdf/1608.08710.pdf摘要CNN在各种应用中的成功伴随着计算和参数存储成本的显著增加。最近减少这些开销的努力包括在不损害原始精度的情况下修剪和压缩各个层的权重。然而,基于大小的权值修剪减少了完全连接层的大量参数,并且由于修剪后的网络中的不规则稀......
  • 已解决 File “F:\File_Anaconda\2020CV\yolov5-master\20200701.py“, line 5 Sy
    已解决File“F:\File_Anaconda\2020CV\yolov5-master\20200701.py”,line5SyntaxError:Non-UTF-8codestartingwith‘\xc0’infileF:\File_Anaconda\2020CV\yolov5-master\20200701.pyonline5,butnoencodingdeclared;seehttp://python.org/dev/peps/pe......
  • 模型压缩-剪枝算法详解
    近年来主流的模型压缩方法包括:数值量化(DataQuantization,也叫模型量化),模型稀疏化(Modelsparsification,也叫模型剪枝ModelPruning),知识蒸馏(KnowledgeDistillation),轻量化网络设计(LightweightNetworkDesign)和张量分解(TensorDecomposition)。其中模型剪枝是一种应用非常......
  • Yolov5——训练目标检测模型详解(含完整源码)
    项目的克隆打开yolov5官网(官网地址),下载yolov5的项目:环境的安装(免额外安装CUDA和cudnn)打开anaconda的终端,创建新的名为yolov5的环境(python选择3.8版本):condacreate-nyolov5python=3.8执行如下命令,激活这个环境:condaactivateyolov5打开pytorch的官网,选择自己显卡......
  • 【计算机视觉开发(一)】: yolov5与python环境安装
    前言:最近正在学习计算机视觉开发这块,打算开通一个专栏记录学习总结以及遇到的问题汇总。本篇是这个系列的第一篇,主要是环境安装以及yolov5的介绍。关于计算机视觉:参考:百度百科-关于计算机视觉)计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是是指用摄影机和......
  • yolov5-fastapi-demo更换中文标签
     本章是基于yolov5-fastapi-demo项目的更改WelkinU/yolov5-fastapi-demo:FastAPIWrapperofYOLOv5(github.com)首先,因为训练的时候设置的标签是英文,换成中文要重新训练,而且使用中文训练也很繁琐要改很多东西,因此可以直接训练的时候用英文标签,然后在识别绘图的时候做一个判断直......
  • YOLOV5 训练好模型测试时出现问题:AttributeError: ‘Upsample‘ object has no attrib
    在使用YOLOV5训练好模型测试时出现问题:AttributeError:‘Upsample’objecthasnoattribute'recompute_scale_factor’的快速解决方法。解决方法一:有些博主说降低torchhe和torchvision版本,比如上图所示我的torch版本1.11.0torchvision版本0.10.2,torch版本降低到版本1.9.1,torc......
  • 【pytorch】从零开始,利用yolov5、crnn+ctc进行车牌识别
    笔者的运行环境:python3.8+pytorch2.0.1+pycharm+kaggle用到的网络框架:yolov5、crnn+ctc项目地址:GitHub-WangPengxing/plate_identification:利用yolov5、crnn+ctc进行车牌识别1.写在开始之前在学习过目标检测和字符识别后想用yolov5、crnn+ctc做一个车牌识别项目,本意是参......