示例#1
0
        def save_stats(self, epoch):
            # Save logger
            if epoch is not None:
                # add log
                self.logger_stats.write(
                    '----------------- Epoch scores summary ------------------------- \n'
                )
                self.logger_stats.write(
                    '[epoch %d], [val loss %.5f], [acc %.2f], [mean_IoU %.2f] \n'
                    % (epoch, self.stats.val.loss, 100 * self.stats.val.acc,
                       100 * self.stats.val.mIoU))
                self.logger_stats.write(
                    '---------------------------------------------------------------- \n'
                )

                # add scores to tensorboard
                self.writer.add_scalar('losses/epoch', self.stats.val.loss,
                                       epoch)
                self.writer.add_scalar('metrics/accuracy',
                                       100. * self.stats.val.acc, epoch)
                self.writer.add_scalar('metrics/mIoU',
                                       100. * self.stats.val.mIoU, epoch)
                conf_mat_img = confm_metrics2image(
                    self.stats.val.get_confm_norm(), self.cf.labels)
                #self.writer.add_image('metrics/conf_matrix', conf_mat_img, epoch)
            else:
                self.logger_stats.write(
                    '----------------- Scores summary -------------------- \n')
                self.logger_stats.write(
                    '[val loss %.5f], [acc %.2f], [mean_IoU %.2f]\n' %
                    (self.stats.val.loss, 100 * self.stats.val.acc,
                     100 * self.stats.val.mIoU))
                self.logger_stats.write(
                    '---------------------------------------------------------------- \n'
                )
示例#2
0
        def save_stats(self, epoch, mode):
            # Save logger
            if epoch is not None:
                # add scores to log
                self.logger_stats.write('Classification validation scores:\n')
                self.logger_stats.write(
                    '[epoch %d], [val loss %.5f], [acc %.2f], [precision %.2f], [recall %.2f], [f1score %.2f]\n' % (
                        epoch, self.stats.val.loss, 100 * self.stats.val.acc, 100 * self.stats.val.precision,
                        100 * self.stats.val.recall, 100 * self.stats.val.f1score))

                # add scores to tensorboard
                self.writer.add_scalar('losses/epoch', self.stats.val.loss, epoch)
                # self.writer.add_scalar('metrics/accuracy', 100. * self.stats.val.acc, epoch)
                self.writer.add_scalar('metrics/precision', 100. * self.stats.val.precision, epoch)
                # self.writer.add_scalar('metrics/recall', 100. * self.stats.val.recall, epoch)
                # self.writer.add_scalar('metrics/f1score', 100. * self.stats.val.f1score, epoch)
                conf_mat_img = confm_metrics2image(self.stats.val.get_confm_norm(), self.cf.labels)
                self.writer.add_image('metrics/conf_matrix', conf_mat_img, epoch, dataformats='HWC')
            else:
                self.logger_stats.write('----------------- Scores summary --------------------\n')
                self.logger_stats.write(
                    '[%s loss %.5f], [acc %.2f], [precision %.2f], [recall %.2f], [f1score %.2f]\n' % (
                        mode, self.stats.val.loss, 100 * self.stats.val.acc, 100 * self.stats.val.precision,
                        100 * self.stats.val.recall, 100 * self.stats.val.f1score))
                self.logger_stats.write('---------------------------------------------------------------- \n')
 def save_stats_epoch(self, epoch):
     # Save logger
     if epoch is not None:
         # Epoch loss tensorboard
         self.writer.add_scalar('losses/epoch', self.stats.train.loss, epoch)
         self.writer.add_scalar('metrics/accuracy', 100.*self.stats.train.acc, epoch)
         self.writer.add_scalar('metrics/mIoU', 100.*self.stats.train.mIoU, epoch)
         conf_mat_img = confm_metrics2image(self.stats.train.get_confm_norm(), self.cf.labels)
示例#4
0
        def save_stats_epoch(self, epoch):
            # Save logger
            if epoch is not None:
                # Epoch loss tensorboard
                self.writer.add_scalar('losses/epoch', self.stats.train.loss, epoch)
                # self.writer.add_scalar('metrics/accuracy', 100. * self.stats.train.acc, epoch)
                self.writer.add_scalar('metrics/precision', 100. * self.stats.train.precision, epoch)
                # self.writer.add_scalar('metrics/recall', 100. * self.stats.train.recall, epoch)
                # self.writer.add_scalar('metrics/f1score', 100. * self.stats.train.f1score, epoch)
                conf_mat_img = confm_metrics2image(self.stats.train.get_confm_norm(), self.cf.labels)
                self.writer.add_image('metrics/conf_matrix', conf_mat_img, epoch, dataformats='HWC')

                # Save learning rate
                # self.logger_stats.write(str(self.model.scheduler.get_lr()))    # Step, MultiStep
                for param_group in self.model.optimizer.param_groups:
                    self.writer.add_scalar('lr/lr', param_group['lr'], epoch)  # ReduceLROnPlateau
示例#5
0
 def save_stats_epoch(self, epoch):
     # Save logger
     if epoch is not None:
         # Epoch loss tensorboard
         self.writer.add_scalar('losses/epoch', self.stats.train.loss,
                                epoch)
         self.writer.add_scalar('metrics/accuracy',
                                100. * self.stats.train.acc, epoch)
         self.writer.add_scalar('metrics/mIoU',
                                100. * self.stats.train.mIoU, epoch)
         conf_mat_img = confm_metrics2image(
             self.stats.train.get_confm_norm(), self.cf.labels)
         self.writer.add_image('metrics/conf_matrix',
                               conf_mat_img,
                               epoch,
                               dataformats='HWC')
         for param_group in self.model.optimizer.param_groups:
             self.writer.add_scalar('lr/lr', param_group['lr'], epoch)
 def save_stats_epoch(self, epoch):
     # Save logger
     if epoch is not None:
         # Epoch loss tensorboard
         self.writer.add_scalar('losses/epoch', self.stats.train.loss,
                                epoch)
         self.writer.add_scalar('metrics/accuracy',
                                100. * self.stats.train.acc, epoch)
         self.writer.add_scalar('metrics/precision',
                                100. * self.stats.train.precision,
                                epoch)
         self.writer.add_scalar('metrics/recall',
                                100. * self.stats.train.recall, epoch)
         self.writer.add_scalar('metrics/f1score',
                                100. * self.stats.train.f1score, epoch)
         conf_mat_img = confm_metrics2image(
             self.stats.train.get_confm_norm(), self.cf.labels)
         self.writer.add_image('metrics/conf_matrix', conf_mat_img,
                               epoch)