code: def add(self, imgs):
      #!!! img should be BGR!!!!
      # assert label >= 0
      # assert label > self.last_label
      assert len(imgs) > 0
      label = self.wlabel
      for img in imgs:
          idx = self.widx
          image_meta = {"image_index": idx, "image_classes": [label]}
          header = mx.recordio.IRHeader(0, label, idx, 0)
          if isinstance(img, np.ndarray):
              s = mx.recordio.pack_img(
                  header, img, quality=95, img_fmt=".jpg"
              )
          else:
              s = mx.recordio.pack(header, img)
          self.writer.write_idx(idx, s)
          self.meta.append(image_meta)
          self.widx += 1
      self.max_label = label
      self.wlabel += 1
      return label
  
file_path: insightface/reconstruction/jmlr/rec_builder.py
imports: import pickle
  import numpy
  import os
  import os.path
  import glob
  import argparse
  import cv2
  import time
  import datetime
  import pickle
  import sklearn
  import mxnet
  from utils.utils_config import get_config
  from dataset import FaceDataset, Rt26dof
label_desc: Use image node_id 2 for calling the RecBuilder obj's underlying member method code with example usage: obj.add(imgs) and returns: label