class_docstr: A basic helper class to control the process of training or evaluation.
  It mainly composes of forward_backward_step for gradient backward and
  optimizer_step for parameters update.
  For the convenience to enable FP16, we aggregate all codes that contain the
  control of FP16 in class schedule.
  
  Args:
      data_process_func (Callable, optional): The preprocessing function which receives a batch of data and arranges them into data and label.
code: def __init__(self, data_process_func: Callable = None):
      self.logger = get_dist_logger()
      self.data_process_func = data_process_func
  
file_path: ColossalAI/colossalai/legacy/engine/schedule/_base_schedule.py
imports: from abc import ABC, abstractmethod
  from typing import Callable, Iterable
  import torch
  from colossalai.logging import get_dist_logger
  from colossalai.utils import get_current_device
label_desc: Use image node_id 1 to create a new BaseSchedule object from inherited base classes: ABC with example: obj = BaseSchedule(data_process_func)