Solved by ptrblck in post #2 
              
              
                As you said, both codes should work, so that a parameter update in one model does not change the other and vice versa: 
modelA = models.resnet18()
modelB = models.resnet18()
modelA.load_state_dict(modelB.state_dict())

# Compare random parameter
print((modelA.fc.weight == modelB.fc.weight).all())
> …