class_docstr: Dataset of images built from a zip file.
  
  This dataset reads an external image file in the given
  zipfile. The zipfile shall contain only image files.
  This shall be able to replace ImageDataset and works better on NFS
  and other networked file systems. If zipfile becomes too large you
  may consider ``MultiZippedImageDataset`` as a handy alternative.
  
  Known issue: pickle and unpickle on same process may cause race
  condition on ZipFile. Pickle of this class is expected to be sent
  to different processess via ChainerMN.
  
  Args:
      zipfilename (str): a string to point zipfile path
      dtype: Data type of resulting image arrays. ``chainer.config.dtype`` is
          used by default (see :ref:`configuration`).
code: def __init__(self, zipfilename, dtype=None):
      self._zipfilename = zipfilename
      self._zf = zipfile.ZipFile(zipfilename)
      self._zf_pid = os.getpid()
      self._dtype = chainer.get_dtype(dtype)
      self._paths = [
          x for x in self._zf.namelist() if not x.endswith("/")
      ]
      self._lock = threading.Lock()
  
imports: import bisect
  import io
  import os
  import threading
  import zipfile
  import numpy
  import six
  import chainer
  from chainer.dataset import dataset_mixin
label_desc: Use image node_id 1 to create a new ZippedImageDataset object from inherited base classes: dataset_mixin with example: obj = ZippedImageDataset(zipfilename, dtype)