Esempio n. 1
0
    from utils.print_easydict import print_easydict

    args = parse_args('Deep learning of graph matching evaluation code.')

    import importlib
    mod = importlib.import_module(cfg.MODULE)
    Net = mod.Net

    torch.manual_seed(cfg.RANDOM_SEED)

    image_dataset = ScannetDataset(cfg.DATASET_FULL_NAME,
                                   sets='test',
                                   length=cfg.EVAL.SAMPLES,
                                   obj_resize=cfg.PAIR.RESCALE,
                                   expand_region=cfg.EXPAND_REGION)
    dataloader = get_dataloader(image_dataset, shuffle=False)

    device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")

    model = Net(cfg.OUTPUT_SIZE, cfg.SCALES)
    model = model.to(device)
    #model = DataParallel(model, device_ids=cfg.GPUS)

    if not Path(cfg.OUTPUT_PATH).exists():
        Path(cfg.OUTPUT_PATH).mkdir(parents=True)
    now_time = datetime.now().strftime('%Y-%m-%d-%H-%M-%S')
    with DupStdoutFileManager(
            str(Path(cfg.OUTPUT_PATH) /
                ('eval_log_' + now_time + '.log'))) as _:
        print_easydict(cfg)
        classes = dataloader.dataset.classes
    dataset_len = {
        'train': cfg.TRAIN.EPOCH_ITERS * cfg.BATCH_SIZE,
        'test': cfg.EVAL.SAMPLES
    }
    image_dataset = {
        x: ScannetDataset(cfg.DATASET_FULL_NAME,
                          sets=x,
                          length=dataset_len[x],
                          cls=cfg.TRAIN.CLASS if x == 'train' else None,
                          obj_resize=cfg.PAIR.RESCALE,
                          expand_region=cfg.EXPAND_REGION)
        for x in ('train', 'test')
    }
    dataloader = {
        x: get_dataloader(image_dataset[x], fix_seed=(x == 'test'))
        for x in ('train', 'test')
    }

    device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")

    model = Net(
        cfg.OUTPUT_SIZE,
        cfg.SCALES,
    )
    model = model.cuda()

    criterion = CrossEntropyLoss()

    optimizer = optim.SGD(model.parameters(),
                          lr=cfg.TRAIN.LR,
Esempio n. 3
0
    from utils.print_easydict import print_easydict

    args = parse_args('Deep learning of graph matching evaluation code.')

    import importlib
    mod = importlib.import_module(cfg.MODULE)
    Net = mod.Net

    torch.manual_seed(cfg.RANDOM_SEED)

    image_dataset = ScannetDataset(cfg.DATASET_FULL_NAME,
                                   sets='test',
                                   length=cfg.EVAL.SAMPLES,
                                   obj_resize=cfg.PAIR.RESCALE,
                                   expand_region=cfg.EXPAND_REGION)
    dataloader = get_dataloader(image_dataset)

    device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")

    model = Net(cfg.OUTPUT_SIZE, cfg.SCALES)
    model = model.to(device)

    if not Path(cfg.OUTPUT_PATH).exists():
        Path(cfg.OUTPUT_PATH).mkdir(parents=True)
    now_time = datetime.now().strftime('%Y-%m-%d-%H-%M-%S')
    with DupStdoutFileManager(
            str(Path(cfg.OUTPUT_PATH) /
                ('eval_log_' + now_time + '.log'))) as _:
        print_easydict(cfg)
        classes = dataloader.dataset.classes
        pcks = eval_model(