class_docstr: Mean average precision for object detections.
  
  It calculates the mean average precision metric for object detections. It
  averages COCOAveragePrecision over multiple classes and IoU thresholds.
class_docstr_tok: ["Mean","average","precision","for","object","detections",".","It","calculates","the","mean","average","precision","metric","for","object","detections",".","It","averages","COCOAveragePrecision","over","multiple","classes","and","IoU","thresholds","."]
docstr: Initializes mean average precision metric.
  
  This metric is only used in object-detection setting. It does not support
  sub_key parameters due to the matching algorithm of bounding boxes.
  
  The metric supports using multiple outputs to form the labels/predictions if
  the user specifies the label/predcition keys to stack. In this case, the
  metric is not expected to work with multi-outputs. The metric only supports
  multi outputs if the output of model is already pre-stacked in the expected
  format, i.e. ['xmin', 'ymin', 'xmax', 'ymax', 'class_id'] for labels and
  ['xmin', 'ymin', 'xmax', 'ymax', 'class_id', 'confidence scores'] for
  predictions.
  
  Args:
    num_thresholds: (Optional) Number of thresholds to use for calculating the
      matrices and finding the precision at given recall.
    iou_thresholds: (Optional) Threholds for a detection and ground truth pair
      with specific iou to be considered as a match.
    class_ids: (Optional) The class ids for calculating metrics.
    class_weights: (Optional) The weight associated with the object class ids.
      If it is provided, it should have the same length as class_ids.
    area_range: (Optional) The area-range for objects to be considered for
      metrics.
    max_num_detections: (Optional) The maximum number of detections for a
      single image.
    recalls: (Optional) recalls at which precisions will be calculated.
    num_recalls: (Optional) Used for objecth detection, the number of recalls
      for calculating average precision, it equally generates points bewteen 0
      and 1. (Only one of recalls and num_recalls should be used).
    name: (Optional) Metric name.
    labels_to_stack: (Optional) Keys for columns to be stacked as a single
      numpy array as the labels. It is searched under the key labels, features
      and transformed features. The desired format is [left bounadary, top
      boudnary, right boundary, bottom boundary, class id]. e.g. ['xmin',
      'ymin', 'xmax', 'ymax', 'class_id']
    predictions_to_stack: (Optional) Output names for columns to be stacked as
      a single numpy array as the prediction. It should be the model's output
      names. The desired format is [left bounadary, top boudnary, right
      boundary, bottom boundary, class id, confidence score]. e.g. ['xmin',
      'ymin', 'xmax', 'ymax', 'class_id', 'scores']
    num_detections_key: (Optional) An output name in which to find the number
      of detections to use for evaluation for a given example. It does nothing
      if predictions_to_stack is not set. The value for this output should be
      a scalar value or a single-value tensor. The stacked predicitions will
      be truncated with the specified number of detections.
    allow_missing_key: (Optional) If true, the preprocessor will return empty
      array instead of raising errors.
docstr_tok: ["Initializes","mean","average","precision","metric",".","This","metric","is","only","used","in","object-detection","setting",".","It","does","not","support","sub_key","parameters","due","to","the","matching","algorithm","of","bounding","boxes",".","The","metric","supports","using","multiple","outputs","to","form","the","labels\/predictions","if","the","user","specifies","the","label\/predcition","keys","to","stack",".","In","this","case",",","the","metric","is","not","expected","to","work","with","multi-outputs",".","The","metric","only","supports","multi","outputs","if","the","output","of","model","is","already","pre-stacked","in","the","expected","format",",","i.e",".","[","'xmin","'",",","'ymin","'",",","'xmax","'",",","'ymax","'",",","'class_id","'","]","for","labels","and","[","'xmin","'",",","'ymin","'",",","'xmax","'",",","'ymax","'",",","'class_id","'",",","'confidence","scores","'","]","for","predictions",".","Args",":","num_thresholds",":","(","Optional",")","Number","of","thresholds","to","use","for","calculating","the","matrices","and","finding","the","precision","at","given","recall",".","iou_thresholds",":","(","Optional",")","Threholds","for","a","detection","and","ground","truth","pair","with","specific","iou","to","be","considered","as","a","match",".","class_ids",":","(","Optional",")","The","class","ids","for","calculating","metrics",".","class_weights",":","(","Optional",")","The","weight","associated","with","the","object","class","ids",".","If","it","is","provided",",","it","should","have","the","same","length","as","class_ids",".","area_range",":","(","Optional",")","The","area-range","for","objects","to","be","considered","for","metrics",".","max_num_detections",":","(","Optional",")","The","maximum","number","of","detections","for","a","single","image",".","recalls",":","(","Optional",")","recalls","at","which","precisions","will","be","calculated",".","num_recalls",":","(","Optional",")","Used","for","objecth","detection",",","the","number","of","recalls","for","calculating","average","precision",",","it","equally","generates","points","bewteen","0","and","1",".","(","Only","one","of","recalls","and","num_recalls","should","be","used",")",".","name",":","(","Optional",")","Metric","name",".","labels_to_stack",":","(","Optional",")","Keys","for","columns","to","be","stacked","as","a","single","numpy","array","as","the","labels",".","It","is","searched","under","the","key","labels",",","features","and","transformed","features",".","The","desired","format","is","[","left","bounadary",",","top","boudnary",",","right","boundary",",","bottom","boundary",",","class","id","]",".","e.g",".","[","'xmin","'",",","'ymin","'",",","'xmax","'",",","'ymax","'",",","'class_id","'","]","predictions_to_stack",":","(","Optional",")","Output","names","for","columns","to","be","stacked","as","a","single","numpy","array","as","the","prediction",".","It","should","be","the","model","'s","output","names",".","The","desired","format","is","[","left","bounadary",",","top","boudnary",",","right","boundary",",","bottom","boundary",",","class","id",",","confidence","score","]",".","e.g",".","[","'xmin","'",",","'ymin","'",",","'xmax","'",",","'ymax","'",",","'class_id","'",",","'scores","'","]","num_detections_key",":","(","Optional",")","An","output","name","in","which","to","find","the","number","of","detections","to","use","for","evaluation","for","a","given","example",".","It","does","nothing","if","predictions_to_stack","is","not","set",".","The","value","for","this","output","should","be","a","scalar","value","or","a","single-value","tensor",".","The","stacked","predicitions","will","be","truncated","with","the","specified","number","of","detections",".","allow_missing_key",":","(","Optional",")","If","true",",","the","preprocessor","will","return","empty","array","instead","of","raising","errors","."]
code: def __init__(
      self,
      num_thresholds: Optional[int] = None,
      iou_thresholds: Optional[List[float]] = None,
      class_ids: Optional[List[int]] = None,
      class_weights: Optional[List[float]] = None,
      area_range: Optional[Tuple[float, float]] = None,
      max_num_detections: Optional[int] = None,
      recalls: Optional[List[float]] = None,
      num_recalls: Optional[int] = None,
      name: Optional[str] = None,
      labels_to_stack: Optional[List[str]] = None,
      predictions_to_stack: Optional[List[str]] = None,
      num_detections_key: Optional[str] = None,
      allow_missing_key: bool = False,
  ):
      """Initializes mean average precision metric.
  
      This metric is only used in object-detection setting. It does not support
      sub_key parameters due to the matching algorithm of bounding boxes.
  
      The metric supports using multiple outputs to form the labels/predictions if
      the user specifies the label/predcition keys to stack. In this case, the
      metric is not expected to work with multi-outputs. The metric only supports
      multi outputs if the output of model is already pre-stacked in the expected
      format, i.e. ['xmin', 'ymin', 'xmax', 'ymax', 'class_id'] for labels and
      ['xmin', 'ymin', 'xmax', 'ymax', 'class_id', 'confidence scores'] for
      predictions.
  
      Args:
        num_thresholds: (Optional) Number of thresholds to use for calculating the
          matrices and finding the precision at given recall.
        iou_thresholds: (Optional) Threholds for a detection and ground truth pair
          with specific iou to be considered as a match.
        class_ids: (Optional) The class ids for calculating metrics.
        class_weights: (Optional) The weight associated with the object class ids.
          If it is provided, it should have the same length as class_ids.
        area_range: (Optional) The area-range for objects to be considered for
          metrics.
        max_num_detections: (Optional) The maximum number of detections for a
          single image.
        recalls: (Optional) recalls at which precisions will be calculated.
        num_recalls: (Optional) Used for objecth detection, the number of recalls
          for calculating average precision, it equally generates points bewteen 0
          and 1. (Only one of recalls and num_recalls should be used).
        name: (Optional) Metric name.
        labels_to_stack: (Optional) Keys for columns to be stacked as a single
          numpy array as the labels. It is searched under the key labels, features
          and transformed features. The desired format is [left bounadary, top
          boudnary, right boundary, bottom boundary, class id]. e.g. ['xmin',
          'ymin', 'xmax', 'ymax', 'class_id']
        predictions_to_stack: (Optional) Output names for columns to be stacked as
          a single numpy array as the prediction. It should be the model's output
          names. The desired format is [left bounadary, top boudnary, right
          boundary, bottom boundary, class id, confidence score]. e.g. ['xmin',
          'ymin', 'xmax', 'ymax', 'class_id', 'scores']
        num_detections_key: (Optional) An output name in which to find the number
          of detections to use for evaluation for a given example. It does nothing
          if predictions_to_stack is not set. The value for this output should be
          a scalar value or a single-value tensor. The stacked predicitions will
          be truncated with the specified number of detections.
        allow_missing_key: (Optional) If true, the preprocessor will return empty
          array instead of raising errors.
      """
  
      super().__init__(
          metric_util.merge_per_key_computations(
              self._metric_computations
          ),
          num_thresholds=num_thresholds,
          iou_thresholds=iou_thresholds,
          class_ids=class_ids,
          class_weights=class_weights,
          area_range=area_range,
          max_num_detections=max_num_detections,
          recalls=recalls,
          num_recalls=num_recalls,
          name=name,
          labels_to_stack=labels_to_stack,
          predictions_to_stack=predictions_to_stack,
          num_detections_key=num_detections_key,
          allow_missing_key=allow_missing_key,
      )
  
imports: import logging
  import math
  from typing import Any, Dict, List, Optional, Tuple, Union
  import numpy
  from tensorflow_model_analysis.metrics import confusion_matrix_metrics
  from tensorflow_model_analysis.metrics import metric_types
  from tensorflow_model_analysis.metrics import metric_util
  from tensorflow_model_analysis.metrics import object_detection_confusion_matrix_metrics
label_desc: Use image node_id 1 to create a new COCOMeanAveragePrecision object from inherited base classes: metric_types with example: obj = COCOMeanAveragePrecision(num_thresholds, iou_thresholds, class_ids, class_weights, area_range, max_num_detections, recalls, num_recalls, name, labels_to_stack, predictions_to_stack, num_detections_key, allow_missing_key)