快捷方式

wrap_dataset_for_transforms_v2

torchvision.datasets.wrap_dataset_for_transforms_v2(dataset, target_keys=None)[source]

将一个 torchvision.dataset 封装以便与 torchvision.transforms.v2 一起使用。

示例

>>> dataset = torchvision.datasets.CocoDetection(...)
>>> dataset = wrap_dataset_for_transforms_v2(dataset)

注意

目前,仅支持最流行的数据集。此外,该包装器仅支持 torchvision.transforms.v2 完全支持的数据集配置。如果您遇到需要您向 torchvision 提交 issue 的数据集或配置,请这样做。

数据集样本根据以下描述进行封装。

特殊情况

  • 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 坐标格式,并封装到 BoundingBoxes tv_tensor 中。

  • Kitti:该包装器不返回字典列表作为目标,而是返回列表的字典。此外,还添加了键值对 "boxes""labels",并将数据封装在相应的 torchvision.tv_tensors 中。原始键会被保留。如果省略 target_keys,则仅返回 "boxes""labels" 的值。

  • OxfordIIITPet:对于 target_type="segmentation",目标会被封装到 Mask tv_tensor 中。

  • Cityscapes:对于 target_type="semantic",目标会被封装到 Mask tv_tensor 中。对于 target_type="instance",目标会被一个包含键值对 "masks"(作为 Mask tv_tensor)和 "labels" 的字典所*替换*。

  • WIDERFace:目标中键 "bbox" 的值会被转换为 XYXY 坐标格式,并封装到 BoundingBoxes tv_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",则返回整个目标。也可以是字符串的集合以进行细粒度访问。目前仅支持 CocoDetectionVOCDetectionKittiWIDERFace。有关详细信息,请参见上文。

使用 wrap_dataset_for_transforms_v2 的示例

变换 v2:端到端目标检测/分割示例

变换 v2:端到端目标检测/分割示例

变换 v2 入门

变换 v2 入门

文档

访问全面的 PyTorch 开发者文档

查看文档

教程

为初学者和高级开发者提供深入的教程

查看教程

资源

查找开发资源并让您的问题得到解答

查看资源