I have multiple trained LSTM models on different data. I save them as below.
save_checkpoints({
                'num_epochs': epoch,
                'num_hidden': number_hidden,
                'num_cells': number_cells,
                'device': device,
                'state_dict': model.state_dict()}, <ckpt_file>)


def save_checkpoints(state, file_name):
    torch.save(state, file_name)

When I load multiple models one after another with below method only first gives expected results on the test, others fail. But when I load them individually test gives expected results.
    checkpoint = torch.load(<ckpt_file>)
    _epochs = checkpoint['num_epochs']
    num_hidden = checkpoint['num_hidden']
    num_cells = checkpoint['num_cells']
    dev = checkpoint['device']
    seq1 = Seq2seq(num_hidden=num_hidden, num_cells=num_cells, device=dev)
    seq1.load_state_dict(checkpoint['state_dict'])
    seq1.to(seq1.device)
    seq1.eval()

I don’t understand why loading multiple models one after another does not work. I am running out of ideas.