code: def normal_to_sub_bn(checkpoint_sd, model_sd):
      """
      Convert BN parameters to Sub-BN parameters if model contains Sub-BNs.
      Args:
          checkpoint_sd (OrderedDict): source dict of parameters.
          model_sd (OrderedDict): target dict of parameters.
      Returns:
          new_sd (OrderedDict): converted dict of parameters.
      """
      for key in model_sd:
          if key not in checkpoint_sd:
              if "bn.split_bn." in key:
                  load_key = key.replace("bn.split_bn.", "bn.")
                  bn_key = key.replace("bn.split_bn.", "bn.bn.")
                  checkpoint_sd[key] = checkpoint_sd.pop(load_key)
                  checkpoint_sd[bn_key] = checkpoint_sd[key]
  
      for key in model_sd:
          if key in checkpoint_sd:
              model_blob_shape = model_sd[key].shape
              c2_blob_shape = checkpoint_sd[key].shape
  
              if (
                  len(model_blob_shape) == 1
                  and len(c2_blob_shape) == 1
                  and model_blob_shape[0] > c2_blob_shape[0]
                  and model_blob_shape[0] % c2_blob_shape[0] == 0
              ):
                  before_shape = checkpoint_sd[key].shape
                  checkpoint_sd[key] = torch.cat(
                      [checkpoint_sd[key]]
                      * (model_blob_shape[0] // c2_blob_shape[0])
                  )
                  logger.info(
                      "{} {} -> {}".format(
                          key, before_shape, checkpoint_sd[key].shape
                      )
                  )
      return checkpoint_sd
  
imports: import copy
  import math
  import numpy
  import os
  import pickle
  from collections import OrderedDict
  import torch
  import slowfast.utils.distributed
  import slowfast.utils.logging
  from slowfast.utils.c2_model_loading import get_name_convert_func
  from slowfast.utils.env import checkpoint_pathmgr
label_desc: Use image node_id 12 for calling a global function with example usage: normal_to_sub_bn(checkpoint_sd, model_sd) and returns: checkpoint_sd