code: def _binary_average_precision_compute(
      state: Union[Tensor, Tuple[Tensor, Tensor]],
      thresholds: Optional[Tensor],
  ) -> Tensor:
      precision, recall, _ = _binary_precision_recall_curve_compute(
          state, thresholds
      )
      return -torch.sum((recall[1:] - recall[:-1]) * precision[:-1])
  
file_path: torchmetrics/src/torchmetrics/functional/classification/average_precision.py
imports: from typing import List, Optional, Tuple, Union
  import torch
  from torch import Tensor
  from typing_extensions import Literal
  from torchmetrics.functional.classification.precision_recall_curve import _binary_precision_recall_curve_arg_validation, _binary_precision_recall_curve_compute, _binary_precision_recall_curve_format, _binary_precision_recall_curve_tensor_validation, _binary_precision_recall_curve_update, _multiclass_precision_recall_curve_arg_validation, _multiclass_precision_recall_curve_compute, _multiclass_precision_recall_curve_format, _multiclass_precision_recall_curve_tensor_validation, _multiclass_precision_recall_curve_update, _multilabel_precision_recall_curve_arg_validation, _multilabel_precision_recall_curve_compute, _multilabel_precision_recall_curve_format, _multilabel_precision_recall_curve_tensor_validation, _multilabel_precision_recall_curve_update
  from torchmetrics.utilities.compute import _safe_divide
  from torchmetrics.utilities.data import _bincount
  from torchmetrics.utilities.enums import ClassificationTask
  from torchmetrics.utilities.prints import rank_zero_warn
label_desc: Use image node_id 2 for calling a global function with example usage: _binary_average_precision_compute(state, thresholds) and returns: unknown