Are there any draw backs to using nn.Lazy* modules? I had considered using the first option, but if I’m initialising a module in the forward won’t that be resetting the weights each time it’s called?
def forward(self,x):
y = nn.Conv2d(x)

init_rnn(input_shape = y.shape)

out = rnn(y)
return out