class paddle.fluid.metrics.Auc(name, curve='ROC', num_thresholds=4095)[source]

The auc metric is for binary classification. Refer to Please notice that the auc metric is implemented with python, which may be a little bit slow. If you concern the speed, please use the fluid.layers.auc instead.

The auc function creates four local variables, true_positives, true_negatives, false_positives and false_negatives that are used to compute the AUC. To discretize the AUC curve, a linearly spaced set of thresholds is used to compute pairs of recall and precision values. The area under the ROC-curve is therefore computed using the height of the recall values by the false positive rate, while the area under the PR-curve is the computed using the height of the precision values by the recall.

  • name (str, optional) – Metric name. For details, please refer to Name. Default is None.

  • curve (str) – Specifies the name of the curve to be computed, ‘ROC’ [default] or ‘PR’ for the Precision-Recall-curve.

“NOTE: only implement the ROC curve type via Python now.”


import paddle.fluid as fluid
import numpy as np
# init the auc metric
auc_metric = fluid.metrics.Auc("ROC")

# suppose that batch_size is 128
batch_num = 100
batch_size = 128

for batch_id in range(batch_num):

    class0_preds = np.random.random(size = (batch_size, 1))
    class1_preds = 1 - class0_preds

    preds = np.concatenate((class0_preds, class1_preds), axis=1)

    labels = np.random.randint(2, size = (batch_size, 1))
    auc_metric.update(preds = preds, labels = labels)

    # shall be some score closing to 0.5 as the preds are randomly assigned
    print("auc for iteration %d is %.2f" % (batch_id, auc_metric.eval()))
update(preds, labels)

Update the auc curve with the given predictions and labels.

  • preds (numpy.array) – an numpy array in the shape of (batch_size, 2), preds[i][j] denotes the probability of classifying the instance i into the class j.

  • labels (numpy.array) – an numpy array in the shape of (batch_size, 1), labels[i] is either o or 1, representing the label of the instance i.


Return the area (a float score) under auc curve


the area under auc curve

Return type



Get the metric and current states. The states are the members who do not has “_” prefix.




a python dict, which contains the inner states of the metric instance

Return types:

a python dict


reset function empties the evaluation memory for previous mini-batches.





Return types: