code: def get_config():
      logger.auto_set_dir()
      dataset_train = get_data("train")
      steps_per_epoch = len(dataset_train) * 40
      dataset_val = get_data("val")
  
      return TrainConfig(
          dataflow=dataset_train,
          callbacks=[
              ModelSaver(),
              ScheduledHyperParamSetter(
                  "learning_rate", [(30, 6e-6), (45, 1e-6), (60, 8e-7)]
              ),
              HumanHyperParamSetter("learning_rate"),
              InferenceRunner(
                  dataset_val,
                  BinaryClassificationStats("prediction", "edgemap4d"),
              ),
          ],
          model=Model(),
          steps_per_epoch=steps_per_epoch,
          max_epoch=100,
      )
  
imports: import argparse
  import numpy
  import os
  import cv2
  import tensorflow
  from tensorpack import *
  from tensorpack.dataflow import dataset
  from tensorpack.tfutils import gradproc, optimizer
  from tensorpack.tfutils.summary import add_moving_summary, add_param_summary
  from tensorpack.utils.gpu import get_num_gpu
  from tensorpack.utils import logger
label_desc: Use image node_id 5 for calling a global function with example usage: get_config() and returns: TrainConfig