Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

关于compute_rate、秩的计算顺序的问题 #15

Open
Menace-Dragon opened this issue Jan 19, 2021 · 8 comments
Open

关于compute_rate、秩的计算顺序的问题 #15

Menace-Dragon opened this issue Jan 19, 2021 · 8 comments

Comments

@Menace-Dragon
Copy link

您好!我有两个问题:

  1. compress_rate是指每层的保留率吗,还是指的是每层要删掉的比例呢?
  2. 是在开始剪枝前仅计算一次各卷积层的平均秩,还是每层剪枝完后计算下一个卷积层的平均秩呢(比如第1层剪完了,然后我才计算第2层的平均秩;然后再剪第2层,再计算第3层的平均秩......)?
@Menace-Dragon
Copy link
Author

不好意思标题打错了,是compress_rate

@lmbxmu
Copy link
Owner

lmbxmu commented Jan 20, 2021

您好!我有两个问题:

  1. compress_rate是指每层的保留率吗,还是指的是每层要删掉的比例呢?
  2. 是在开始剪枝前仅计算一次各卷积层的平均秩,还是每层剪枝完后计算下一个卷积层的平均秩呢(比如第1层剪完了,然后我才计算第2层的平均秩;然后再剪第2层,再计算第3层的平均秩......)?
  1. 删掉比例
  2. 剪枝前仅计算一次各卷积层的平均秩

@Menace-Dragon
Copy link
Author

感谢!再次叨扰您,我又有了新的问题:

  1. vgg16的压缩率和flops以及参数量和readme种给的不对应?(vgg16的compress_rate [0.95]+[0.5]*6+[0.9]*4+[0.8]*2,readme给的是Flops=105.61M和Params=2.64M,但是好像不对应,和我算出来的不对应)

  2. 是每剪一层就微调一次,还是将所有层剪完之后只微调一次?如果是前者,那么在剪枝前仅计算一次各卷积层的平均秩会不会有偏差呢?

@lmbxmu
Copy link
Owner

lmbxmu commented Jan 20, 2021

  1. 没有吧。计算代码我们都提供的好好的,自己详细阅读我们的说明
  2. 一层一微调。 都剪完再调参考 https://github.com/lmbxmu/HRankPlus

@NCHU-zhoucheng
Copy link

老师,您好!我想请问下,HRank在对不同的网络模型进行剪枝时,每层的剪枝比例是如何确定的?是数学方法的计算结果,还是通过参数调整试错得出的?

@liuhao-97
Copy link

感谢!再次叨扰您,我又有了新的问题:

  1. vgg16的压缩率和flops以及参数量和readme种给的不对应?(vgg16的compress_rate [0.95]+[0.5]*6+[0.9]*4+[0.8]*2,readme给的是Flops=105.61M和Params=2.64M,但是好像不对应,和我算出来的不对应)
  2. 是每剪一层就微调一次,还是将所有层剪完之后只微调一次?如果是前者,那么在剪枝前仅计算一次各卷积层的平均秩会不会有偏差呢?

针对你的第一个问题,我算的也不是2.64M,是2.92M,还记得吗你算得是多少

@Menace-Dragon
Copy link
Author

感谢!再次叨扰您,我又有了新的问题:

  1. vgg16的压缩率和flops以及参数量和readme种给的不对应?(vgg16的compress_rate [0.95]+[0.5]*6+[0.9]*4+[0.8]*2,readme给的是Flops=105.61M和Params=2.64M,但是好像不对应,和我算出来的不对应)
  2. 是每剪一层就微调一次,还是将所有层剪完之后只微调一次?如果是前者,那么在剪枝前仅计算一次各卷积层的平均秩会不会有偏差呢?

针对你的第一个问题,我算的也不是2.64M,是2.92M,还记得吗你算得是多少

啊,params我手算的是0.702755 M;然后我用pytorch扩展的“thop”库的profile函数算的是0.70M(精度不同)

@PeiqinSun
Copy link

  1. 这个repo里面的确vgg16_bn算的和readme不一致. 原因是代码: https://github.com/lmbxmu/HRankPlus/blob/master/cal_flops_params.py#L36 我理解是少了最后一层的剪枝和fc计算量增加导致计算不一致.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants