Model parameters are not being updated?

InnovArul and ptrblck.
Thank you so much for your help.
I just wanted to ask why should I use this line self.register_buffer("filter", filter)? and not something like self.filter = nn.Parameter(filter, requires_grad=False)? Why is the latter not correct?
since I looked at a bunch of posts to learn about register_buffer usage but I am new to pytorch and still want to understand deeper:
https://discuss.pytorch.org/t/solved-register-parameter-vs-register-buffer-vs-nn-parameter/31953
https://discuss.pytorch.org/t/what-is-the-difference-between-register-buffer-and-register-parameter-of-nn-module/32723/2
https://discuss.pytorch.org/t/use-and-abuse-of-register-buffer/4128