捷徑

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)[source]

隨機選擇輸入圖片或影片中的矩形區域,並清除其像素。

此轉換不支援 PIL Image。 Zhong 等人的 ‘Random Erasing Data Augmentation’。 請參閱 https://arxiv.org/abs/1708.04896

參數:
  • p (float, optional) – 執行隨機清除操作的機率。

  • scale (tuple of python:float, optional) – 清除區域相對於輸入圖片的比例範圍。

  • ratio (python:float 的 tuple, optional) – 抹除區域的長寬比範圍。

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

  • inplace (bool, optional) – 布林值,用於設定是否就地 (inplace) 執行此轉換。預設值為 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][source]

取得隨機抹除的 erase 參數。

參數:
  • img (Tensor) – 要抹除的 Tensor 影像。

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

  • ratio (序列) – 抹除區域的長寬比範圍。

  • value (list, optional) – 抹除值。如果為 None,則解釋為「隨機」(使用隨機值抹除每個像素)。如果 len(value) 為 1,則解釋為一個數字,即 value[0]

傳回值:

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

傳回類型:

tuple

make_params(flat_inputs: List[Any]) Dict[str, Any][source]

用於自訂轉換的覆寫方法。

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

transform(inpt: Any, params: Dict[str, Any]) Any[source]

用於自訂轉換的覆寫方法。

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

文件

存取 PyTorch 的完整開發者文件

檢視文件

教學課程

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

檢視教學課程

資源

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

檢視資源