code: def build_train_valid_test_datasets(self):
      # TODO (yuya): set up splits ratio and other params
      if self.cfg.data.data_path is not None:
          self._train_ds = EditDataset(
              path=self.cfg.data.data_path, split="train", flip_prob=0.5
          )
          self._validation_ds = EditDataset(
              path=self.cfg.data.data_path, split="val"
          )
          self._test_ds = EditDataset(
              path=self.cfg.data.data_path, split="test"
          )
  
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 3 for calling the MegatronLatentDiffusionEdit obj's underlying member method code with example usage: obj.build_train_valid_test_datasets() without return types