code: def get_trn_loader(self):
      dataset = SynthTextDataSet(
          output_size=self.config.train.data.output_size,
          data_dir=self.config.data_dir.synthtext,
          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,
          aug=self.config.train.data.syn_aug,
          vis_test_dir=self.config.vis_test_dir,
          vis_opt=self.config.train.data.vis_opt,
          sample=self.config.train.data.syn_sample,
      )
  
      trn_sampler = torch.utils.data.distributed.DistributedSampler(
          dataset
      )
  
      trn_loader = torch.utils.data.DataLoader(
          dataset,
          batch_size=self.config.train.batch_size,
          shuffle=False,
          num_workers=self.config.train.num_workers,
          sampler=trn_sampler,
          drop_last=True,
          pin_memory=True,
      )
      return trn_loader, trn_sampler
  
imports: import argparse
  import os
  import shutil
  import time
  import yaml
  import multiprocessing
  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
  from loss.mseloss import Maploss_v2, Maploss_v3
  from model.craft import CRAFT
  from metrics.eval_det_iou import DetectionIoUEvaluator
  from eval import main_eval
  from utils.util import copyStateDict, save_parser
label_desc: Use image node_id 2 for calling the Trainer obj's underlying member method code with example usage: obj.get_trn_loader() and returns: trn_loader,  trn_sampler