# 代码地址:
[https://github.com/Sharpiless/yolov5-knowledge-distillation](https://github.com/Sharpiless/yolov5-knowledge-distillation)
<img width="800" src="https://user-images.githubusercontent.com/26833433/98699617-a1595a00-2377-11eb-8145-fc674eb9b1a7.jpg"></a>
# 教师模型:
```bash
python train.py --weights weights/yolov5m.pt \
--cfg models/yolov5m.yaml --data data/voc.yaml --epochs 50 \
--batch-size 8 --device 0 --hyp data/hyp.scratch.yaml
```
# 蒸馏训练:
```bash
python train.py --weights weights/yolov5s.pt \
--cfg models/yolov5s.yaml --data data/voc.yaml --epochs 50 \
--batch-size 8 --device 0 --hyp data/hyp.scratch.yaml \
--t_weights yolov5m.pt --distill
```
# 训练参数:
> --weights:预训练模型
> --t_weights:教师模型权重
> --distill:使用知识蒸馏进行训练
> --dist_loss:l2或者kl
> --temperature:使用知识蒸馏时的温度
使用[《Object detection at 200 Frames Per Second》](https://arxiv.org/pdf/1805.06361.pdf)中的损失
这篇文章分别对这几个损失函数做出改进,具体思路为只有当teacher network的objectness value高时,才学习bounding box坐标和class probabilities。
![](https://github.com/Sharpiless/Yolov5-distillation-train-inference/blob/main/data/images/full_loss.png)
![](https://github.com/Sharpiless/Yolov5-distillation-train-inference/blob/main/data/images/all.png)
# 实验结果:
这里假设VOC2012中新增加的数据为无标签数据(2k张)。
|教师模型|训练方法|蒸馏损失|P|R|mAP50|
|:----|:----|:----|:----|:----|:----|
|无|正常训练|不使用|0.7756|0.7115|0.7609|
|Yolov5l|output based|l2|0.7585|0.7198|0.7644|
|Yolov5l|output based|KL|0.7417|0.7207|0.7536|
|Yolov5m|output based|l2|0.7682|0.7436|0.7976|
|Yolov5m|output based|KL|0.7731|0.7313|0.7931|
![训练结果](https://github.com/Sharpiless/yolov5-distillation-5.0/blob/main/images/line.png)
参数和细节正在完善,支持KL散度、L2 logits损失和Sigmoid蒸馏损失等
## 1. 正常训练:
![正常训练](https://github.com/Sharpiless/yolov5-distillation-5.0/blob/main/images/%E6%AD%A3%E5%B8%B8%E8%AE%AD%E7%BB%83.png)
## 2. L2蒸馏损失:
![L2蒸馏损失](https://github.com/Sharpiless/yolov5-distillation-5.0/blob/main/images/l+l2.png)
# 我的公众号:
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210310070958646.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDkzNjg4OQ==,size_16,color_FFFFFF,t_70)
# 关于作者
> B站:[https://space.bilibili.com/470550823](https://space.bilibili.com/470550823)
> CSDN:[https://blog.csdn.net/weixin_44936889](https://blog.csdn.net/weixin_44936889)
> AI Studio:[https://aistudio.baidu.com/aistudio/personalcenter/thirdview/67156](https://aistudio.baidu.com/aistudio/personalcenter/thirdview/67156)
> Github:[https://github.com/Sharpiless](https://github.com/Sharpiless)
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
<项目介绍> yolov5目标检测模型基于响应的知识蒸馏源码+使用说明 - 不懂运行,下载完可以私聊问,可远程教学 该资源内项目源码是个人的毕设,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 --------
资源推荐
资源详情
资源评论
收起资源包目录
yolov5-knowledge-distillation-main.zip (54个子文件)
yolov5-knowledge-distillation-main
LICENSE 34KB
export.py 8KB
hubconf.py 6KB
utils
__init__.py 0B
google_utils.py 6KB
loss.py 19KB
loggers
__init__.py 6KB
augmentations.py 11KB
flask_rest_api
example_request.py 299B
restapi.py 1KB
README.md 2KB
metrics.py 13KB
aws
__init__.py 0B
userdata.sh 1KB
mime.sh 780B
resume.py 1KB
autoanchor.py 7KB
general.py 28KB
activations.py 4KB
google_app_engine
Dockerfile 821B
app.yaml 173B
additional_requirements.txt 105B
plots.py 18KB
datasets.py 39KB
torch_utils.py 12KB
convert.py 3KB
val.py 16KB
requirements.txt 703B
models
hub
yolov5x6.yaml 2KB
anchors.yaml 3KB
yolov5-p2.yaml 2KB
yolov5-panet.yaml 2KB
yolov5s6.yaml 2KB
yolov3.yaml 2KB
yolov5-p6.yaml 2KB
yolov5-p7.yaml 2KB
yolov5l6.yaml 2KB
yolov5m6.yaml 2KB
yolov3-spp.yaml 2KB
yolov3-tiny.yaml 1KB
yolov5-fpn.yaml 1KB
yolov5s-transformer.yaml 2KB
__init__.py 0B
yolov5m.yaml 1KB
yolov5s.yaml 1KB
yolov5l.yaml 1KB
common.py 16KB
experimental.py 5KB
yolov5x.yaml 1KB
yolo.py 13KB
detect.py 12KB
train.py 30KB
README.md 3KB
distill.py 31KB
共 54 条
- 1
资源评论
Android安卓科研室
- 粉丝: 1612
- 资源: 1186
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 通过路径获取方式创建圆形窗口界面
- 鱼早川 - 无题(姜云升)(翻自 姜云升).mp3
- 小程序版通过CNN卷积神经网络的大米是否变质识别-不含数据集图片-含逐行注释和说明文档.zip
- 小程序版python语言pytorch框架训练识别口罩尺寸是大人佩戴还是小孩佩戴-不含数据集图片-含逐行注释和说明文档.zip
- xac nhan file in.pdf
- 基于PCA主成分分析技术读入空气质量监测数据进行数据预处理.zip
- 小程序版python训练识别樱桃成熟度-不含数据集图片-含逐行注释和说明文档.zip
- 小程序版CNN图像分类识别香蕉新鲜度-不含数据集图片-含逐行注释和说明文档.zip
- 小程序版基于深度学习AI算法对香蕉是否腐烂识别-不含数据集图片-含逐行注释和说明文档.zip
- 小程序版基于人工智能的卷积网络训练识别菠萝新鲜度-不含数据集图片-含逐行注释和说明文档.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功