class_docstr: Persist ndarrays in an object by saving them to a zip file.
  
  :param zip_file: A zip file handle that the NumPy arrays will be saved to.
  :type zip_file: :class:`zipfile.ZipFile`
  
  
  .. note:
      The convention for persistent ids given by this class and its derived
      classes is that the name should take the form `type.name` where `type`
      can be used by the persistent loader to determine how to load the
      object, while `name` is human-readable and as descriptive as possible.
code: def __init__(self, zip_file):
      self.zip_file = zip_file
      self.count = 0
      self.seen = {}
  
imports: from __future__ import absolute_import, print_function, division
  import numpy
  import os
  import pickle
  import sys
  import tempfile
  import zipfile
  import warnings
  from collections import defaultdict
  from contextlib import closing
  from pickle import HIGHEST_PROTOCOL
  from six import BytesIO
  import theano
  from theano import config
  from theano.compat import PY3
  from six import string_types
  from theano.compile.sharedvalue import SharedVariable
label_desc: Use image node_id 1 to create a new PersistentNdarrayID object from inherited base classes: object with example: obj = PersistentNdarrayID(zip_file)