wrap_dataset_for_transforms_v2¶
- torchvision.datasets.wrap_dataset_for_transforms_v2(dataset, target_keys=None)[原始碼]¶
為配合
torchvision.transforms.v2的使用而封裝torchvision.dataset。示例
>>> 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座標格式,並封裝到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的示例