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