快捷方式

RandomErasing

class torchvision.transforms.v2.RandomErasing(p: float = 0.5, scale: Sequence[float] = (0.02, 0.33), ratio: Sequence[float] = (0.3, 3.3), value: float = 0.0, inplace: bool = False)[原始碼]

在輸入影像或影片中隨機選擇一個矩形區域並擦除其畫素。

此變換不支援 PIL Image。參考 Zhong 等人的論文《Random Erasing Data Augmentation》。參見 https://arxiv.org/abs/1708.04896

引數:
  • p (float, 可選) – 執行隨機擦除操作的機率。

  • scale (tuple of python:float, 可選) – 擦除區域佔輸入影像比例的範圍。

  • ratio (tuple of python:float, 可選) – 擦除區域的縱橫比範圍。

  • value (number or tuple of numbers) – 擦除值。預設為 0。如果是一個整數,則用於擦除所有畫素。如果是一個長度為 3 的元組,則分別用於擦除 R、G、B 通道。如果是字串 ‘random’,則用隨機值擦除每個畫素。

  • inplace (bool, 可選) – 布林值,表示此變換是否原地執行。預設為 False。

返回:

擦除後的輸入。

示例

>>> from torchvision.transforms import v2 as transforms
>>>
>>> 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(),
>>> ])
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) – 要擦除的張量影像。

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

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

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

返回:

要傳遞給 erase 進行隨機擦除的引數 (i, j, h, w, v)。

返回型別:

tuple

make_params(flat_inputs: List[Any]) Dict[str, Any][原始碼]

為自定義變換需要覆蓋的方法。

參見 如何編寫自己的 v2 變換

transform(inpt: Any, params: Dict[str, Any]) Any[原始碼]

為自定義變換需要覆蓋的方法。

參見 如何編寫自己的 v2 變換

文件

訪問 PyTorch 的全面開發者文件

檢視文件

教程

獲取針對初學者和高階開發者的深度教程

檢視教程

資源

查詢開發資源並獲得解答

檢視資源