My recollection was that this should work - maybe it changed in new versions of pytorch? Which version are you using?
In any case, this is not the ideal way of tackling the problem. What if you modify the code of your class and want to load a model saved with the old code? It will be chaos.
So the best way is to only save the model state dict (which is the collection of the parameters of the model). So you would do something like
model = simple()
trainModel(model)
torch.save(model.state_dict(), 'my_trained_model_weights')

=== New session === 

model = simple()
model.load_state_dict(torch.load('my_trained_model_weights'))