TensorFlow函數(shù):tf.metrics.mean_iou

2018-09-28 14:50 更新

tf.metrics.mean_iou函數(shù)

tf.metrics.mean_iou(
    labels,
    predictions,
    num_classes,
    weights=None,
    metrics_collections=None,
    updates_collections=None,
    name=None
)

定義在:tensorflow/python/ops/metrics_impl.py.

計(jì)算每步mean Intersection-Over-Union(mIOU).

Mean Intection-Over-Union是語(yǔ)義圖像分割的常用評(píng)估指標(biāo),它首先計(jì)算每個(gè)語(yǔ)義類(lèi)的IOU,然后計(jì)算平均類(lèi).

IOU定義如下:IOU = true_positive /(true_positive + false_positive + false_negative).

predictions在混淆矩陣中累積,通過(guò)weights加權(quán),然后從中計(jì)算mIOU.

為了估計(jì)數(shù)據(jù)流上的度量,該函數(shù)創(chuàng)建一個(gè)update_op操作來(lái)更新這些變量并返回mean_iou.

如果weights是None,則權(quán)重默認(rèn)為1,使用權(quán)重0來(lái)屏蔽值.

參數(shù):

  • labels:具有形狀[batch size]和類(lèi)型為int32或int64的正確標(biāo)記(ground truth)的labels的Tensor.如果秩> 1,則張量將flatten.
  • predictions:語(yǔ)義labels的預(yù)測(cè)結(jié)果的Tensor,其形狀為[batch size]和類(lèi)型為int32或int64.如果秩> 1,則張量將flatten.
  • num_classes:預(yù)測(cè)任務(wù)可能具有的labels數(shù)量.必須提供此值,因?yàn)閷⒎峙渚S度= [num_classes,num_classes]的混淆矩陣.
  • weights:可選的Tensor,其秩為0或與labels具有相同的秩,并且必須可廣播到labels(即,所有維度必須為1或者與相應(yīng)的labels維度相同).
  • metrics_collections:mean_iou應(yīng)添加到的集合的可選列表.
  • updates_collections:update_op應(yīng)添加到的集合的可選列表.
  • name:可選的variable_scope名稱(chēng).

返回:

  • mean_iou:表示Mean Intection-Over-Union的Tensor.
  • update_op:增加混淆矩陣的操作.

可能引發(fā)的異常:

  • ValueError:如果predictions和labels有不匹配的形狀,或者weights不是None,并且它的形狀與predictions不匹配,或者如果metrics_collections或updates_collections中任意一個(gè)不是一個(gè)列表或元組.
  • RuntimeError:如果啟用了急切執(zhí)行.
以上內(nèi)容是否對(duì)您有幫助:
在線(xiàn)筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)