title: How to print the detected classes after performing object detection on an image?
body: <p>I am following the <strong>object_detection_tutorial.ipynb</strong> tutorial. </p>
  
  <p>Here is the code ( I only put parts which are needed, the rest of the code is the same as the notebook):</p>
  
  <pre><code>my_results = []   # I added this, a list to hold the detected classes
  
  PATH_TO_LABELS = 'D:\\TensorFlow\\models\\research\\object_detection\\data\\oid_v4_label_map.pbtxt'
  category_index = label_map_util.create_category_index_from_labelmap(PATH_TO_LABELS, use_display_name=True)
  
  PATH_TO_TEST_IMAGES_DIR = pathlib.Path('C:\\Users\\Bhavin\\Desktop\\objects')
  TEST_IMAGE_PATHS = sorted(list(PATH_TO_TEST_IMAGES_DIR.glob("*.jpg")))
  TEST_IMAGE_PATHS
  
  model = load_model()
  
  def run_inference_for_single_image(model, image):
    image = np.asarray(image)
    # The input needs to be a tensor, convert it using `tf.convert_to_tensor`.
    input_tensor = tf.convert_to_tensor(image)
    # The model expects a batch of images, so add an axis with `tf.newaxis`.
    input_tensor = input_tensor[tf.newaxis,...]
  
    # Run inference
    output_dict = model(input_tensor)
  
    # All outputs are batches tensors.
    # Convert to numpy arrays, and take index [0] to remove the batch dimension.
    # We're only interested in the first num_detections.
    num_detections = int(output_dict.pop('num_detections'))
    output_dict = {key:value[0, :num_detections].numpy() 
                   for key,value in output_dict.items()}
    output_dict['num_detections'] = num_detections
  
    # detection_classes should be ints.
    output_dict['detection_classes'] = output_dict['detection_classes'].astype(np.int64)
  
    # Handle models with masks:
    if 'detection_masks' in output_dict:
      # Reframe the the bbox mask to the image size.
      detection_masks_reframed = utils_ops.reframe_box_masks_to_image_masks(
                output_dict['detection_masks'], output_dict['detection_boxes'],
                 image.shape[0], image.shape[1])      
      detection_masks_reframed = tf.cast(detection_masks_reframed &gt; 0.5,
                                         tf.uint8)
      output_dict['detection_masks_reframed'] = detection_masks_reframed.numpy()
  
    return output_dict
  
  def show_inference(model, image_path):
    # the array based representation of the image will be used later in order to prepare the
    # result image with boxes and labels on it.
    image_np = np.array(Image.open(image_path))
    # Actual detection.
    output_dict = run_inference_for_single_image(model, image_np)
    # Visualization of the results of a detection.
    vis_util.visualize_boxes_and_labels_on_image_array(
        image_np,
        output_dict['detection_boxes'],
        output_dict['detection_classes'],
        output_dict['detection_scores'],
        category_index,
        instance_masks=output_dict.get('detection_masks_reframed', None),
        use_normalized_coordinates=True,
        line_thickness=8)
  
    name = "Image" + str(i) + ".jpg"
    img = Image.fromarray(image_np)
    plt.imsave(name,image_np)
    my_results.append(output_dict['detection_classes']) # I added this
    print(my_results) # I added this
    #img.show()
  
  i = 1
  for image_path in TEST_IMAGE_PATHS:
   show_inference(model, image_path)
   i += 1
  </code></pre>
  
  <p>I checked some related stack overflow questions and the answer had something to do with <strong>category index</strong>. But the code and examples used are very different from the tutorial I am following.</p>
  
  <p>The line : <code>my_results.append(output_dict['detection_classes'])</code></p>
  
  <p>Gives me output: <code>[array([55], dtype=int64)]</code></p>
  
  <p>How do I extract the classes of the detected objects? </p>