code: def get_custom_dataset(self):
      custom_dataset = CustomDataset(
          output_size=self.config.train.data.output_size,
          data_dir=self.config.data_root_dir,
          saved_gt_dir=None,
          mean=self.config.train.data.mean,
          variance=self.config.train.data.variance,
          gauss_init_size=self.config.train.data.gauss_init_size,
          gauss_sigma=self.config.train.data.gauss_sigma,
          enlarge_region=self.config.train.data.enlarge_region,
          enlarge_affinity=self.config.train.data.enlarge_affinity,
          watershed_param=self.config.train.data.watershed,
          aug=self.config.train.data.custom_aug,
          vis_test_dir=self.config.vis_test_dir,
          sample=self.config.train.data.custom_sample,
          vis_opt=self.config.train.data.vis_opt,
          pseudo_vis_opt=self.config.train.data.pseudo_vis_opt,
          do_not_care_label=self.config.train.data.do_not_care_label,
      )
  
      return custom_dataset
  
imports: import argparse
  import os
  import shutil
  import time
  import multiprocessing
  import yaml
  import numpy
  import torch
  import torch.nn
  import torch.optim
  import wandb
  from config.load_config import load_yaml, DotDict
  from data.dataset import SynthTextDataSet, CustomDataset
  from loss.mseloss import Maploss_v2, Maploss_v3
  from model.craft import CRAFT
  from eval import main_eval
  from metrics.eval_det_iou import DetectionIoUEvaluator
  from utils.util import copyStateDict, save_parser
label_desc: Use image node_id 3 for calling the Trainer obj's underlying member method code with example usage: obj.get_custom_dataset() and returns: custom_dataset