talebolano / yolov3-network-slimming

yolov3 network slimming剪枝的一种实现
345 stars 93 forks source link

关于稀疏化训练时的损失函数 #17

Closed evercherish closed 5 years ago

evercherish commented 5 years ago

注意到 updateBN() 函数里权值更新是: add(torch.sign(m.weight.data)), 这个地方有点没大看明白,为啥不是add(torch.abs(m.weight.data))啊? 感觉自己有些没参透论文,烦请大佬们帮忙解释一下啊,多谢多谢

violet17 commented 5 years ago

求导。。。。 m.weight.grad.data.add_(s*torch.sign(m.weight.data)) 加到grad上去,所以用的是sign。。。。也就是|x|的导数。。。。

evercherish commented 5 years ago

求导。。。。 m.weight.grad.data.add_(s*torch.sign(m.weight.data)) 加到grad上去,所以用的是sign。。。。也就是|x|的导数。。。。

啊,恍然大悟,感谢感谢!!!