基于yolov5的知识蒸馏实战源码
知识蒸馏是提升网络性能的方法,通过一个教师网络指导学生网络的学习,将教师网络学习到的知识迁移到学生网络上。
整个项目包括:
1. 完整知识蒸馏原理教程及环境配置说明
2. 提供完整的数据及处理代码
3.提供完整的yolov5蒸馏代码
只要按照教程说明操作,就能理解蒸馏代码并掌握
整个知识蒸馏代码包括:
1. 完整知识蒸馏原理教程及环境配置说明
2. 提供完整的数据及处理代码
3.提供完整的yolov5蒸馏代码
只要按照教程说明操作,就能理解蒸馏代码并掌握
项目博客:https://bangbang.blog.csdn.net/article/details/126065848
Tensorrt部署方案
1. 如何正确导出onnx
2. 动态bath和宽高
3. 自定义插件
4. 高性能低耦合部署方案
基于Tensorrt的yolov5 实例分割源码
代码包括
- 1. onnx转 tensorrt engine
- 2. 基于engine 的模型推理
- 3. 测试的模型文件
各种卷积计算性能对比(Conv,DwConv,GhostConv,PConv,DSConv,DCNV)
各种卷积计算性能对比(Conv,DwConv,GhostConv,PConv,DSConv,DCNV),包括推理时间,GFlops,FPS
基于yolov5的PTQ和QAT量化完整代码
1. quant_flow_ptq_int8.py是PTQ int8量化脚本
2. quant_flow_qat_int8.py 是QAT int8量化脚本
3. quant_flow_ptq_sensitive_int8.py 是敏感层分析的脚本
模型量化校准代码: max,histogram,entropy
模型量化校准代码: max,histogram,entropy
基于ncnn部署yolov5及量化
文件中包括以下内容:
1. yolov5 转ncnn的权重文件
2. ncnn的依赖库
3. 完整的源代码
图像分割FCN算法的源码及项目实战
图像分割FCN算法的源码及项目实战
1. 项目博客: https://blog.csdn.net/weixin_38346042/article/details/128719053?spm=1001.2014.3001.5502
模拟TensorRT int8量化代码
模拟了2个conv的8bit量化工作
基于YOLOv7的人体姿态估计讲解及源码
YOLOv7是YOLO家族中第一个包含人体姿态估计模型的。
YOLOX原理及无人机检测项目实战源码
利用自定义无人机数据集训练YOLOX
数据修改
搭建YOLOX训练环境
使用Conda创建虚拟环境
安装Jupyter和ipykernel
克隆YOLOX GitHub库
安装依赖包
自定义数据集训练
YOLOX推理测试效果
结论
模型轻量化-YOLOv5无损剪枝
运行顺序:
1. 原始训练,得到一个最优mAP等评价指标
2.通过调整BN稀疏值sr,运行train_sparity.py稀疏训练得到一个稍微小的模型
3. 将训练好的last.pt 放到prune.py 中进行剪枝,控制剪枝率;
4. Finetune得到最优模型
基于yolov5的目标检测和双目测距源码
包括:
1.yolov5 +sgbm算法集成
2. C++实现sgbm
3.python 实现sgbm
4. jetson tensort 部署
项目参考博客:https://blog.csdn.net/weixin_38346042/article/details/126807379?spm=1001.2014.3001.5501
pytorch多GPU并行训练教程及源码
多GPU启动指令说明:
1.如果要使用train_multi_gpu_using_launch.py脚本,使用以下指令启动
python -m torch.distributed.launch --nproc_per_node=8 --use_env train_multi_gpu_using_launch.py其中nproc_per_node为并行GPU的数量
基于yolov5的模型剪枝项目实战源码
对yolov5s进行稀疏化训练并剪枝,模型参数下降80%,mAP精度几乎不受影响
makefile从入门到项目编译实战
参考B站视频: https://www.bilibili.com/video/BV1Xt4y1h7rH/?p=3&spm_id_from=333.880&vd_source=d817bda3198969666552c553deaea683
利用SGBM算法进行双目测距
利用SGBM算法进行双目测距
图像分类MobileNet系列源代码:v1-v3
完整的MobileNet v1-v3的源代码,包括模型脚本、训练以及预测脚本。并有完整的博客介绍:
1. MobileNet系列(1) :MobileNet V1网络详解:https://blog.csdn.net/weixin_38346042/article/details/125329726?spm=1001.2014.3001.5501
2. MobileNet系列(2):MobileNet-V2 网络详解:https://blog.csdn.net/weixin_38346042/article/details/125355111?spm=1001.2014.3001.5501
3.MobileNet系列(4):MobileNetv3网络详解:https://blog.csdn.net/weixin_38346042/article/details/125470446?spm=1001.2014.3001.5501
深度学习图像分类花朵数据集
包括四类花朵:daisy 、dandelion、roses、sunflowers
### 使用步骤如下:
* (1)在data_set文件夹下创建新文件夹"flower_data"
* (2)点击链接下载花分类数据集 [http://download.tensorflow.org/example_images/flower_photos.tgz](http://download.tensorflow.org/example_images/flower_photos.tgz)
* (3)解压数据集到flower_data文件夹下
* (4)执行"split_data.py"脚本自动将数据集划分成训练集train和验证集val
```
├── flower_data
├── flower_photos(解压的数据集文件夹,3670个样本)
├── train(生成的训练集,3306个样本)
└── val(生成的验证集,364个样本)
```
车道线Bev模型学习文档
车道线Bev模型学习文档
yolov5 剪枝和量化,代码一键运行
1. 通过剪枝压缩了70%以上,几乎不影响精度
2. 提供量化感知训练的代码及tensorrt部署的代码
MIOU涨5.6个点:语义分割知识蒸馏源码
教师模型Deeplab-V3 + (ResNet-101) miou为77.85
学生模型Deeplab-V3 + (ResNet-18) miou为67.5
经过蒸馏后,学生模型Deeplab-V3 + (ResNet-18) miou提升5.6个点,达到73.09。
比Student + LAD 和Student + CIRKD高大概2个点,比Student + DistKD高三个点
本项目提供的蒸馏方法,代码简单易用。
yolov8 剪枝源码(集成多种剪枝策略)
支持以下的剪枝方法,代码一键运行,并配有md文档说明:
(1) lamp 剪枝
(2) slimming 剪枝
(3) group slimming 剪枝
(4) group hessian 剪枝
(5) Taylor 剪枝
(6)Regularization 剪枝 等等
yolov8 多任务(目标检测+可行驶区域分割+车道线分割)
(1)开发了一个轻量级模型,能够将三个任务集成到一个统一模型中。这对于需要实时处理的多任务特别有利。
(2)设计了一个轻量级、简单且通用的分割头。对于同一类型的任务头,我们有统一的损失函数,这意味着我们不需要针对特定任务进行定制设计。它仅由一系列卷积层构建。
yolov8 PTQ和QAT量化源码
1.使用pytorch_quantization对yolov8进行量化: 包括ptq量化、敏感层分析、qat量化
2.修改ptq、qat、敏感层分析配置参数后直接运行 python yolov8_ptq_int8.py
其中:
(1) quant_flow_ptq_int8.py是PTQ int8量化脚本
(2) quant_flow_qat_int8.py 是QAT int8量化脚本
(3)quant_flow_ptq_sensitive_int8.py 是敏感层分析的脚本
yolov8 知识蒸馏源码
1. 本项目支持多种蒸馏方式,并对蒸馏代码进行详解,比较容易上手。支持 logit和 feature-based蒸馏以及在线蒸馏:
(1)在线蒸馏
(2)logit 蒸馏
(3)mimic 特征蒸馏
(4)cwd: channel-wise distillation 特征蒸馏
(5)mgd: masked generative distillation 特征蒸馏
2. 代码通俗易懂,易于掌握
YOLO 知识蒸馏学习及落地部署(v5和v8)
CWD、MGD、以及Mimic异构蒸与自蒸馏随便选择
项目支持yolov5,yolov8 的知识蒸馏;
OTA, 解耦头的灵活配置
SOTA 跟踪论文:BoTSORT-OCSORT-StrongSORT
等
SOTA 目标跟踪论文,精度这几篇就够够的了
(1)BoTSORT
(2)OCSORT|
(3)StrongSORT
(4)HybridSORT
(5)DeepOCSORT
(6)ByteTrack
yolov8 tracking支持deepocsort、strongsort、bytetrack、botsort等各类跟踪器
1. 项目支持各类SOTA多目标跟踪器,包括BoTSORT、DeepOCSORT、OCSORT、HybirdSORT、ByteTrack、StrongSORT
2. 项目支持分割、检测、姿态估计的实时跟踪Tracking
3. 项目不仅支持yolov8,还集成了包括集成了yolo-nas、yolox、yolov8-pose等检测、分割、姿态估计模型来
Yolo v1-v8 改进点汇总
Yolo v1-v8 改进点汇总
mmsegmentation中文文档
MMSegmentation是openmmlab项目下开源的图像语义分割框架,目前支持pytorch,由于其拥有pipeline加速,完善的数据增强体系,完善的模型库,作为大数据语义分割训练及测试的代码框架是再好不过了。
零基础掌握yolov8剪枝
Before Pruning: MACs=129.092051 G, #Params=68.229648 M
After Pruning: MACs=41.741203 G, #Params=20.787528 M
车道线UFLD-v2落地量化部署代码
1. UFLD系列的车道线检测算法一直以来都是速度和精度的完美均衡而著称
2. 代码包括了全流程的算法落地方案,包括:
(1)Int8的模型量化
(2)基于TensorRT来部署int8量化模型
(3)同时也适配FP32和FP16模型
单目3D SMOKE PTQ量化代码
1. 单目3D SMOKE PTQ量化精度几乎无损
2. 工业级量化方法
BevDet的PTQ量化代码
1. 环视BEV 3D目标检测算法int8量化
2. BevDet的PTQ int8 量化,精度几乎无损
yolov7 ptq和qat训练及tensorrt部署
内容包括:
(1) yolov7 的ptq和qat 的python 训练脚本
(2) 提供完整的基于tensort 的c++ 部署代码
(3) 详细的代码注释,帮助理解代码
labelme 分割转换(voc coco) 及可视化
- labelme2coco.py
- labelme2voc.py
- labelme2voc_obj.py
yolov7旋转目标检测完整代码
markdown有详细的代码使用说明,可以很容易运行代码
1. 提供检测的数据集
2. 支持各类数据增强
3. 支持TensorRT部署
4. 支持多GPU训练及单GPU或CPU训练
yolov8s模型进行剪枝源码
实现步骤:
1. yolov8s模型预训练
2. 模型稀疏化sparsity
3.剪枝
4. finetune
经过键枝后,finetune60个epoch达到原模型迭代52个epoch的mAP值0.78,模型的大小减少了2/5。