快捷方式

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 坐标格式,并包装到 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 的示例

Transforms v2 入门

Transforms v2 入门

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

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

文档

访问 PyTorch 的全面开发人员文档

View Docs

教程

获取针对初学者和高级开发人员的深入教程

View Tutorials

资源

查找开发资源并获得问题的解答

View Resources