code: def _split_and_load(batch, ctx_list):
      """Split data to 1 batch each device."""
      new_batch = []
      for _, data in enumerate(batch):
          if isinstance(data, (list, tuple)):
              new_data = [
                  x.as_in_context(ctx) for x, ctx in zip(data, ctx_list)
              ]
          else:
              new_data = [data.as_in_context(ctx_list[0])]
          new_batch.append(new_data)
      return new_batch
  
file_path: gluon-cv/gluoncv/auto/estimators/faster_rcnn/utils.py
imports: import os
  from mxnet import gluon
  from ....data.batchify import FasterRCNNTrainBatchify, Tuple, Append
  from ....data.sampler import SplitSortedBucketSampler
  from ....data.transforms.presets.rcnn import FasterRCNNDefaultValTransform
  from ....None import data
  from ....utils.metrics.coco_detection import COCODetectionMetric
  from ....utils.metrics.voc_detection import VOC07MApMetric
label_desc: Use image node_id 2 for calling a global function with example usage: _split_and_load(batch, ctx_list) and returns: new_batch