快捷方式

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 等人的“隨機擦除資料增強”。請參閱 https://arxiv.org/abs/1708.04896

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

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

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

  • value (numbertuple 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, torch.Tensor][原始碼]

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

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

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

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

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

返回:

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

返回型別:

元組

make_params(flat_inputs: list[Any]) dict[str, Any][原始碼]

用於覆蓋自定義變換的方法。

請參閱 如何編寫自己的 v2 變換

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

用於覆蓋自定義變換的方法。

請參閱 如何編寫自己的 v2 變換

文件

訪問全面的 PyTorch 開發者文件

檢視文件

教程

為初學者和高階開發者提供深入的教程

檢視教程

資源

查詢開發資源並讓您的問題得到解答

檢視資源