code: def run_bottleneck_on_image(
      sess,
      image_data,
      image_data_tensor,
      decoded_image_tensor,
      resized_input_tensor,
      bottleneck_tensor,
  ):
      """Runs inference on an image to extract the 'bottleneck' summary layer.
  
      Args:
        sess: Current active TensorFlow Session.
        image_data: String of raw JPEG data.
        image_data_tensor: Input data layer in the graph.
        decoded_image_tensor: Output of initial image resizing and preprocessing.
        resized_input_tensor: The input node of the recognition graph.
        bottleneck_tensor: Layer before the final softmax.
  
      Returns:
        Numpy array of bottleneck values.
      """
      # First decode the JPEG image, resize it, and rescale the pixel values.
      resized_input_values = sess.run(
          decoded_image_tensor, {image_data_tensor: image_data}
      )
      # Then run it through the recognition network.
      bottleneck_values = sess.run(
          bottleneck_tensor,
          {resized_input_tensor: resized_input_values},
      )
      bottleneck_values = np.squeeze(bottleneck_values)
      return bottleneck_values
  
imports: from absl import logging
  import argparse
  import collections
  from datetime import datetime
  import hashlib
  import os.path
  import random
  import re
  import sys
  import numpy
  import tensorflow
  import tensorflow_hub
  from tensorflow.contrib import quantize
label_desc: Use image node_id 5 for calling a global function with example usage: run_bottleneck_on_image(sess, image_data, image_data_tensor, decoded_image_tensor, resized_input_tensor, bottleneck_tensor) and returns: bottleneck_values