code: def get_random_cached_bottlenecks(
      sess,
      image_lists,
      how_many,
      category,
      bottleneck_dir,
      image_dir,
      jpeg_data_tensor,
      decoded_image_tensor,
      resized_input_tensor,
      bottleneck_tensor,
      module_name,
  ):
      """Retrieves bottleneck values for cached images.
  
      If no distortions are being applied, this function can retrieve the cached
      bottleneck values directly from disk for images. It picks a random set of
      images from the specified category.
  
      Args:
        sess: Current TensorFlow Session.
        image_lists: OrderedDict of training images for each label.
        how_many: If positive, a random sample of this size will be chosen.
        If negative, all bottlenecks will be retrieved.
        category: Name string of which set to pull from - training, testing, or
        validation.
        bottleneck_dir: Folder string holding cached files of bottleneck values.
        image_dir: Root folder string of the subfolders containing the training
        images.
        jpeg_data_tensor: The layer to feed jpeg image data into.
        decoded_image_tensor: The output of decoding and resizing the image.
        resized_input_tensor: The input node of the recognition graph.
        bottleneck_tensor: The bottleneck output layer of the CNN graph.
        module_name: The name of the image module being used.
  
      Returns:
        List of bottleneck arrays, their corresponding ground truths, and the
        relevant filenames.
      """
      class_count = len(image_lists.keys())
      bottlenecks = []
      ground_truths = []
      filenames = []
      if how_many >= 0:
          # Retrieve a random sample of bottlenecks.
          for unused_i in range(how_many):
              label_index = random.randrange(class_count)
              label_name = list(image_lists.keys())[label_index]
              image_index = random.randrange(
                  MAX_NUM_IMAGES_PER_CLASS + 1
              )
              image_name = get_image_path(
                  image_lists,
                  label_name,
                  image_index,
                  image_dir,
                  category,
              )
              bottleneck = get_or_create_bottleneck(
                  sess,
                  image_lists,
                  label_name,
                  image_index,
                  image_dir,
                  category,
                  bottleneck_dir,
                  jpeg_data_tensor,
                  decoded_image_tensor,
                  resized_input_tensor,
                  bottleneck_tensor,
                  module_name,
              )
              bottlenecks.append(bottleneck)
              ground_truths.append(label_index)
              filenames.append(image_name)
      else:
          # Retrieve all bottlenecks.
          for label_index, label_name in enumerate(image_lists.keys()):
              for image_index, image_name in enumerate(
                  image_lists[label_name][category]
              ):
                  image_name = get_image_path(
                      image_lists,
                      label_name,
                      image_index,
                      image_dir,
                      category,
                  )
                  bottleneck = get_or_create_bottleneck(
                      sess,
                      image_lists,
                      label_name,
                      image_index,
                      image_dir,
                      category,
                      bottleneck_dir,
                      jpeg_data_tensor,
                      decoded_image_tensor,
                      resized_input_tensor,
                      bottleneck_tensor,
                      module_name,
                  )
                  bottlenecks.append(bottleneck)
                  ground_truths.append(label_index)
                  filenames.append(image_name)
      return bottlenecks, ground_truths, filenames
  
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 10 for calling a global function with example usage: get_random_cached_bottlenecks(sess, image_lists, how_many, category, bottleneck_dir, image_dir, jpeg_data_tensor, decoded_image_tensor, resized_input_tensor, bottleneck_tensor, module_name) and returns: bottlenecks,  ground_truths,  filenames