Open yakexi-cmd opened 1 year ago
感谢您的回复~
https://github.com/jylink/yolov5-pruning/tree/9b039785efa1a6f6323cceb24815fa06fbf01b89
请问这个链接引用了您的depgraph方法,想和您确认一下,这位作者使用的稀疏化方法是不是和您的不一样?我只在里面看到了L1正则化相关内容(utils/loss.py中的sl_loss),似乎并没有找到关于层间一致性稀疏的代码内容
DepGraph和稀疏化是相对独立的两个东西,前者是建模层和层之间依赖的,只负责把依赖找出来,至于怎么稀疏化全看您的算法怎么设计.
请问我是否可以选用Learning Efficient Convolutional Networks through Network Slimming中的稀疏化方法,之后再使用您的Depgraph获取层间依赖关系,将不重要的网络剪掉?您的图4(b)和(c)想表达的意思是不是两者后面剪枝方法的不同?与稀疏化操作无关
请问您的代码是否需要先进行稀疏化训练?还是可以直接使用Depgraph进行离线式的剪枝操作,在离线式操作过程中也包括了一致性稀疏吗?这里还是不太清楚流程,感谢您帮忙解答~
GroupNormPruner和BNScalePruner需要先稀疏,再剪枝; MagnitudePruner可以直接裁剪。
一致性的问题在稀疏训练里才会考虑,就是把一部分耦合的参数同时推到0。
好滴,非常感谢,我再去学习一下您的代码,感谢您的耐心解答~
请问main.py中使用到了pruner.regularize,调用了稀疏化,我查看了regularize函数没有返回值,请问调用regularize函数后,效果是通过什么形式返回的呢?
没有返回值,他直接更新了模型参数的梯度
好滴明白啦,多谢~
请问您的代码是否支持.pt结尾的权重文件训练?还是只能是.pth结尾?
请问作者有关一致性稀疏化训练的代码写在哪个文件夹里了呢? 是不是Learning Efficient Convolutional Networks through Network Slimming中的,也就是图4(b)的稀疏化训练的代码,不可以直接使用? 还是说图4(b)的稀疏化训练可以照常使用,之后在pruning的过程中会对前面稀疏的网络进行一致性操作?