code: def customized_partition(exec_seq):
      """
      This function will analyze the exec_seq. In the exec_seq, users will use 'SPLIT_NODE' as an
      annotation to note the partition point.
      """
      customized_parts = {}
      start = 0
      stop = 0
      rank = 0
      for element in exec_seq:
          if isinstance(element, str):
              if element == "SPLIT_NODE":
                  customized_parts[rank] = [(start, stop)]
                  start = stop
                  rank += 1
              else:
                  stop += 1
      customized_parts[rank] = [(start, stop)]
      return customized_parts
  
file_path: ColossalAI/colossalai/legacy/pipeline/utils.py
imports: import heapq
  import inspect
  from collections import OrderedDict
  from typing import List
  import torch
  from colossalai.legacy.nn.layer.utils import CheckpointModule
  from colossalai.logging import get_dist_logger
label_desc: Use image node_id 12 for calling a global function with example usage: customized_partition(exec_seq) and returns: customized_parts