def build_dataset()

in siammot/data/build_train_data_loader.py [0:0]


def build_dataset(cfg):
    """

    """

    dataset_list = cfg.DATASETS.TRAIN
    if not isinstance(dataset_list, (list, tuple)):
        raise RuntimeError(
            "dataset_list should be a list of strings, got {}".format(dataset_list)
        )

    datasets = []
    for dataset_key in dataset_list:
        dataset_anno, dataset_info = load_dataset_anno(cfg, dataset_key)
        modality = dataset_info['modality']
        transforms = build_siam_augmentation(cfg, is_train=True, modality=modality)
        data_filter_fn = build_data_filter_fn(dataset_key, is_train=True)

        if modality == 'image':
            assert 'image_folder' in dataset_info
            _dataset = ImageDataset(dataset_anno,
                                    dataset_info['image_folder'],
                                    transforms=transforms,
                                    frames_per_image=cfg.VIDEO.RANDOM_FRAMES_PER_CLIP,
                                    amodal=cfg.INPUT.AMODAL)
        else:
            _dataset = VideoDataset(dataset_anno,
                                    sampling_interval=cfg.VIDEO.TEMPORAL_SAMPLING,
                                    clip_len=cfg.VIDEO.TEMPORAL_WINDOW,
                                    transforms=transforms,
                                    filter_fn=data_filter_fn,
                                    frames_in_clip=cfg.VIDEO.RANDOM_FRAMES_PER_CLIP,
                                    amodal=cfg.INPUT.AMODAL)
        datasets.append(_dataset)

    dataset = ConcatDataset(datasets)

    return dataset