Hi InnovArul! Thank you for your response. Well, it looks like your example is working:
self.weight is changing.
self.weight.grad is not None and changing as well.
self.kernel itself is changing as expected as well upon closer inspection.
Thank you so much.