@albanD would both the options below make conv1 and conv2 share same weights?
What I observed is that with option2 when I am updating conv1 it’s not reflected in conv2?
Not sure what is the reason for that
Option1:
class Mymodel1(nn.Module):
def init (self:
super(Mymodel, self). init ()
    self.conv1 = nn.Conv2d(...)
    self.conv2= nn.Conv2d(.....)
    self.conv2.weight = self.conv1.weight

Option2:
class Mymodel2(nn.Module):
def  init (self:
super(Mymodel, self). init ()
    self.conv1 = nn.Conv2d(...)
    self.conv2= nn.Conv2d(...)


mymodel = Mymodel2()
mymodel.conv2.weight = mymodel.conv1.weight
In option2 when I did mymodel.conv2.weight.data = mymodel.conv1.weight  that actually helped to do what I was able to do with option1. But still I am curious why wouldn’t mymodel.conv2.weight =mymodel.conv1.weight won’t work in option2.