wrap_dataset_for_transforms_v2¶
- torchvision.datasets.wrap_dataset_for_transforms_v2(dataset, target_keys=None)[源代码]¶
包装
torchvision.dataset以便与torchvision.transforms.v2一起使用。示例
>>> dataset = torchvision.datasets.CocoDetection(...) >>> dataset = wrap_dataset_for_transforms_v2(dataset)
注意
目前,仅支持最流行的数据集。此外,包装器仅支持
torchvision.transforms.v2完全支持的数据集配置。如果您遇到错误提示您向torchvision报告您需要的数据集或配置,请这样做。数据集样本根据以下描述进行包装。
特殊情况
CocoDetection: 包装器不返回目标作为字典列表,而是返回列表字典。此外,还添加了键值对"boxes"(以XYXY坐标格式)、"masks"和"labels",并将数据包装在相应的torchvision.tv_tensors中。保留原始键。如果省略了target_keys,则仅返回"image_id"、"boxes"和"labels"的值。VOCDetection: 键值对"boxes"和"labels"已添加到目标,并将数据包装在相应的torchvision.tv_tensors中。保留原始键。如果省略了target_keys,则仅返回"boxes"和"labels"的值。CelebA:target_type="bbox"的目标转换为XYXY坐标格式,并包装到BoundingBoxestv_tensor 中。Kitti: 包装器不返回目标作为字典列表,而是返回列表字典。此外,还添加了键值对"boxes"和"labels",并将数据包装在相应的torchvision.tv_tensors中。保留原始键。如果省略了target_keys,则仅返回"boxes"和"labels"的值。OxfordIIITPet:target_type="segmentation"的目标包装到Masktv_tensor 中。Cityscapes:target_type="semantic"的目标包装到Masktv_tensor 中。target_type="instance"的目标被 *替换* 为包含键值对"masks"(作为Masktv_tensor)和"labels"的字典。WIDERFace: 目标中键"bbox"的值转换为XYXY坐标格式,并包装到BoundingBoxestv_tensor 中。
图像分类数据集
此包装器对图像分类数据集是无操作的,因为它们已经完全支持
torchvision.transforms,因此对于torchvision.transforms.v2无需进行任何更改。分割数据集
分割数据集(例如
VOCSegmentation)返回PIL.Image.Image的两个元组。此包装器保留图像不变(第一项),同时将分割掩码包装到Mask(第二项)中。视频分类数据集
视频分类数据集(例如
Kinetics)返回一个包含视频和音频的torch.Tensor以及标签的int的三元组。此包装器将视频包装到Video中,同时保留其他项不变。注意
仅支持使用
output_format="TCHW"构造的数据集,因为output_format="THWC"不受torchvision.transforms.v2支持。- 参数:
dataset – 要包装的数据集实例,以与 transforms v2 兼容。
target_keys – 如果目标是字典,则返回的目标键。如果为
None(默认),则选择键特定于数据集。如果为"all",则返回完整目标。也可以是字符串的集合,用于细粒度访问。目前仅支持CocoDetection、VOCDetection、Kitti和WIDERFace。有关详细信息,请参见上文。
使用
wrap_dataset_for_transforms_v2的示例