TensorFlow函数:tf.metrics.mean_iou
2018-09-28 14:50 更新
tf.metrics.mean_iou函数
tf.metrics.mean_iou(
labels,
predictions,
num_classes,
weights=None,
metrics_collections=None,
updates_collections=None,
name=None
)
定义在:tensorflow/python/ops/metrics_impl.py.
计算每步mean Intersection-Over-Union(mIOU).
Mean Intection-Over-Union是语义图像分割的常用评估指标,它首先计算每个语义类的IOU,然后计算平均类.
IOU定义如下:IOU = true_positive /(true_positive + false_positive + false_negative).
predictions在混淆矩阵中累积,通过weights加权,然后从中计算mIOU.
为了估计数据流上的度量,该函数创建一个update_op操作来更新这些变量并返回mean_iou.
如果weights是None,则权重默认为1,使用权重0来屏蔽值.
参数:
- labels:具有形状[batch size]和类型为int32或int64的正确标记(ground truth)的labels的Tensor.如果秩> 1,则张量将flatten.
- predictions:语义labels的预测结果的Tensor,其形状为[batch size]和类型为int32或int64.如果秩> 1,则张量将flatten.
- num_classes:预测任务可能具有的labels数量.必须提供此值,因为将分配维度= [num_classes,num_classes]的混淆矩阵.
- weights:可选的Tensor,其秩为0或与labels具有相同的秩,并且必须可广播到labels(即,所有维度必须为1或者与相应的labels维度相同).
- metrics_collections:mean_iou应添加到的集合的可选列表.
- updates_collections:update_op应添加到的集合的可选列表.
- name:可选的variable_scope名称.
返回:
- mean_iou:表示Mean Intection-Over-Union的Tensor.
- update_op:增加混淆矩阵的操作.
可能引发的异常:
- ValueError:如果predictions和labels有不匹配的形状,或者weights不是None,并且它的形状与predictions不匹配,或者如果metrics_collections或updates_collections中任意一个不是一个列表或元组.
- RuntimeError:如果启用了急切执行.
以上内容是否对您有帮助:
更多建议: