code: def get_batch(self):
      deq = self.q_out.get()
      print("q_out got")
      data_list, label_list = deq
  
      for data, label in zip(data_list, label_list):
          data_shape = {k: v.shape for k, v in data.items()}
          del data_shape["im_info"]
          feat_shape_list = []
          for s in range(len(self.feat_stride)):
              _, feat_shape, _ = self.feat_sym[s].infer_shape(
                  **data_shape
              )
              feat_shape = [int(i) for i in feat_shape[0]]
              feat_shape_list.append(feat_shape)
          # for k in self.label_name:
          #  label[k] = [0 for i in range(config.TRAIN.BATCH_IMAGES)]
          im_info = data["im_info"]
          gt_boxes = label["gt_boxes"]
          gt_label = {"gt_boxes": gt_boxes}
          label_dict = {}
          head_label_dict = assign_anchor_fpn(
              feat_shape_list, gt_label, im_info, False, prefix="head"
          )
          label_dict.update(head_label_dict)
          if config.FACE_LANDMARK:
              gt_landmarks = label["gt_landmarks"]
              gt_label["gt_landmarks"] = gt_landmarks
          face_label_dict = assign_anchor_fpn(
              feat_shape_list,
              gt_label,
              im_info,
              config.FACE_LANDMARK,
              prefix="face",
          )
          label_dict.update(face_label_dict)
          # print('im_info', im_info.shape)
          # print(gt_boxes.shape)
          for k in self.label_name:
              label[k] = label_dict[k]
  
      all_data = dict()
      for key in self.data_name:
          all_data[key] = tensor_vstack(
              [batch[key] for batch in data_list]
          )
  
      all_label = dict()
      for key in self.label_name:
          pad = 0 if key.startswith("bbox_") else -1
          # print('label vstack', key, pad, len(label_list), file=sys.stderr)
          all_label[key] = tensor_vstack(
              [batch[key] for batch in label_list], pad=pad
          )
      self.data = [mx.nd.array(all_data[key]) for key in self.data_name]
      self.label = [
          mx.nd.array(all_label[key]) for key in self.label_name
      ]
  
imports: from __future__ import print_function
  import sys
  import mxnet
  import numpy
  import random
  import datetime
  import multiprocessing
  import cv2
  from mxnet.executor_manager import _split_input_slice
  from rcnn.config import config
  from rcnn.io.image import tensor_vstack
  from rcnn.io.rpn import get_rpn_testbatch, get_rpn_batch, assign_anchor_fpn, get_crop_batch, AA
label_desc: Use image node_id 10 for calling the CropLoader2 obj's underlying member method code with example usage: obj.get_batch() without return types