lr_schedulers.step(epoch) if epoch % 2 == 0: def_loss, total_loss, ter_accs, pro_accs = run_epoch(npi, 'eval', eval_data, writer, os.path.join(exp_dir, 'npi_{}.pth'.format(epoch))) if def_loss < Best_results['def_loss']: Best_results['def_loss'] = def_loss Best_results['epoch_def_loss'] = epoch if total_loss < Best_results['total_loss']: Best_results['total_loss'] = total_loss Best_results['epoch_total_loss'] = epoch if ter_accs > Best_results['ter_accs']: Best_results['ter_accs'] = ter_accs Best_results['epoch_ter_accs'] = epoch if pro_accs > Best_results['pro_accs']: Best_results['pro_accs'] = pro_accs Best_results['epoch_pro_accs'] = epoch torch.save(npi.state_dict(), os.path.join(exp_dir, 'npi_{}.pth'.format(epoch))) for key, val in Best_results.items(): if key.find('epoch') != -1: print('Best %s for test same at %d epoch' % (key, val)) else: print('Best %s for test same: %f' % (key, val)) else: epoch = 6 run_epoch(npi, 'test', test_data, None, os.path.join(exp_dir, 'npi_{}.pth'.format(epoch)))
if epoch % 2 == 0: def_loss, total_loss, ter_accs, pro_accs = run_epoch( npi, 'eval', eval_data, writer, os.path.join(exp_dir, 'npi_{}.pth'.format(epoch))) if def_loss < Best_results['def_loss']: Best_results['def_loss'] = def_loss Best_results['epoch_def_loss'] = epoch if total_loss < Best_results['total_loss']: Best_results['total_loss'] = total_loss Best_results['epoch_total_loss'] = epoch if ter_accs > Best_results['ter_accs']: Best_results['ter_accs'] = ter_accs Best_results['epoch_ter_accs'] = epoch if pro_accs > Best_results['pro_accs']: Best_results['pro_accs'] = pro_accs Best_results['epoch_pro_accs'] = epoch torch.save(npi.state_dict(), os.path.join(exp_dir, 'npi_{}.pth'.format(epoch))) for key, val in Best_results.items(): if key.find('epoch') != -1: print('Best %s for test same at %d epoch' % (key, val)) else: print('Best %s for test same: %f' % (key, val)) else: epoch = 6 run_epoch(npi, 'test', test_data, None, os.path.join(exp_dir, 'npi_{}.pth'.format(epoch)))