code: def __init__(self, array, mem, offset):
      self.shape = array.shape
      self.dtype = array.dtype
      self.nbytes = array.nbytes
      self.size = array.size
      self.offset = offset
      total = self.offset + self.nbytes
      if total > len(mem):
          raise ValueError(
              "Shared memory size is too small. expect:{}, actual:{}".format(
                  total, len(mem)
              )
          )
      target = numpy.frombuffer(mem, self.dtype, self.size, self.offset)
      target[...] = array.ravel()
  
imports: from __future__ import division
  import datetime
  import multiprocessing
  from multiprocessing import sharedctypes
  import signal
  import sys
  import threading
  import warnings
  import numpy
  import six
  from chainer.dataset import iterator
  from chainer.iterators import _statemachine
  from chainer.iterators.order_samplers import ShuffleOrderSampler
label_desc: Use image node_id 1 to create a new _PackedNdarray object from inherited base classes: object with example: obj = _PackedNdarray(array, mem, offset)