任何人都可以举例说明tor.flow中的tf.contrib.metrics.streaming_mean_iou如何工作?

时间:2017-06-13 17:54:06

标签: tensorflow

我正在使用tensorflow 0.11并正在运行一些图像分割测试。在图像分割中,我们通常计算IoU。我怎样才能使用tensorflow的tf.contrib.metrics.streaming_mean_iou?

mIoU, confusionMatrix = tf.contrib.metrics.streaming_mean_iou(pred_labels_vec,gt_labels_vec,NUM_CLASS)

init = tf.initialize_local_variables()

sess.run(init)

for i in range(1000):
  iou, _ = sess.run([mIoU, confusionMatrix])
  print(iou)
    
    

1 个答案:

答案 0 :(得分:1)

您的代码是正确的,以计算平均值。

如果您想为每个班级计算IoU,请参阅this question。您可以通过混淆矩阵计算它们。当您运行streaming_mean_iou时,tensorflow已经创建了一个名为total_confusion_matrix的局部变量(对于tf 0.11也是如此)。然后,您可以通过调用tf.local_variables()get_tensor_by_name来获取此矩阵。