Esempio n. 1
0
    def scores(self, i=None, logger=None):
        confs = self._confs
        pixels = self._pixels

        num_classes = pixels.shape[0]
        x_num = pixels.shape[1]

        class_pixels = pixels.sum(1)
        class_pixels += class_pixels == 0
        scores = confs[xrange(num_classes), xrange(num_classes), :].sum(1)
        acc = scores.sum() / pixels.sum()
        cls_accs = scores / class_pixels
        class_preds = confs.sum(0).sum(1)
        ious = scores / (class_pixels + class_preds - scores)

        logger = self._logger if logger is None else logger
        if logger is not None:
            if i is not None:
                speed = 1. * self._computed.sum() / (time.time() - self._start)
                logger.info('Done {}/{} with speed: {:.2f}/s'.format(
                    i + 1, x_num, speed))
            name = '' if self._label is None else '{}, '.format(self._label)
            logger.info('{}pixel acc: {:.2f}%, mean acc: {:.2f}%, mean iou: {:.2f}%'. \
                        format(name, acc * 100, cls_accs.mean() * 100, ious.mean() * 100))
            with util.np_print_options(formatter={'float': '{:5.2f}'.format}):
                logger.info('\n{}'.format(cls_accs * 100))
                logger.info('\n{}'.format(ious * 100))

        return acc, cls_accs, ious
Esempio n. 2
0
 def scores(self, i=None, logger=None):
     confs = self._confs
     pixels = self._pixels
     
     num_classes = pixels.shape[0]
     x_num = pixels.shape[1]
     
     class_pixels = pixels.sum(1)
     class_pixels += class_pixels == 0
     scores = confs[xrange(num_classes), xrange(num_classes), :].sum(1)
     acc = scores.sum() / pixels.sum()
     cls_accs = scores / class_pixels
     class_preds = confs.sum(0).sum(1)
     ious = scores / (class_pixels + class_preds - scores)
     
     logger = self._logger if logger is None else logger
     if logger is not None:
         if i is not None:
             speed = 1.*self._computed.sum() / (time.time() - self._start)
             logger.info('Done {}/{} with speed: {:.2f}/s'.format(i+1, x_num, speed))
         name = '' if self._label is None else '{}, '.format(self._label)
         logger.info('{}pixel acc: {:.2f}%, mean acc: {:.2f}%, mean iou: {:.2f}%'.\
             format(name, acc*100, cls_accs.mean()*100, ious.mean()*100))
         with util.np_print_options(formatter={'float': '{:5.2f}'.format}):
             logger.info('\n{}'.format(cls_accs*100))
             logger.info('\n{}'.format(ious*100))
     
     return acc, cls_accs, ious