📙
UAV-LODBoost
  • 👋主页
  • INTRODUCTION
    • 💡更新日志
    • ✨相关工作
  • QUICK START
    • ⚙️安装依赖
    • 📦数据准备
  • USER GUIDE
    • ✏️数据扩充与样本筛选
    • 📎训练YOLO模型
      • 超参数介绍
      • 冻结与解冻训练
      • 开始训练
    • 🔌添加注意力机制
    • 🔍半监督自训练
    • 🔦目标跟踪
    • 🪡模型轻量化
      • 剪枝
      • 知识蒸馏
  • EXAMPLE USAGE
    • 🖥️无人机视角目标检测实验
    • 🛠️Getting set up
      • 📝Setting permissions
      • 🧑Inviting Members
    • 🎨For Designers
Powered by GitBook
On this page
  • YOLOv7目标检测
  • ByteTrack目标跟踪
  • BotSort目标跟踪
  • DepGraph剪枝
  • 蒸馏
  1. INTRODUCTION

相关工作

Previous更新日志Next安装依赖

Last updated 2 years ago

GitBook tip: A succinct video overview is a great way to introduce folks to your product. Embed a Loom, Vimeo or YouTube video and you're good to go! We love this video from the fine folks at Loom as a perfect example of a succinct feature overview.

YOLOv7目标检测

Get amazing things done with awesome feature one. But remember that awesome feature two and three exist too. In fact, Awesome Product is full of awesome features.

ByteTrack目标跟踪

Get amazing things done with awesome feature two. But remember that awesome feature one and three exist too. In fact, Awesome Product is full of awesome features.

BotSort目标跟踪

DepGraph剪枝

由于特征图的不同通道会含有冗余信息,该部分的卷积计算并没有对目标检测提供有效地帮助,因此我们使用DepGraph剪枝[1]对模型进行压缩,将其裁剪可以进一步减少模型计算量。该方法的核心是估计依赖图(DepGraph),它显式地模拟神经网络中成对层之间的相互依赖性。我们引入DepGraph进行结构修剪的动机源于观察到:一层的结构修剪有效地“触发”相邻层的修剪,从而进一步导致连锁效应。因此,为了跟踪不同层之间的相互依赖关系,我们可以将依赖链分解为递归过程,这自然归结为寻找图中最大连接组件的过程,并且可以通过图遍历以O(N)的复杂度来解决。具体来说,对于网络中待剪枝层,我们可以将其作为根,在相邻耦合层上触发剪枝,然后继续以被触发层为起点,递归重复触发过程。这样就可以全面收集所有的耦合层进行剪枝。同时,由于单个层中的参数重要性由于与其他参数化层的纠缠而不再显示正确的重要性。在不同层上估计的重要性很可能是非相加的,有时甚至是自相矛盾的,这使得很难选择真正不重要的组进行修剪。为了解决这个问题,我们充分利用由DepGraph提供支持的依赖建模的综合能力来学习组内一致的稀疏性,以便可以安全地删除那些被归零的组,而不会造成太多的性能下降。通过依赖性建模,该方法在实验中表明,一个简单的L1规范准则可以达到与现代方法相当的性能。

特性:

  1. 结构化(通道)剪枝: 支持CNNs, Transformers,各类检测器以及语言模型

  2. 高级剪枝器(High-level pruners): MagnitudePruner, BNScalePruner, GroupNormPruner (论文所使用的组剪枝器), RandomPruner等

  3. 支持计算图构建和依赖建模

  4. 支持的基础模块: Conv, Linear, BatchNorm, LayerNorm, Transposed Conv, PReLU, Embedding, MultiheadAttention, nn.Parameters and 自定义层(customized modules)

  5. 支持的操作: split, concatenation, skip connection, flatten, reshape, view, all element-wise ops等

  6. 底层剪枝函数 (Low-level pruning functions)

蒸馏

✨