code: def numpy_serialize_data(data):
      """serialize_data"""
      ret_data = copy.deepcopy(data)
  
      if isinstance(ret_data, (dict, list)):
          for key in index_iter(ret_data):
              if isinstance(ret_data[key], np.ndarray):
                  ret_data[key] = _np_serialized_data(
                      value=ret_data[key].tobytes(),
                      shape=list(ret_data[key].shape),
                      dtype="%s" % ret_data[key].dtype,
                  )
      return ret_data
  
file_path: PGL/pgl/utils/mp_reader.py
imports: import logging
  import multiprocessing
  import copy
  import numpy
  import time
  from multiprocessing import Queue
  import threading
  from collections import namedtuple
label_desc: Use image node_id 3 for calling a global function with example usage: numpy_serialize_data(data) and returns: ret_data