Eric-mingjie / network-slimming

Network Slimming (Pytorch) (ICCV 2017)
MIT License
907 stars 214 forks source link

关于剪枝代码的疑虑 #52

Open Ixuanzhang opened 4 years ago

Ixuanzhang commented 4 years ago

Screenshot from 2020-07-15 01-00-52 你好,针对原来的模型,按照上述代码,仅涉及到了nn.BatchNorm2d、nn.Conv2d、nn.Linear三种情况,并没考虑到m0为Bottleneck的情况,故这样子写,并没有剪枝Bottleneck中的BN层。不知道是我理解错了,还是?

Eric-mingjie commented 4 years ago

请问是哪个文件里的?

Ixuanzhang commented 4 years ago

resprune.py中 第144行开始

Eric-mingjie commented 4 years ago

https://github.com/Eric-mingjie/network-slimming/blob/master/resprune.py#L153

Ixuanzhang commented 4 years ago

我知道那句注释 但因为缺少 elif isinstance(m0, Bottleneck) 我觉得对Bottleneck中的BN层并未作处理
因为当 用您的代码 model = resnet(depth=101, dataset='cifar10') old_modules = list(model.modules()) for layer_id in range(len(old_modules)): m0 = old_modules[layer_id] print(layer_id) print(m0) 结果是: rrr

所以按照我的理解,您写的代码中未考虑Bottleneck中的BN。 可能是我理解错了,望指教!谢谢

Ixuanzhang commented 4 years ago

我发现我理解的有问题 我再详细看一下 谢谢