tf.metrics.mean_iou(
labels,
predictions,
num_classes,
weights=None,
metrics_collections=None,
updates_collections=None,
name=None
)
Defined in tensorflow/python/ops/metrics_impl.py.
Calculate per-step mean Intersection-Over-Union (mIOU).
Mean Intersection-Over-Union is a common evaluation metric for
semantic image segmentation, which first computes the IOU for each
semantic class and then computes the average over classes.
IOU is defined as follows:
IOU = true_positive / (true_positive + false_positive + false_negative).
The predictions are accumulated in a confusion matrix, weighted by weights,
and mIOU is then calculated from it.
For estimation of the metric over a stream of data, the function creates an
update_op operation that updates these variables and returns the mean_iou.
If weights is None, weights default to 1. Use weights of 0 to mask values.
Args:
labels: ATensorof ground truth labels with shape [batch size] and of typeint32orint64. The tensor will be flattened if its rank > 1.predictions: ATensorof prediction results for semantic labels, whose shape is [batch size] and typeint32orint64. 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 a confusion matrix of dimension = [num_classes, num_classes] will be allocated.weights: OptionalTensorwhose 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 correspondinglabelsdimension).metrics_collections: An optional list of collections thatmean_ioushould be added to.updates_collections: An optional list of collectionsupdate_opshould be added to.name: An optional variable_scope name.
Returns:
mean_iou: ATensorrepresenting the mean intersection-over-union.update_op: An operation that increments the confusion matrix.
Raises:
ValueError: Ifpredictionsandlabelshave mismatched shapes, or ifweightsis notNoneand its shape doesn't matchpredictions, or if eithermetrics_collectionsorupdates_collectionsare not a list or tuple.RuntimeError: If eager execution is enabled.