<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def load(self, train_info: TrainingInfo) -> (dict, dict):
 """ Resume learning process and return loaded hidden state dictionary """

        last_epoch = train_info.start_epoch_idx

        model_state = torch.load(self.checkpoint_filename(last_epoch))
        hidden_state = torch.load(self.checkpoint_hidden_filename(last_epoch))

        self.checkpoint_strategy.restore(hidden_state)
        train_info.restore(hidden_state)

        return model_state, hidden_state