Ejemplo n.º 1
0
            if epoch % self.args.save_freq == 0:
                filename = 'epoch_%d_lfw_%.4f.pth.tar' % (epoch, max_lfw_acc)
                savename = os.path.join(self.args.save_to, filename)
                torch.save(
                    {
                        'epoch': epoch,
                        'backbone': self.model['backbone'].state_dict(),
                        'metric': self.model['metric'].state_dict(),
                        'lfw_acc': max_lfw_acc,
                    }, savename)

            if self.args.is_debug:
                break

    def train_runner(self):

        self._report_settings()

        self._model_loader()

        self._data_loader()

        self._main_loop()


if __name__ == "__main__":

    faceu = MetricFace(training_args())
    faceu.train_runner()
Ejemplo n.º 2
0
            shutil.copy(save_name, normal_name)

    def lgsc_training(self):

        self.result['max_acc'] = -1.0
        self.result['min_loss'] = 100
        for epoch in range(self.args.start_epoch, self.args.n_epoches + 1):

            start_time = time.time()
            self.result['epoch'] = epoch
            train_loss = self.train_one_epoch()
            test_info = self.test_one_epoch()
            finish_time = time.time()
            print('single epoch costs %.4f mins' %
                  ((finish_time - start_time) / 60))
            self.save_weights(test_info)

            if self.args.is_debug:
                break

    def main_runner(self):

        self._model_loader()
        self._data_loader()
        self.lgsc_training()


if __name__ == "__main__":

    lgsc = LGSCTrainer(args=training_args())
    lgsc.main_runner()
Ejemplo n.º 3
0
        self.result['opt_thresh'] = -1.0
        self.result['sota_acc'] = 0.0
        for epoch in range(self.args.start_epoch, self.args.end_epoch + 1):

            start_time = time.time()
            self.result['epoch'] = epoch
            train_loss = self._train_one_epoch()
            self.model['scheduler'].step()
            eval_info = self._evaluate_one_epoch(loader='lfw')
            end_time = time.time()
            print('Single epoch cost time : %.2f mins' %
                  ((end_time - start_time) / 60))
            if self.args.is_debug:
                break

    def train_runner(self):

        self._report_settings()

        self._model_loader()

        self._data_loader()

        self._point_estimate_training()


if __name__ == "__main__":

    faceu = PointEstimateTrainer(training_args())
    faceu.train_runner()
Ejemplo n.º 4
0
        for epoch in range(self.args.start_epoch, self.args.end_epoch + 1):

            start_time = time.time()
            self.result['epoch'] = epoch
            train_loss = self._train_one_epoch(epoch)
            self.model['scheduler'].step()
            eval_info = self._evaluate_one_epoch(loader='lfw')
            end_time = time.time()
            print('Single epoch cost time : %.2f mins' %
                  ((end_time - start_time) / 60))
            self._save_weights(eval_info)

            if self.args.is_debug:
                break

    def train_runner(self):

        self._report_settings()

        self._model_loader()

        self._data_loader()

        self._dul_training()


if __name__ == "__main__":

    dul_cls = DulClsTrainer(training_args())
    dul_cls.train_runner()
Ejemplo n.º 5
0
            val_loss = self._model_eval()

            if val_loss < min_loss:
                min_loss = val_loss
                filename = os.path.join(str(self.args.snapshot),
                                        'sota.pth.tar')
                torch.save(
                    {
                        'epoch': epoch,
                        'backbone': self.model['backbone'].state_dict(),
                        'auxilnet': self.model['auxilnet'].state_dict()
                    }, filename)
                print('sota performance was updated ...')
            self.model['scheduler'].step()

    def train_runner(self):

        self._report_settings()

        self._model_loader()

        self._data_loader()

        self._main_loop()


if __name__ == "__main__":

    pfld_trainer = PFLDTrain(training_args())
    pfld_trainer.train_runner()