code: def on_load_checkpoint(self, checkpoint):
      if self.fault_tolerant:
          self.fast_forward_epochs = checkpoint["loops"]["fit_loop"][
              "epoch_progress"
          ]["current"]["completed"]
          # TD [2022-08-07] ['epoch_loop.batch_progress']['total']['completed'] is 1 iteration
          # behind, so we're using the optimizer's progress. This is set correctly in seq.py.
          self.fast_forward_batches = checkpoint["loops"]["fit_loop"][
              "epoch_loop.batch_progress"
          ]["current"]["completed"]
  
imports: from itertools import chain
  from pathlib import Path
  import pickle
  from typing import Any, List, Union
  import subprocess
  import mmap
  from multiprocessing.shared_memory import SharedMemory
  import numpy
  import torch
  from torch.utils.data.dataloader import DataLoader, Dataset
  from transformers import AutoTokenizer
  from datasets import load_dataset
  from pytorch_lightning import LightningDataModule
  from src.datamodules.datasets.lm_dataset import LMDataset
  from src.datamodules.fault_tolerant_sampler import RandomFaultTolerantSampler
  from src.datamodules.fault_tolerant_sampler import FaultTolerantDistributedSampler
  from src.datamodules.datasets.detokenizer import DATASET_TOKENIZATION_REGISTRY
  from src.utils.utils import get_logger
label_desc: Use image node_id 12 for calling the LMDataModule obj's underlying member method code with example usage: obj.on_load_checkpoint(checkpoint) without return types