code: def encode_images_as_png(images):
    
    if tf.executing_eagerly():
      for image in images:
        yield tf.image.encode_png(image).numpy()
    else:
      (height, width, channels) = images[0].shape
      with tf.Graph().as_default():
        image_t = tf.placeholder(dtype=tf.uint8, shape=(height, width, channels))
        encoded_image_t = tf.image.encode_png(image_t)
        with tf.Session() as sess:
          for image in images:
            enc_string = sess.run(encoded_image_t, feed_dict={image_t: image})
            yield enc_string
docs: Yield images encoded as pngs.