WhiteWolf21's picture
Initialization
be13417
"""
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 lavis.datasets.builders.base_dataset_builder import load_dataset_config
from lavis.datasets.builders.caption_builder import (
COCOCapBuilder,
MSRVTTCapBuilder,
MSVDCapBuilder,
VATEXCapBuilder,
MSRVTTCapInstructBuilder,
MSVDCapInstructBuilder,
VATEXCapInstructBuilder,
WebVid2MCapBuilder,
WebVid2MCapInstructBuilder,
VALORCaptionBuilder,
VALORCaptionInstructBuilder,
ViolinCapBuilder,
ViolinCapInstructBuilder,
VlepCaptionInstructBuilder,
VlepCaptionBuilder,
YouCookCaptionBuilder,
YouCookCaptionInstructBuilder,
COINCaptionBuilder,
COINCaptionInstructBuilder,
CharadeCaptionBuilder,
CharadeCaptionInstructBuilder,
TextCapsCapBuilder,
TextCapsCapInstructBuilder,
Flickr30kCapBuilder,
Flickr30kCapInstructBuilder
)
from lavis.datasets.builders.image_text_pair_builder import (
ConceptualCaption12MBuilder,
ConceptualCaption12MInstructBuilder,
ConceptualCaption3MBuilder,
ConceptualCaption3MInstructBuilder,
VGCaptionBuilder,
VGCaptionInstructBuilder,
SBUCaptionBuilder,
SBUCaptionInstructBuilder,
Laion400MBuilder,
Laion400MInstructBuilder
)
from lavis.datasets.builders.classification_builder import (
NLVRBuilder,
SNLIVisualEntailmentBuilder,
SNLIVisualEntailmentInstructBuilder,
ViolinEntailmentInstructBuilder,
ViolinEntailmentBuilder,
ESC50ClassificationBuilder
)
from lavis.datasets.builders.imagefolder_builder import ImageNetBuilder
from lavis.datasets.builders.video_qa_builder import (
MSRVTTQABuilder,
MSVDQABuilder,
MSRVTTQAInstructBuilder,
MSVDQAInstructBuilder,
MusicAVQABuilder,
MusicAVQAInstructBuilder
)
from lavis.datasets.builders.vqa_builder import (
COCOVQABuilder,
COCOVQAInstructBuilder,
OKVQABuilder,
OKVQAInstructBuilder,
AOKVQABuilder,
AOKVQAInstructBuilder,
VGVQABuilder,
VGVQAInstructBuilder,
GQABuilder,
GQAInstructBuilder,
IconQABuilder,
IconQAInstructBuilder,
ScienceQABuilder,
ScienceQAInstructBuilder,
OCRVQABuilder,
OCRVQAInstructBuilder,
VizWizVQABuilder
)
from lavis.datasets.builders.retrieval_builder import (
MSRVTTRetrievalBuilder,
DiDeMoRetrievalBuilder,
COCORetrievalBuilder,
Flickr30kBuilder,
)
from lavis.datasets.builders.audio_caption_builder import (
AudioSetBuilder,
AudioCapsCapBuilder,
AudioSetInstructBuilder,
AudioCapsInstructCapBuilder,
WavCapsCapInstructBuilder,
WavCapsCapBuilder
)
from lavis.datasets.builders.object3d_caption_builder import (
ObjaverseCaptionInstructBuilder,
ShapenetCaptionInstructBuilder,
ObjaverseCaptionBuilder,
ShapenetCaptionBuilder
)
from lavis.datasets.builders.object3d_qa_builder import ObjaverseQABuilder
from lavis.datasets.builders.object3d_classification_builder import ModelNetClassificationBuilder
from lavis.datasets.builders.audio_qa_builder import AudioCapsQABuilder, ClothoQABuilder
from lavis.datasets.builders.dialogue_builder import (
AVSDDialBuilder,
AVSDDialInstructBuilder,
YT8MDialBuilder,
LLaVA150kDialInstructBuilder,
VisDialBuilder,
VisDialInstructBuilder
)
from lavis.datasets.builders.text_to_image_generation_builder import BlipDiffusionFinetuneBuilder
from lavis.datasets.builders.discrn_builders import DiscrnImagePcBuilder, DiscrnAudioVideoBuilder
from lavis.common.registry import registry
__all__ = [
"BlipDiffusionFinetuneBuilder",
"COCOCapBuilder",
"COCORetrievalBuilder",
"COCOVQABuilder",
"ConceptualCaption12MBuilder",
"ConceptualCaption3MBuilder",
"DiDeMoRetrievalBuilder",
"Flickr30kBuilder",
"GQABuilder",
"ImageNetBuilder",
"MSRVTTCapBuilder",
"MSRVTTQABuilder",
"MSRVTTRetrievalBuilder",
"MSVDCapBuilder",
"MSVDQABuilder",
"NLVRBuilder",
"OKVQABuilder",
"AOKVQABuilder",
"SBUCaptionBuilder",
"SNLIVisualEntailmentBuilder",
"VATEXCapBuilder",
"VGCaptionBuilder",
"VGVQABuilder",
"AVSDDialBuilder",
"Laion400MBuilder",
"ViolinCapBuilder",
"ViolinEntailmentBuilder",
"VlepCaptionBuilder",
"YouCookCaptionBuilder",
"COINCaptionBuilder",
"CharadeCaptionBuilder",
"YT8MDialBuilder",
"IconQABuilder",
"ScienceQABuilder",
"VisDialBuilder",
"OCRVQABuilder",
"VizWizVQABuilder",
"TextCapsCapBuilder",
"Flickr30kCapBuilder",
"AudioSetBuilder",
"AudioCapsCapBuilder",
"WavCapsCapBuilder",
"WebVid2MCapBuilder",
"VALORCaptionBuilder",
"ObjaverseCaptionBuilder",
"ShapenetCaptionBuilder",
"ObjaverseQABuilder",
"MusicAVQABuilder",
"ESC50ClassificationBuilder",
## Instruction Builders
"AOKVQAInstructBuilder",
"OKVQAInstructBuilder",
"AudioSetInstructBuilder",
"AudioCapsInstructCapBuilder",
"AudioCapsQABuilder",
"WavCapsCapInstructBuilder",
"ObjaverseCaptionInstructBuilder",
"ShapenetCaptionInstructBuilder",
"ModelNetClassificationBuilder",
"ObjaverseCaptionInstructBuilder",
"MSRVTTCapInstructBuilder",
"MSVDCapInstructBuilder",
"VATEXCapInstructBuilder",
"WebVid2MCapInstructBuilder",
"MSRVTTQAInstructBuilder",
"MSVDQAInstructBuilder",
"VALORCaptionInstructBuilder",
"AVSDDialInstructBuilder",
"VisDialInstructBuilder",
"MusicAVQAInstructBuilder",
"ViolinCapInstructBuilder",
"ViolinEntailmentInstructBuilder",
"VlepCaptionInstructBuilder",
"YouCookCaptionInstructBuilder",
"COINCaptionInstructBuilder",
"CharadeCaptionInstructBuilder",
"COCOVQAInstructBuilder",
"VGVQAInstructBuilder",
"GQAInstructBuilder",
"IconQAInstructBuilder",
"SNLIVisualEntailmentInstructBuilder",
"Laion400MInstructBuilder",
"LLaVA150kDialInstructBuilder",
"ScienceQAInstructBuilder",
"OCRVQAInstructBuilder",
"TextCapsCapInstructBuilder",
"Flickr30kCapInstructBuilder",
"ConceptualCaption12MInstructBuilder",
"ConceptualCaption3MInstructBuilder",
"VGCaptionInstructBuilder",
"SBUCaptionInstructBuilder",
"ClothoQABuilder",
# DisCRN
"DiscrnImagePcBuilder",
"DiscrnAudioVideoBuilder"
]
def load_dataset(name, cfg_path=None, vis_path=None, data_type=None):
"""
Example
>>> dataset = load_dataset("coco_caption", cfg=None)
>>> splits = dataset.keys()
>>> print([len(dataset[split]) for split in splits])
"""
if cfg_path is None:
cfg = None
else:
cfg = load_dataset_config(cfg_path)
try:
builder = registry.get_builder_class(name)(cfg)
except TypeError:
print(
f"Dataset {name} not found. Available datasets:\n"
+ ", ".join([str(k) for k in dataset_zoo.get_names()])
)
exit(1)
if vis_path is not None:
if data_type is None:
# use default data type in the config
data_type = builder.config.data_type
assert (
data_type in builder.config.build_info
), f"Invalid data_type {data_type} for {name}."
builder.config.build_info.get(data_type).storage = vis_path
dataset = builder.build_datasets()
return dataset
class DatasetZoo:
def __init__(self) -> None:
self.dataset_zoo = {
k: list(v.DATASET_CONFIG_DICT.keys())
for k, v in sorted(registry.mapping["builder_name_mapping"].items())
}
def get_names(self):
return list(self.dataset_zoo.keys())
dataset_zoo = DatasetZoo()