The second one does not update because the call to nn.Parameter() breaks the graph as well.
Re-read my answer: you need to del net2.weigh before-hand (just after creating the model) and then you will be able to assign it a Tensor that requires gradients.