是否有可能在张量流中得到负值?我得到负值。
mIOU, conf_mat = tf.metrics.mean_iou(labels=gt_label, predictions=predict_labels,
num_classes=21, weights=tf.stack([0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]))
我正在屏蔽标签0,因为它是背景标签而未评估。但它是在损失函数中计算的。
答案 0 :(得分:0)
从形容词的描述来看,不可能得出负值:
IOU = true_positive /(true_positive + false_positive + false_negative)。预测是在混乱中累积的 矩阵,按权重加权,然后根据它计算mIOU。
很难说你为什么没有数据就得到它,因为看起来你正确使用它。
答案 1 :(得分:0)
给定的权重分别对应于预测/ gt向量中的一个值对。权重不适用于类索引。
要从miou计算中排除类,您可以按以下方式创建权重:
weights = tf.cast(tf.not_equal(gt_label, 0), tf.int32)
此代码段将标签0标记为0,将所有其他标签标记为1。