赞
踩
参考论文:Learning Efficient Convolutional Networks through Network Slimming(https://arxiv.org/pdf/1708.06519.pdf)
基本原理:利用BN层中的缩放因子γ来控制通道的重要性,设置合适的阈值减掉不那么重要的通道,从而实现网络的轻量化,一般为了恢复模型的精度,会在剪枝训练之后进行微调训练。这个过程可以重复多次,直到获得满意的模型。
在yolov5上进行剪枝训练,流程如下:
1、正常训练
和yolov5的正常训练一样
2、稀疏化训练
新建train_sparse.py,复制train.py的代码,需要改动反向传播、优化器,添加稀疏化因子和稀疏化可视化
# Backward
# scaler.scale(loss).backward()
loss.backward()
# # ===========
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。