code: def __init__(self, config_file, config_name, gpu_id=0, seed=None):
      self.name = config_name
      self.name_suffix = datetime.now().strftime("%b%d_%H-%M-%S")
      self.gpu_id = gpu_id
      self.seed = seed
      # Set up seed
      if seed:
          util.set_seed(seed)
      # Set up config
      self.config = util.initialize_config(
          config_name, config_file=config_file
      )
  
      # Set up logger
      log_path = join(
          self.config["log_dir"], "log_" + self.name_suffix + ".txt"
      )
      logger.addHandler(logging.FileHandler(log_path, "a"))
      logger.info("Log file path: %s" % log_path)
  
      # Set up device
      self.device = "cpu" if gpu_id is None else gpu_id
      # Use mixed precision training
      self.use_amp = self.config["use_amp"]
  
      # Set up data
      if self.config["task"] == "coref":
          self.data = CorefDataProcessor(self.config)
          self.collate_fn = coref_collate_fn
          self.model_class_fn = CorefModel
      elif self.config["task"] == "ner":
          self.data = NERDataProcessor(self.config)
          self.collate_fn = ner_collate_fn
          self.model_class_fn = NERModel
      elif self.config["task"] == "ere":
          self.data = EREDataProcessor(self.config)
          self.collate_fn = ere_collate_fn
          self.model_class_fn = EREModel
  
imports: import sys
  import os
  import logging
  import random
  import numpy
  import torch
  from torch import nn
  from torch.optim import AdamW
  from util.multigpu_fused_adam import FusedAdam
  from torch.optim.lr_scheduler import LambdaLR
  from torch.utils.data import DataLoader
  import time
  from os.path import join
  from datetime import datetime
  import util
  from util.tensorize_coref import CorefDataProcessor, coref_collate_fn
  from util.tensorize_ner import NERDataProcessor, ner_collate_fn
  from util.tensorize_ere import EREDataProcessor, ere_collate_fn
  from metrics import CorefEvaluator, MentionEvaluator
  from models.model_coref import CorefModel
  from models.model_ner import NERModel
  from models.model_ere import EREModel
  import wandb
label_desc: Use image node_id 1 to create a new Runner object  with example: obj = Runner(config_file, config_name, gpu_id, seed)