How to reset model weights to effectively implement crossvalidation?

You could call .reset_parameters() on all child modules:

model = LSTMModel(1, 1, 1, 1)
for name, module in model.named_children():
    print('resetting ', name)
    module.reset_parameters()