tensorflow的平均值不';我不能正常工作
上面是我运行mean_iou的代码。该代码的结果是:tensorflow的平均值不';我不能正常工作,tensorflow,Tensorflow,上面是我运行mean_iou的代码。该代码的结果是: import tensorflow as tf import numpy as np lab = tf.placeholder(shape=[None, None], dtype=tf.int32) pred= tf.placeholder(shape=[None, None], dtype=tf.int32) iou, conf_mat = tf.metrics.mean_iou(lab, pred, num_classes=2) se
import tensorflow as tf
import numpy as np
lab = tf.placeholder(shape=[None, None], dtype=tf.int32)
pred= tf.placeholder(shape=[None, None], dtype=tf.int32)
iou, conf_mat = tf.metrics.mean_iou(lab, pred, num_classes=2)
sess = tf.Session()
sess.run(tf.local_variables_initializer())
with tf.control_dependencies([conf_mat]):
iou = tf.identity(iou)
_iou=sess.run(iou, {lab:[[1,1,1], [1,1,1]], pred:[[1,1,1],[1,1,1]]})
print(_iou)
print(sess.run('mean_iou/total_confusion_matrix:0'))
即使混淆矩阵给出了正确的结果,我的iou预期分数是1.0。
当我重新运行tf.control_dependencies下面的代码时,我会将混淆矩阵更新为[[0,0],[0,12],iou分数为1.0
但是,当我尝试先运行update ops for MISSION matrix,然后分别运行iou分数时,我得到了预期的结果
这是否意味着tensorflow在这方面会遇到一些错误?这是一个正在提交的问题:谢谢,这正是我想要的:t tf指标不应该在对session.run的同一个调用中使用和更新,所以分别运行这两个操作。嗯,但是如果tensorflow支持它,会更好吗?在某些情况下,在一次调用中获得度量分数对于将度量集成到其他框架(如keras)来说必须更加方便。
0.0
[[0. 0.]
[0. 6.]]