快捷方式

RandomErasing

class torchvision.transforms.RandomErasing(p=0.5, scale=(0.02, 0.33), ratio=(0.3, 3.3), value=0, inplace=False)[原始碼]

在 torch.Tensor 影像中隨機選擇一個矩形區域並擦除其畫素。此變換不支援 PIL Image。該方法基於 Zhong 等人的論文“Random Erasing Data Augmentation”。參見 https://arxiv.org/abs/1708.04896

引數:
  • p – 執行隨機擦除操作的機率。

  • scale – 擦除區域相對於輸入影像的比例範圍。

  • ratio – 擦除區域的縱橫比範圍。

  • value – 擦除值。預設為 0。如果是單個 int,則用於擦除所有畫素。如果是長度為 3 的元組,則分別用於擦除 R、G、B 通道。如果是字串 ‘random’,則用隨機值擦除每個畫素。

  • inplace – 布林值,指示是否進行原地(inplace)變換。預設為 False。

返回值:

擦除後的影像。

示例

>>> transform = transforms.Compose([
>>>   transforms.RandomHorizontalFlip(),
>>>   transforms.PILToTensor(),
>>>   transforms.ConvertImageDtype(torch.float),
>>>   transforms.Normalize((0.485, 0.456, 0.406), (0.229, 0.224, 0.225)),
>>>   transforms.RandomErasing(),
>>> ])
forward(img)[原始碼]
引數:

img (Tensor) – 待擦除的 Tensor 影像。

返回值:

擦除後的 Tensor 影像。

返回型別:

img (Tensor)

static get_params(img: Tensor, scale: Tuple[float, float], ratio: Tuple[float, float], value: Optional[List[float]] = None) Tuple[int, int, int, int, Tensor][原始碼]

獲取隨機擦除的引數,用於 erase 函式。

引數:
  • img (Tensor) – 待擦除的 Tensor 影像。

  • scale (sequence) – 擦除區域相對於輸入影像的比例範圍。

  • ratio (sequence) – 擦除區域的縱橫比範圍。

  • value (列表, 可選) – 擦除值。如果為 None,則解釋為“隨機”(用隨機值擦除每個畫素)。如果 len(value) 為 1,則解釋為一個數字,即 value[0]

返回值:

引數 (i, j, h, w, v),將傳遞給 erase 函式用於隨機擦除。

返回型別:

元組

文件

訪問 PyTorch 的全面開發者文件

檢視文件

教程

獲取面向初學者和高階開發者的深入教程

檢視教程

資源

查詢開發資源並獲得問題解答

檢視資源