ZouJiu1 / LSQplus

LSQ+ or LSQplus
57 stars 14 forks source link

关于scale参数是否学习的问题 #1

Closed Joejwu closed 2 years ago

Joejwu commented 2 years ago

你好,感谢你的开源工作; 我直接用了一下你的代码运行了一下,选择的是lsq v1版本的,可以看到你的scale参数都是在量化器forward的时候用nn.parameter处理的,但是你的trains.py中给optimizer添加参数组时,你是用的所有需要梯度的参数,这个时候并没有将量化器的scale参数囊括进去,这也就直接导致后面训练的时候scale参数将一直是常量,并没有通过训练进行学习; 尽管在forward中将scale参数给nn.parameter处理了,但是这些参数正如前面所说没有添加到optimizer中,所以相当于这部分参数没有添加到计算图中;

如果我的理解有误的话,请及时告知,谢谢!

ZouJiu1 commented 2 years ago

I fixed it, you can try it again, torch.nn.Parameter add parameters to autograd automaticly.

Joejwu commented 2 years ago

Great! I'll try it!