code: def setup_training_data(self, cfg):
      if hasattr(self, "_train_ds") and self._train_ds is not None:
          consumed_samples = self.compute_consumed_samples(0)
          logging.info(
              f"Setting up train dataloader with len(len(self._train_ds)): {len(self._train_ds)} and consumed samples: {consumed_samples}"
          )
          self._train_dl = self.build_pretraining_data_loader(
              self._train_ds, consumed_samples
          )
  
file_path: NeMo/nemo/collections/multimodal/models/text_to_image/instruct_pix2pix/ldm/ddpm_edit.py
imports: import torch
  from einops import rearrange
  from nemo.collections.multimodal.data.instruct_pix2pix.edit_dataset import EditDataset
  from nemo.collections.multimodal.models.text_to_image.stable_diffusion.ldm.ddpm import LatentDiffusion, MegatronLatentDiffusion
  from nemo.collections.nlp.data.language_modeling.megatron.data_samplers import MegatronPretrainingRandomSampler, MegatronPretrainingSampler
  from nemo.utils import logging
label_desc: Use image node_id 4 for calling the MegatronLatentDiffusionEdit obj's underlying member method code with example usage: obj.setup_training_data(cfg) without return types