code: def build_sem_seg_train_aug(cfg):
      augs = [
          T.ResizeShortestEdge(
              cfg.INPUT.MIN_SIZE_TRAIN,
              cfg.INPUT.MAX_SIZE_TRAIN,
              cfg.INPUT.MIN_SIZE_TRAIN_SAMPLING,
          )
      ]
      if cfg.INPUT.CROP.ENABLED:
          augs.append(
              T.RandomCrop_CategoryAreaConstraint(
                  cfg.INPUT.CROP.TYPE,
                  cfg.INPUT.CROP.SIZE,
                  cfg.INPUT.CROP.SINGLE_CATEGORY_MAX_AREA,
                  cfg.MODEL.SEM_SEG_HEAD.IGNORE_VALUE,
              )
          )
      if cfg.INPUT.COLOR_AUG_SSD:
          augs.append(ColorAugSSDTransform(img_format=cfg.INPUT.FORMAT))
      augs.append(T.RandomFlip())
      return augs
  
file_path: detectron2/projects/PointRend/train_net.py
imports: import os
  import detectron2.data.transforms
  import detectron2.utils.comm
  from detectron2.checkpoint import DetectionCheckpointer
  from detectron2.config import get_cfg
  from detectron2.data import DatasetMapper, MetadataCatalog, build_detection_train_loader
  from detectron2.engine import DefaultTrainer, default_argument_parser, default_setup, launch
  from detectron2.evaluation import CityscapesInstanceEvaluator, CityscapesSemSegEvaluator, COCOEvaluator, DatasetEvaluators, LVISEvaluator, SemSegEvaluator, verify_results
  from detectron2.projects.point_rend import ColorAugSSDTransform, add_pointrend_config
label_desc: Use image node_id 1 for calling a global function with example usage: build_sem_seg_train_aug(cfg) and returns: augs