Example #1
0
    #     param.requires_grad = False
    model.to(device)
    logisticReg.to(device)
    optimizer_model = torch.optim.SGD(chain(model.parameters(),
                                            logisticReg.parameters()),
                                      lr=lr,
                                      momentum=0.9,
                                      weight_decay=0.001)
    model.train()
    logisticReg.train()
    #  --------------------------------------------------------------------------------------
    #  Resume training if start is False
    #  --------------------------------------------------------------------------------------
    if not start:
        reporter = Reporter(ckpt_root=os.path.join(ROOT_DIR, 'ckpt'),
                            exp=exp_name,
                            monitor='acc')
        last_model_filename = reporter.select_last(run=run_name).selected_ckpt
        last_epoch = int(reporter.select_last(run=run_name).last_epoch)
        loss0 = reporter.select_last(run=run_name).last_loss
        loss0 = float(loss0[:-4])
        model.load_state_dict(
            torch.load(last_model_filename)['model_state_dict'])
        reporter = Reporter(ckpt_root=os.path.join(ROOT_DIR, 'ckpt'),
                            exp=exp_name,
                            monitor='acc')
        last_model_filename = reporter.select_last(run=run_name +
                                                   '_lr').selected_ckpt
        logisticReg.load_state_dict(
            torch.load(last_model_filename)['model_state_dict'])
Example #2
0
 # Model Definitions
 #  --------------------------------------------------------------------------------------
 model = HashSetNet(base_model_architecture=model_type,
                    num_clusters=num_clusters,
                    vset_dim=vlad_dim,
                    vlad_v2=vlad_v2,
                    pooling=pooling)
 logisticReg = LogisticReg()
 model.to(device)
 logisticReg.to(device)
 #  --------------------------------------------------------------------------------------
 #  Loading the model
 #  --------------------------------------------------------------------------------------
 # reporter.monitor = 'auc' or 'acc' ????????????
 reporter = Reporter(ckpt_root=os.path.join(ROOT_DIR, 'ckpt'),
                     exp=exp_name,
                     monitor='acc')
 best_model_filename = reporter.select_best(run=run_name).selected_ckpt
 # print(best_model_filename)
 model.load_state_dict(torch.load(best_model_filename)['model_state_dict'])
 reporter = Reporter(ckpt_root=os.path.join(ROOT_DIR, 'ckpt'),
                     exp=exp_name,
                     monitor='acc')
 best_model_filename = reporter.select_best(run=run_name +
                                            '_lr').selected_ckpt
 # print(best_model_filename)
 logisticReg.load_state_dict(
     torch.load(best_model_filename)['model_state_dict'])
 # model.eval()
 # logisticReg.eval()
 tot_loss, tot_acc = 0, 0