def get_train_dataset(cfg, root_dataset_path, train_dataset_name, eval_binary_path): # We only create the train dataset if we need PCA or whitening training. # Otherwise not. if cfg.IMG_RETRIEVAL.SHOULD_TRAIN_PCA_OR_WHITENING: train_data_path = f"{root_dataset_path}/{train_dataset_name}" assert PathManager.exists( train_data_path), f"Unknown path: {train_data_path}" num_samples = 10 if cfg.IMG_RETRIEVAL.DEBUG_MODE else None if is_revisited_dataset(train_dataset_name): train_dataset = RevisitedInstanceRetrievalDataset( train_dataset_name, root_dataset_path) elif is_whiten_dataset(train_dataset_name): train_dataset = WhiteningTrainingImageDataset( train_data_path, cfg.IMG_RETRIEVAL.WHITEN_IMG_LIST, num_samples=num_samples, ) else: train_dataset = InstanceRetrievalDataset(train_data_path, eval_binary_path, num_samples=num_samples) else: train_dataset = None return train_dataset
def get_eval_dataset(cfg, root_dataset_path, eval_dataset_name, eval_binary_path): eval_data_path = f"{root_dataset_path}/{eval_dataset_name}" assert PathManager.exists(eval_data_path), f"Unknown path: {eval_data_path}" num_samples = ( None if cfg.IMG_RETRIEVAL.NUM_DATABASE_SAMPLES == -1 else cfg.IMG_RETRIEVAL.NUM_DATABASE_SAMPLES ) if is_revisited_dataset(eval_dataset_name): eval_dataset = RevisitedInstanceRetrievalDataset( eval_dataset_name, root_dataset_path, num_samples=num_samples ) elif is_instre_dataset(eval_dataset_name): eval_dataset = InstreDataset(eval_data_path, num_samples=num_samples) elif is_copdays_dataset(eval_dataset_name): eval_dataset = CopyDaysDataset( data_path=eval_data_path, num_samples=num_samples, use_distractors=cfg.IMG_RETRIEVAL.USE_DISTRACTORS, ) else: eval_dataset = InstanceRetrievalDataset( eval_data_path, eval_binary_path, num_samples=num_samples ) return eval_dataset
def get_eval_dataset(cfg, root_dataset_path, eval_dataset_name, eval_binary_path): eval_data_path = f"{root_dataset_path}/{eval_dataset_name}" assert PathManager.exists(eval_data_path), f"Unknown path: {eval_data_path}" num_samples = 20 if cfg.IMG_RETRIEVAL.DEBUG_MODE else None if is_revisited_dataset(eval_dataset_name): eval_dataset = RevisitedInstanceRetrievalDataset( eval_dataset_name, root_dataset_path ) elif is_instre_dataset(eval_dataset_name): eval_dataset = InstreDataset(eval_data_path, num_samples=num_samples) else: eval_dataset = InstanceRetrievalDataset( eval_data_path, eval_binary_path, num_samples=num_samples ) return eval_dataset
def get_train_dataset(cfg, root_dataset_path, train_dataset_name, eval_binary_path): # We only create the train dataset if we need PCA or whitening training. # Otherwise not. if cfg.IMG_RETRIEVAL.TRAIN_PCA_WHITENING: train_data_path = f"{root_dataset_path}/{train_dataset_name}" assert PathManager.exists(train_data_path), f"Unknown path: {train_data_path}" num_samples = ( None if cfg.IMG_RETRIEVAL.NUM_TRAINING_SAMPLES == -1 else cfg.IMG_RETRIEVAL.NUM_TRAINING_SAMPLES ) if is_revisited_dataset(train_dataset_name): train_dataset = RevisitedInstanceRetrievalDataset( train_dataset_name, root_dataset_path, num_samples=num_samples ) elif is_whiten_dataset(train_dataset_name): train_dataset = WhiteningTrainingImageDataset( train_data_path, cfg.IMG_RETRIEVAL.WHITEN_IMG_LIST, num_samples=num_samples, ) elif is_copdays_dataset(train_dataset_name): train_dataset = CopyDaysDataset( data_path=train_data_path, num_samples=num_samples, use_distractors=cfg.IMG_RETRIEVAL.USE_DISTRACTORS, ) elif is_oxford_paris_dataset(train_dataset_name): train_dataset = InstanceRetrievalDataset( train_data_path, eval_binary_path, num_samples=num_samples ) else: train_dataset = GenericInstanceRetrievalDataset( train_data_path, num_samples=num_samples ) else: train_dataset = None return train_dataset