tf.metrics.mean_per_class_accuracy(
labels,
predictions,
num_classes,
weights=None,
metrics_collections=None,
updates_collections=None,
name=None
)
Defined in tensorflow/python/ops/metrics_impl.py
.
Calculates the mean of the per-class accuracies.
Calculates the accuracy for each class, then takes the mean of that.
For estimation of the metric over a stream of data, the function creates an
update_op
operation that updates the accuracy of each class and returns
them.
If weights
is None
, weights default to 1. Use weights of 0 to mask values.
Args:
labels
: ATensor
of ground truth labels with shape [batch size] and of typeint32
orint64
. The tensor will be flattened if its rank > 1.predictions
: ATensor
of prediction results for semantic labels, whose shape is [batch size] and typeint32
orint64
. The tensor will be flattened if its rank > 1.num_classes
: The possible number of labels the prediction task can have. This value must be provided, since two variables with shape = [num_classes] will be allocated.weights
: OptionalTensor
whose rank is either 0, or the same rank aslabels
, and must be broadcastable tolabels
(i.e., all dimensions must be either1
, or the same as the correspondinglabels
dimension).metrics_collections
: An optional list of collections that `mean_per_class_accuracy' should be added to.updates_collections
: An optional list of collectionsupdate_op
should be added to.name
: An optional variable_scope name.
Returns:
mean_accuracy
: ATensor
representing the mean per class accuracy.update_op
: An operation that updates the accuracy tensor.
Raises:
ValueError
: Ifpredictions
andlabels
have mismatched shapes, or ifweights
is notNone
and its shape doesn't matchpredictions
, or if eithermetrics_collections
orupdates_collections
are not a list or tuple.RuntimeError
: If eager execution is enabled.