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
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