zongxin1993 / YOLOX_pruning

YOLOX model prune
MIT License
25 stars 5 forks source link

请问该方法支持YOLOX-nano的剪枝吗? #3

Open floweryzhao opened 2 years ago

floweryzhao commented 2 years ago

请问该方法支持YOLOX-nano的剪枝吗?想在nano模型上进行剪枝,是否需要改动您这边的代码呢?

zongxin1993 commented 2 years ago

nano 已经很轻了不用剪了

floweryzhao commented 2 years ago

好的,还想请问您一下,您yolox-l剪枝完有多少参数呢?您这段代码是否支持像yolo-s,yolox-m和yolo-tiny的剪枝呢?

zongxin1993 commented 2 years ago

好的,还想请问您一下,您yolox-l剪枝完有多少参数呢?您这段代码是否支持像yolo-s,yolox-m和yolo-tiny的剪枝呢?

训练不同的模型。yolox是通过重新exp 实现的,你可以试试换了sample 下的my_hand_voc_l,py ,然后指定depth ,width 和数据集 为自己想要的试一下,我再写prun model的时候是支持设置这两个参数的,但是我没试过,可能会有问题。

zongxin1993 commented 2 years ago

好的,还想请问您一下,您yolox-l剪枝完有多少参数呢?您这段代码是否支持像yolo-s,yolox-m和yolo-tiny的剪枝呢?

正常应该是支持s m tiny 剪枝的,需要更改参数就可以,剪完后还剩参数是通过设置剪枝率正向相关的,剪枝后=原始参数剪枝率,具体可以自己设置,在prune.py 中的 这句话 thresh_index = int(len(prune_bn_weights) 0.2)), 通过0.2 调节的,实际剪枝率是 prune_ratio, prune_mask_dict = obtain_filters_mask(prune_bn_dict, thresh),这个函数决定的

floweryzhao commented 2 years ago

好的,谢谢,我去试一试先,后面有问题的话可能还需要您这边的帮助= =

floweryzhao commented 2 years ago

好的,还想请问您一下,您yolox-l剪枝完有多少参数呢?您这段代码是否支持像yolo-s,yolox-m和yolo-tiny的剪枝呢?

正常应该是支持s m tiny 剪枝的,需要更改参数就可以,剪完后还剩参数是通过设置剪枝率正向相关的,剪枝后=原始参数剪枝率,具体可以自己设置,在prune.py 中的 这句话 thresh_index = int(len(prune_bn_weights) 0.2)), 通过0.2 调节的,实际剪枝率是 prune_ratio, prune_mask_dict = obtain_filters_mask(prune_bn_dict, thresh),这个函数决定的

我现在这边已经剪枝完成并重新训练了,但是最后l和s模型的剪枝结果的mAP直接就是0了,训练不起来。然后tiny模型剪完再训练的mAP也只有0.011,请问这是什么原因造成的呢?应当怎样去改善呢? 还有您写的这套程序的稀疏训练和剪枝的策略是什么样的呢?我想去学习一下

gaozheng-tech commented 2 years ago

好的,还想请问您一下,您yolox-l剪枝完有多少参数呢?您这段代码是否支持像yolo-s,yolox-m和yolo-tiny的剪枝呢?

正常应该是支持s m tiny 剪枝的,需要更改参数就可以,剪完后还剩参数是通过设置剪枝率正向相关的,剪枝后=原始参数剪枝率,具体可以自己设置,在prune.py 中的 这句话 thresh_index = int(len(prune_bn_weights) 0.2)), 通过0.2 调节的,实际剪枝率是 prune_ratio, prune_mask_dict = obtain_filters_mask(prune_bn_dict, thresh),这个函数决定的

我现在这边已经剪枝完成并重新训练了,但是最后l和s模型的剪枝结果的mAP直接就是0了,训练不起来。然后tiny模型剪完再训练的mAP也只有0.011,请问这是什么原因造成的呢?应当怎样去改善呢? 还有您写的这套程序的稀疏训练和剪枝的策略是什么样的呢?我想去学习一下

您好请问这个问题解决了么?

floweryzhao commented 2 years ago

好的,还想请问您一下,您yolox-l剪枝完有多少参数呢?您这段代码是否支持像yolo-s,yolox-m和yolo-tiny的剪枝呢?

正常应该是支持s m tiny 剪枝的,需要更改参数就可以,剪完后还剩参数是通过设置剪枝率正向相关的,剪枝后=原始参数剪枝率,具体可以自己设置,在prune.py 中的 这句话 thresh_index = int(len(prune_bn_weights) 0.2)), 通过0.2 调节的,实际剪枝率是 prune_ratio, prune_mask_dict = obtain_filters_mask(prune_bn_dict, thresh),这个函数决定的

我现在这边已经剪枝完成并重新训练了,但是最后l和s模型的剪枝结果的mAP直接就是0了,训练不起来。然后tiny模型剪完再训练的mAP也只有0.011,请问这是什么原因造成的呢?应当怎样去改善呢? 还有您写的这套程序的稀疏训练和剪枝的策略是什么样的呢?我想去学习一下

您好请问这个问题解决了么?

有一些小进展,你要不留个联系方式,咱俩讨论一下

ASDF623 commented 2 years ago

好的,还想请问您一下,您yolox-l剪枝完有多少参数呢?您这段代码是否支持像yolo-s,yolox-m和yolo-tiny的剪枝呢?

正常应该是支持s m tiny 剪枝的,需要更改参数就可以,剪完后还剩参数是通过设置剪枝率正向相关的,剪枝后=原始参数剪枝率,具体可以自己设置,在prune.py 中的 这句话 thresh_index = int(len(prune_bn_weights) 0.2)), 通过0.2 调节的,实际剪枝率是 prune_ratio, prune_mask_dict = obtain_filters_mask(prune_bn_dict, thresh),这个函数决定的

我现在这边已经剪枝完成并重新训练了,但是最后l和s模型的剪枝结果的mAP直接就是0了,训练不起来。然后tiny模型剪完再训练的mAP也只有0.011,请问这是什么原因造成的呢?应当怎样去改善呢? 还有您写的这套程序的稀疏训练和剪枝的策略是什么样的呢?我想去学习一下

您好请问这个问题解决了么?

有一些小进展,你要不留个联系方式,咱俩讨论一下

我也遇到这个问题了,请问下怎么解决呢?换成s之后,训练的map非常低。

lizexu123 commented 2 years ago

image 请问d大佬们遇见过这个问题吗