'Saves current progress to checkpoint.
Use `mx.callback.module_checkpoint` as `epoch_end_callback` to save during training.
Parameters
prefix : str
The file prefix to checkpoint to.
epoch : int
The current epoch number.
save_optimizer_states : bool
Whether to save optimizer states to continue training.'

def save_checkpoint(self, prefix, epoch, save_optimizer_states=False):

    self._symbol.save(('%s-symbol.json' % prefix))
    param_name = ('%s-%04d.params' % (prefix, epoch))
    self.save_params(param_name)
    logging.info('Saved    checkpoint    to    "%s"', param_name)
    if save_optimizer_states:
        state_name = ('%s-%04d.states' % (prefix, epoch))
        self.save_optimizer_states(state_name)
        logging.info('Saved    optimizer    state    to    "%s"', state_name)
