Ejemplo n.º 1
0
def test_jigsaw(args, device_id, pt, step):
    device = "cpu" if args.visible_gpus == '-1' else "cuda"
    if (pt != ''):
        test_from = pt
    else:
        test_from = args.test_from
    logger.info('Loading checkpoint from %s' % test_from)
    checkpoint = torch.load(test_from,
                            map_location=lambda storage, loc: storage)
    opt = vars(checkpoint['opt'])
    for k in opt.keys():
        if (k in model_flags):
            setattr(args, k, opt[k])
    print(args)
    jigsaw = args.jigsaw if 'jigsaw' in args else 'jigsaw_lab'
    if jigsaw == 'jigsaw_dec':
        model = SentenceTransformer(args, device, checkpoint, sum_or_jigsaw=1)
    else:
        model = Jigsaw(args, device, checkpoint)
    model.eval()

    test_iter = jigsaw_data_loader.Dataloader(args,
                                              jigsaw_data_loader.load_dataset(
                                                  args, 'test', shuffle=False),
                                              args.test_batch_size,
                                              device,
                                              shuffle=False,
                                              is_test=True)
    trainer = build_trainer(args, device_id, model, None)
    trainer.test(test_iter, step)
Ejemplo n.º 2
0
 def train_iter_fct():
     return jigsaw_data_loader.Dataloader(args,
                                          jigsaw_data_loader.load_dataset(
                                              args, 'train', shuffle=True),
                                          args.batch_size,
                                          device,
                                          shuffle=True,
                                          is_test=False)