Torch-Pruning
Torch-Pruning copied to clipboard
yolov8剪枝例子问题?
大佬!yolov8剪枝例子,我看没有发现稀疏化训练,那剪枝的依据是什么?没有稀疏化训练怎么可以直接剪枝,然后再训练。是不是例子不完善,需要自己去稀疏化训练么?不是很理解。
base_macs, base_nparams = tp.utils.count_ops_and_params(model.model, example_inputs)
for g in pruner.step(interactive=True):
g.prune()
pruned_macs, pruned_nparams = tp.utils.count_ops_and_params(pruner.model, example_inputs)
print(model.model)
print("Before Pruning: MACs=%f G, #Params=%f M" % (base_macs / 1e9, base_nparams / 1e6))
print("After Pruning: MACs=%f G, #Params=%f M" % (pruned_macs / 1e9, pruned_nparams / 1e6))
# Fine-tuning (Post-training)
# Please replace the coco128.yaml with coco.yaml and choose an appropriate learning rate for finetuning
# This part works properly but the final performance has not been validated yet
model.train(data='coco128.yaml', epochs=100, imgsz=640)
我在yolov8 加入trainer.py self.pruner.regularize(self.model,self.loss)是不是就可以稀疏化训练了 if ni - last_opt_step >= self.accumulate: if self.pruner is not None: self.pruner.regularize(self.model,self.loss) self.optimizer_step()
您好,直接剪枝+Post-training也是可以的哈,稀疏训练的代价和难度实际上也不小。个人感觉做应用的话,直接剪枝比稀疏再剪更实用一些。
这里的yolo8 pruning只是个极简的例子,如果要稀疏训练确实需要修改trainer代码,类似
loss.backward()
self.pruner.regularize(self.model, reg=1e-5) # <- BNScalePruner
self.optimizer.step()
您好!您的邮件已收到,尽快给你回复。谢谢 黄总谋!
您好,直接剪枝+Post-training也是可以的哈,稀疏训练的代价和难度实际上也不小。个人感觉做应用的话,直接剪枝比稀疏再剪更实用一些。
这里的yolo8 pruning只是个极简的例子,如果要稀疏训练确实需要修改trainer代码,类似
loss.backward() self.pruner.regularize(self.model, reg=1e-5) # <- BNScalePruner self.optimizer.step()
明白了,谢谢,我已经进行稀疏化训练了。直接剪枝感觉怪怪的。
您好,直接剪枝+Post-training也是可以的哈,稀疏训练的代价和难度实际上也不小。个人感觉做应用的话,直接剪枝比稀疏再剪更实用一些。 这里的yolo8 pruning只是个极简的例子,如果要稀疏训练确实需要修改trainer代码,类似
loss.backward() self.pruner.regularize(self.model, reg=1e-5) # <- BNScalePruner self.optimizer.step()
明白了,谢谢,我已经进行稀疏化训练了。直接剪枝感觉怪怪的。
Hello hello, 方便问下稀疏化有结果吗?因为我看直接剪枝Detector 的效果普通掉点很厉害,想问下你关于稀疏化后的效果?
您好,直接剪枝+Post-training也是可以的哈,稀疏训练的代价和难度实际上也不小。个人感觉做应用的话,直接剪枝比稀疏再剪更实用一些。 这里的yolo8 pruning只是个极简的例子,如果要稀疏训练确实需要修改trainer代码,类似
loss.backward() self.pruner.regularize(self.model, reg=1e-5) # <- BNScalePruner self.optimizer.step()
明白了,谢谢,我已经进行稀疏化训练了。直接剪枝感觉怪怪的。
Hello hello, 方便问下稀疏化有结果吗?因为我看直接剪枝Detector 的效果普通掉点很厉害,想问下你关于稀疏化后的效果?
你是在群里那位么?我们私聊。
额我没加相关群,可以给个联系方式吗
什么群?麻烦也带我一个👀
求相关群链接
什么群?麻烦也带我一个人👀
其它技术交流群,有人看到我问问题他想知道结果。
求相关群链接
啥连接?
求相关群链接
其它技术交流群,有人看到我问问题他想知道结果。
额我没加相关群,可以给个联系方式吗
其它技术交流群,有人看到我问问题他想知道结果。
咱也可以建一个群多多交流,我去上传个二维码

各位大佬有兴趣可以来多多交流~
重新发一个链接吧 失效了 我也想学习下
是呀,大佬可以再给个链接不?
麻烦移步项目主页,上面的二维码是新的
麻烦移步项目主页,上面的二维码是新的
失效了
您好!您的邮件已收到,尽快给你回复。谢谢 黄总谋!
@huangzongmou 请问直接剪枝和稀疏训练后再剪枝,精度差多少