Defined in tensorflow/contrib/metrics/python/ops/

Computes the apporixmate AUC by a Riemann sum with data-derived thresholds.

USAGE NOTE: this approach requires storing all of the predictions and labels for a single evaluation in memory, so it may not be usable when the evaluation batch size and/or the number of evaluation steps is very large.

Computes the area under the ROC or PR curve using each prediction as a threshold. This has the advantage of being resilient to the distribution of predictions by aggregating across batches, accumulating labels and predictions and performing the final calculation using all of the concatenated values.


  • labels: A Tensor of ground truth labels with the same shape as labels and with values of 0 or 1 whose values are castable to int64.
  • predictions: A Tensor of predictions whose values are castable to float64. Will be flattened into a 1-D Tensor.
  • curve: The name of the curve for which to compute AUC, 'ROC' for the Receiving Operating Characteristic or 'PR' for the Precision-Recall curve.
  • metrics_collections: An optional iterable of collections that auc should be added to.
  • updates_collections: An optional iterable of collections that update_op should be added to.
  • name: An optional name for the variable_scope that contains the metric variables.


  • auc: A scalar Tensor containing the current area-under-curve value.
  • update_op: An operation that concatenates the input labels and predictions to the accumulated values.


  • ValueError: If labels and predictions have mismatched shapes or if curve isn't a recognized curve type.