yolov5剪枝开源分享

剪枝分软剪枝和硬剪枝,软剪枝的概念来源于Soft Filter Pruning (SFP)这篇论文,下图阐述了软剪枝(SFP)硬剪枝(Hard Filter Pruning,HFP)的区别,它们的不同点是HFP在每个epoch后会将卷积核直接剪掉,被剪掉的卷积核在下一个epoch中不会再出现,而SFP在每个epoch后,会将需要剪枝的卷积核仍然保留,只是将其参数置为0,依旧参与下一轮的迭代更新,在所有的epoch循环结束后再进行权重修剪。

剪枝之后,模型变小了4m多,但是cpu速度640*640 150ms。

https://github.com/ZJU-lishuang/yolov5_prune

slim_prune_yolov5s.py 剪枝:
    def prune_and_eval(model, CBL_idx, CBLidx2mask):
        model_copy = deepcopy(model)

        for idx in CBL_idx:
            # bn_module = model_copy.module_list[idx][1]
          

你可能感兴趣的:(深度学习宝典,yolo,剪枝)