| """ |
| Copyright (c) 2022, salesforce.com, inc. |
| All rights reserved. |
| SPDX-License-Identifier: BSD-3-Clause |
| For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/BSD-3-Clause |
| """ |
|
|
| from minigpt4.datasets.builders.base_dataset_builder import BaseDatasetBuilder |
|
|
| from minigpt4.common.registry import registry |
| from minigpt4.datasets.datasets.aok_vqa_datasets import AOKVQADataset |
| from minigpt4.datasets.datasets.aok_vqa_reasoning_datasets import AOKVQAReasoningDataset |
| |
| from minigpt4.datasets.datasets.coco_vqa_datasets import COCOVQADataset, COCOVQGDataset, COCOVQAEvalDataset |
| |
| from minigpt4.datasets.datasets.gqa_datasets import GQADataset, GQAEvalDataset |
| from minigpt4.datasets.datasets.doc_dataset import SingleSlideVQADataset, OCRVQADataset |
|
|
|
|
|
|
| @registry.register_builder("coco_vqa") |
| class COCOVQABuilder(BaseDatasetBuilder): |
| train_dataset_cls = COCOVQADataset |
| eval_dataset_cls = COCOVQAEvalDataset |
|
|
| DATASET_CONFIG_DICT = { |
| "default": "configs/datasets/coco/defaults_vqa.yaml", |
| "eval": "configs/datasets/coco/eval_vqa.yaml", |
| } |
| |
|
|
| |
| |
| |
| |
|
|
|
|
| @registry.register_builder("ok_vqa") |
| class OKVQABuilder(COCOVQABuilder): |
| DATASET_CONFIG_DICT = { |
| "default": "configs/datasets/okvqa/defaults.yaml", |
| } |
|
|
|
|
| @registry.register_builder("aok_vqa") |
| class AOKVQABuilder(BaseDatasetBuilder): |
| train_dataset_cls = AOKVQADataset |
| |
|
|
| DATASET_CONFIG_DICT = {"default": "configs/datasets/aokvqa/defaults.yaml"} |
|
|
| @registry.register_builder("aok_vqa_reasoning") |
| class AOKVQABuilder(BaseDatasetBuilder): |
| train_dataset_cls = AOKVQAReasoningDataset |
| |
|
|
| DATASET_CONFIG_DICT = {"default": "configs/datasets/aokvqa_reasoning/defaults.yaml"} |
|
|
|
|
| @registry.register_builder("gqa") |
| class GQABuilder(BaseDatasetBuilder): |
| train_dataset_cls = GQADataset |
| |
|
|
| DATASET_CONFIG_DICT = { |
| |
| |
| "default": "configs/datasets/gqa/balanced_val.yaml", |
| |
| } |
|
|
|
|
|
|
| @registry.register_builder("coco_vqg") |
| class COCOVQGBuilder(BaseDatasetBuilder): |
| train_dataset_cls = COCOVQGDataset |
|
|
| DATASET_CONFIG_DICT = { |
| "default": "configs/datasets/coco/defaults_vqg.yaml", |
| } |
|
|
|
|
| @registry.register_builder("ok_vqg") |
| class OKVQGBuilder(COCOVQGBuilder): |
| DATASET_CONFIG_DICT = { |
| "default": "configs/datasets/okvqa/defaults_vqg.yaml", |
| } |
|
|
|
|
| |
| |
| |
|
|
| |
|
|
|
|
| class DocumentVQABuilder(BaseDatasetBuilder): |
| def _download_ann(self): |
| pass |
|
|
| def _download_vis(self): |
| pass |
|
|
| def build(self): |
| self.build_processors() |
| build_info = self.config.build_info |
|
|
| datasets = dict() |
| split = "train" |
|
|
| dataset_cls = self.train_dataset_cls |
| datasets[split] = dataset_cls( |
| vis_processor=self.vis_processors[split], |
| text_processor=self.text_processors[split], |
| vis_root=build_info.image_path, |
| ann_path=build_info.ann_path |
| ) |
|
|
| return datasets |
|
|
|
|
| @registry.register_builder("sslidevqa") |
| class SingleSlideVQABuilder(DocumentVQABuilder): |
| train_dataset_cls = SingleSlideVQADataset |
| DATASET_CONFIG_DICT = {"default": "configs/datasets/doc/sslidevqa.yaml"} |
|
|
|
|
| @registry.register_builder("ocrvqa") |
| class OCRVQABuilder(DocumentVQABuilder): |
| train_dataset_cls = OCRVQADataset |
| DATASET_CONFIG_DICT = {"default": "configs/datasets/doc/ocrvqa.yaml"} |