code: def __init__(self, cfg, backbone, placement, world_size):
      super(Train_Module, self).__init__()
      self.placement = placement
  
      if cfg.graph:
          if cfg.model_parallel:
              input_size = cfg.embedding_size
              output_size = int(cfg.num_classes / world_size)
              self.fc = FC7(
                  input_size,
                  output_size,
                  cfg,
                  partial_fc=cfg.partial_fc,
              ).to_consistent(
                  placement=placement, sbp=flow.sbp.split(0)
              )
          else:
              self.fc = FC7(
                  cfg.embedding_size, cfg.num_classes, cfg
              ).to_consistent(
                  placement=placement, sbp=flow.sbp.broadcast
              )
          self.backbone = backbone.to_consistent(
              placement=placement, sbp=flow.sbp.broadcast
          )
      else:
          self.backbone = backbone
          self.fc = FC7(cfg.embedding_size, cfg.num_classes, cfg)
  
imports: import oneflow
  from oneflow.nn.parallel import DistributedDataParallel
  from utils.ofrecord_data_utils import OFRecordDataLoader, SyntheticDataLoader
  from utils.utils_logging import AverageMeter
  from utils.utils_callbacks import CallBackVerification, CallBackLogging, CallBackModelCheckpoint
  from backbones import get_model
  from graph import TrainGraph, EvalGraph
  from utils.losses import CrossEntropyLoss_sbp
  import logging
label_desc: Use image node_id 1 to create a new Train_Module object from inherited base classes: flow.nn with example: obj = Train_Module(cfg, backbone, placement, world_size)