快捷鍵

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" 會被加入到 target 中,並將資料包裝在對應的 torchvision.tv_tensors 中。 原始的鍵會被保留。 如果省略 target_keys,則僅傳回 "boxes""labels" 的值。

  • CelebA: target_type="bbox" 的 target 會被轉換為 XYXY 座標格式,並包裝到 BoundingBoxes tv_tensor 中。

  • Kitti: wrapper 不會將 target 作為字典列表傳回,而是傳回一個列表的字典。 此外,鍵值對 "boxes""labels" 會被加入,並將資料包裝在對應的 torchvision.tv_tensors 中。 原始的鍵會被保留。 如果省略 target_keys,則僅傳回 "boxes""labels" 的值。

  • OxfordIIITPet: target_type="segmentation" 的 target 會被包裝到 Mask tv_tensor 中。

  • Cityscapes: target_type="semantic" 的 target 會被包裝到 Mask tv_tensor 中。 target_type="instance" 的 target 會被替換為一個字典,其中包含鍵值對 "masks" (作為 Mask tv_tensor) 和 "labels"

  • WIDERFace: target 中鍵 "bbox" 的值會被轉換為 XYXY 座標格式,並包裝到 BoundingBoxes tv_tensor 中。

圖片分類資料集

此 wrapper 對於圖片分類資料集來說是個空操作 (no-op),因為它們已經完全被 torchvision.transforms 支援,因此 torchvision.transforms.v2 不需要任何變更。

語意分割資料集

語意分割資料集,例如 VOCSegmentation,傳回一個由兩個 PIL.Image.Image 組成的元組。 此 wrapper 會保持影像原樣 (第一個項目),同時將分割遮罩包裝到 Mask (第二個項目) 中。

影片分類資料集

影片分類資料集,例如 Kinetics,傳回一個包含影片和音訊的 torch.Tensor 和一個作為標籤的 int 的三元組。 此 wrapper 將影片包裝到 Video 中,同時保持其他項目不變。

注意

僅支援使用 output_format="TCHW" 建立的資料集,因為 torchvision.transforms.v2 不支援替代的 output_format="THWC"

參數:
  • dataset – 要包裝以與 transforms v2 相容的資料集實例。

  • target_keys – 若目標是字典,則要回傳的目標鍵。如果 None (預設),選擇的鍵會根據資料集而有所不同。如果 "all",則回傳完整目標。也可以是字串集合,以便進行細粒度存取。目前僅支援 CocoDetectionVOCDetectionKittiWIDERFace。詳情請參閱上文。

使用 wrap_dataset_for_transforms_v2 的範例

轉換 v2 入門

轉換 v2 入門

轉換 v2:端對端物件偵測/分割範例

轉換 v2:端對端物件偵測/分割範例

文件

存取 PyTorch 的完整開發者文件

檢視文件

教學

取得針對初學者和進階開發者的深入教學

檢視教學

資源

尋找開發資源並獲得您的問題解答

檢視資源