seg.py 文件源码

python
阅读 35 收藏 0 点赞 0 评论 0

项目:Seg 作者: gxd1994 项目源码 文件源码
def _calculate_miou(self,logits,label_batch):
        with tf.variable_scope('MIOU_CAL'):
            confusion_matrix = tf.confusion_matrix(labels=tf.reshape(label_batch,[-1]),predictions=tf.reshape(logits,[-1]),num_classes=N_CLASSES,dtype=tf.float32)
            def cal_miou(matrix):
                sum_col = np.zeros(shape = [N_CLASSES],dtype=np.float32)
                sum_row = np.zeros(shape = [N_CLASSES],dtype=np.float32)
                miou = np.zeros(shape = [],dtype=np.float32)
                for i in range(N_CLASSES):
                    for j in range(N_CLASSES):
                        sum_row[i] += matrix[i][j]
                        sum_col[j] += matrix[i][j]
                for i in range(N_CLASSES):
                    miou += matrix[i][i]/(sum_col[i]+sum_row[i]-matrix[i][i])
                miou = (miou/N_CLASSES).astype(np.float32)
                return miou

            miou = tf.py_func(cal_miou, [confusion_matrix], tf.float32)
            # def miou_fun(eval,label):
            #
            #     miou1 = 0.0
            #     for i in range(BATCH_SIZE):
            #         img = eval[i]
            #         gt = label[i]
            #         miou1 += py_img_seg_eval.mean_IU(img, gt)
            #     miou1 = float(miou1/BATCH_SIZE)
            #     print miou1
            #     return miou1
            #

            #
            # miou1 = tf.py_func(miou_fun,[logits,label_batch],tf.double)

        return miou  #,miou1
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号