tf.contrib.metrics.streaming_mean_iou
Stay organized with collections
Save and categorize content based on your preferences.
Calculate per-step mean Intersection-Over-Union (mIOU).
tf.contrib.metrics.streaming_mean_iou(
predictions, labels, num_classes, weights=None, metrics_collections=None,
updates_collections=None, name=None
)
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 |
predictions
|
A Tensor of prediction results for semantic labels, whose
shape is [batch size] and type int32 or int64 . The tensor will be
flattened, if its rank > 1.
|
labels
|
A Tensor of ground truth labels with shape [batch size] and of
type int32 or int64 . 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
|
An optional Tensor whose shape is broadcastable to predictions .
|
metrics_collections
|
An optional list of collections that mean_iou should
be added to.
|
updates_collections
|
An optional list of collections update_op should be
added to.
|
name
|
An optional variable_scope name.
|
Returns |
mean_iou
|
A Tensor representing the mean intersection-over-union.
|
update_op
|
An operation that increments the confusion matrix.
|
Raises |
ValueError
|
If predictions and labels have mismatched shapes, or if
weights is not None and its shape doesn't match predictions , or if
either metrics_collections or updates_collections are not a list or
tuple.
|
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2020-10-01 UTC.
[null,null,["Last updated 2020-10-01 UTC."],[],[],null,["# tf.contrib.metrics.streaming_mean_iou\n\n\u003cbr /\u003e\n\n|------------------------------------------------------------------------------------------------------------------------------------------------|\n| [View source on GitHub](https://github.com/tensorflow/tensorflow/blob/v1.15.0/tensorflow/contrib/metrics/python/ops/metric_ops.py#L3483-L3538) |\n\nCalculate per-step mean Intersection-Over-Union (mIOU). \n\n tf.contrib.metrics.streaming_mean_iou(\n predictions, labels, num_classes, weights=None, metrics_collections=None,\n updates_collections=None, name=None\n )\n\nMean Intersection-Over-Union is a common evaluation metric for\nsemantic image segmentation, which first computes the IOU for each\nsemantic class and then computes the average over classes.\nIOU is defined as follows:\nIOU = true_positive / (true_positive + false_positive + false_negative).\nThe predictions are accumulated in a confusion matrix, weighted by `weights`,\nand mIOU is then calculated from it.\n\nFor estimation of the metric over a stream of data, the function creates an\n`update_op` operation that updates these variables and returns the `mean_iou`.\n\nIf `weights` is `None`, weights default to 1. Use weights of 0 to mask values.\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Args ---- ||\n|-----------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `predictions` | A `Tensor` of prediction results for semantic labels, whose shape is \\[batch size\\] and type `int32` or `int64`. The tensor will be flattened, if its rank \\\u003e 1. |\n| `labels` | A `Tensor` of ground truth labels with shape \\[batch size\\] and of type `int32` or `int64`. The tensor will be flattened, if its rank \\\u003e 1. |\n| `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. |\n| `weights` | An optional `Tensor` whose shape is broadcastable to `predictions`. |\n| `metrics_collections` | An optional list of collections that `mean_iou` should be added to. |\n| `updates_collections` | An optional list of collections `update_op` should be added to. |\n| `name` | An optional variable_scope name. |\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Returns ------- ||\n|-------------|-----------------------------------------------------------|\n| `mean_iou` | A `Tensor` representing the mean intersection-over-union. |\n| `update_op` | An operation that increments the confusion matrix. |\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Raises ------ ||\n|--------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `ValueError` | If `predictions` and `labels` have mismatched shapes, or if `weights` is not `None` and its shape doesn't match `predictions`, or if either `metrics_collections` or `updates_collections` are not a list or tuple. |\n\n\u003cbr /\u003e"]]