vision-datasets
收藏数据集概述
数据类型支持
本数据集支持以下基本数据类型:
image_classification_multiclassimage_classification_multilabelimage_object_detectionimage_text_matchingimage_mattingimage_regressionimage_captiontext_2_image_retrievalvisual_question_answeringvisual_object_grounding
此外,还支持multitask类型,该类型允许一个数据集包含多种不同任务的标注。
数据集结构
数据集通过以下组件进行组织和访问:
DatasetManifest: 包含数据集的标签映射、图像信息(宽度、高度、图像路径)和标注信息。ImageDataManifest: 封装单个图像的特定信息,如图像ID、路径、标签及宽度和高度。ImageLabelManifest: 封装单个图像级别的标注信息。CategoryManifest: 封装类别信息,包括名称和可能的父类别。VisionDataset: 消费DatasetManifest信息,提供数据集的迭代访问。
数据集格式
支持的数据集格式包括:
COCO: 用于对象检测、图像标注、图像文本匹配和多任务数据集。IRIS: 一种遗留格式,支持多类别/标签分类、对象检测和多任务数据集。
数据集操作
提供多种数据集操作,如按类别采样、小样本子数据集采样、按比例采样、训练-测试分割、数据集合并等。
数据集管理和访问
使用DatasetHub类可以方便地管理和访问多个数据集。该类支持从Azure Blob容器或本地磁盘加载数据。
数据集创建与使用
创建DatasetManifest
支持通过DatasetManifest.create_dataset_manifest方法创建数据集清单,支持COCO和IRIS格式。
使用VisionDataset
创建DatasetManifest后,可通过VisionDataset类访问数据集中的图像数据,用于训练、可视化等。
示例代码
python dataset = VisionDataset(dataset_info, dataset_manifest, coordinates=relative)
数据集操作示例
python from vision_datasets.common import DatasetTypes, SplitFactory, SplitConfig
data_manifest = .... splitter = SplitFactory.create(DatasetTypes.IMAGE_CLASSIFICATION_MULTICLASS, SplitConfig(ratio=0.3)) manifest_1, manifest_2 = splitter.run(data_manifest)
使用PyTorch进行训练
通过将VisionDataset传递给vision_datasets.common.dataset.TorchDataset,结合transform,即可使用PyTorch DataLoader进行训练。




