Eric-mingjie / network-slimming

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

gamma参数相关问题 #51

Open zhongqiqianga opened 4 years ago

zhongqiqianga commented 4 years ago

请问我以后提取出gamma参数,其中一部分是小于0的,如果裁剪的话,我是裁剪靠近0的通道还是按大小顺序裁剪小的呢

Eric-mingjie commented 4 years ago

https://github.com/Eric-mingjie/network-slimming/blob/master/vggprune.py#L60 按绝对值大小进行裁剪,远离0的通道优先被裁剪

zhongqiqianga commented 4 years ago

不应该是靠近0的通道优先被裁剪吗

Eric-mingjie commented 4 years ago

sorry, 说错了,靠近0 的优先被裁剪

YuQi9797 commented 4 years ago

大佬,关于论文本身我有个关于其损失函数 γ 引入的问题,我想问下这个用的是BN中的 γ 参数,进行裁剪。 这个 γ 它其实是一个向量吧,对应的分量个数就是通道数是把? 所以对γ进行取绝对值。 给定对应thre_index的地方为阈值,然后<该阈值的给裁剪掉,是吧?

第二个问题是:

m.weight.grad.data.add_(args.s * torch.sign(m.weight.data))  # L1

这里的args.s 是干嘛的呀? 注释写的是尺度稀疏率(默认:0.0001),但我还是不太懂这个意思。 是损失函数中的λ参数吗? 用于平衡损失函数和γ引起的L1损失。

Eric-mingjie commented 4 years ago

这个 γ 它其实是一个向量吧,对应的分量个数就是通道数是把? 是的

所以对γ进行取绝对值。 给定对应thre_index的地方为阈值,然后<该阈值的给裁剪掉,是吧? 是的

是损失函数中的λ参数吗? 用于平衡损失函数和γ引起的L1损失。 是的