class_docstr: Base class to store image batches.
  
  Subclasses of this class are used to store batches of images from the dataset
  or batches of adversarial images.
class_docstr_tok: ["Base","class","to","store","image","batches",".","Subclasses","of","this","class","are","used","to","store","batches","of","images","from","the","dataset","or","batches","of","adversarial","images","."]
docstr: Helper method to write images from single batch into datastore.
docstr_tok: ["Helper","method","to","write","images","from","single","batch","into","datastore","."]
code: def _write_single_batch_images_internal(self, batch_id, client_batch):
      """Helper method to write images from single batch into datastore."""
      client = self._datastore_client
      batch_key = client.key(self._entity_kind_batches, batch_id)
      for img_id, img in iteritems(self._data[batch_id]["images"]):
          img_entity = client.entity(
              client.key(
                  self._entity_kind_images, img_id, parent=batch_key
              )
          )
          for k, v in iteritems(img):
              img_entity[k] = v
          client_batch.put(img_entity)
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import copy
  from io import BytesIO
  from io import StringIO
  import itertools
  import logging
  import os
  import zipfile
  from six import iteritems
  from six import iterkeys
  from six import itervalues
label_desc: Use image node_id 2 for calling the ImageBatchesBase obj's underlying member method code with example usage: obj._write_single_batch_images_internal(batch_id, client_batch) without return types