code: def test_serialize_deserialize():
      for shapes in [
          [(10)],
          [(10, 20)],
          [(10, 20, 3)],
          [(1), (2)],
          [(2), (2, 3)],
          [(2, 3, 4), (2, 3, 5), (3, 4, 5)],
          [],
      ]:
          for dtype in [np.int8, np.float, np.int32]:
              yield check_serialize_deserialize, [
                  np.full(s, 42, dtype=dtype) for s in shapes
              ]
  
imports: import os
  import multiprocessing
  import socket
  from contextlib import closing, contextmanager
  import numpy
  from nvidia.dali._multiproc.shared_batch import BufShmChunk, SharedBatchWriter, SharedBatchMeta, deserialize_batch
  from nvidia.dali._multiproc.shared_queue import ShmQueue
  from nvidia.dali._multiproc.messages import ShmMessageDesc
  from test_utils import RandomlyShapedDataIterator
  from nose_utils import raises
label_desc: Use image node_id 2 for calling a global function with example usage: test_serialize_deserialize() without return types