code: def get_config():
      dataset_train = get_data("train")
      dataset_val = get_data("val")
  
      return TrainConfig(
          model=Model(),
          dataflow=dataset_train,
          callbacks=[
              ModelSaver(),
              PeriodicTrigger(
                  InferenceRunner(
                      dataset_val,
                      [
                          ClassificationError(
                              "wrong-top1", "val-error-top1"
                          ),
                          ClassificationError(
                              "wrong-top5", "val-error-top5"
                          ),
                      ],
                  ),
                  every_k_epochs=2,
              ),
              ScheduledHyperParamSetter(
                  "learning_rate",
                  [(30, 1e-2), (55, 1e-3), (75, 1e-4), (95, 1e-5)],
              ),
          ],
          steps_per_epoch=5000,
          max_epoch=105,
      )
  
imports: import argparse
  import multiprocessing
  import numpy
  import os
  import sys
  import cv2
  import tensorflow
  from tensorpack import *
  from tensorpack.dataflow import dataset
  from tensorpack.tfutils import gradproc, optimizer
  from tensorpack.tfutils.summary import *
  from tensorpack.utils import viz
  from tensorpack.utils.gpu import get_num_gpu
  from imagenet_utils import ImageNetModel, fbresnet_augmentor
  from resnet_model import preresnet_basicblock, preresnet_group
label_desc: Use image node_id 2 for calling a global function with example usage: get_config() and returns: TrainConfig