快捷方式

RandomErasing

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

随机选择一个矩形区域并擦除其像素。此转换不支持 PIL 图像。“Random Erasing Data Augmentation” by Zhong et al. 参见 https://arxiv.org/abs/1708.04896

参数:
  • p – 执行随机擦除操作的概率。

  • scale – 擦除区域占输入图像的比例范围。

  • ratio – 擦除区域的宽高比范围。

  • value – 擦除值。默认为 0。如果为单个整数,则用于擦除所有像素。如果为长度为 3 的元组,则分别用于擦除 R、G、B 通道。如果为字符串“random”,则用随机值擦除每个像素。

  • 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)[source]
参数:

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, torch.Tensor][source]

获取随机擦除的 erase 参数。

参数:
  • img (Tensor) – 需要被擦除的 Tensor 图像。

  • scale (sequence) – 擦除区域占输入图像的比例范围。

  • ratio (sequence) – 擦除区域的宽高比范围。

  • value (list, optional) – 擦除值。如果为 None,则解释为“random”(用随机值擦除每个像素)。如果 len(value) 为 1,则解释为一个数字,即 value[0]

返回:

用于随机擦除的 erase 的参数 (i, j, h, w, v)。

返回类型:

元组

文档

访问全面的 PyTorch 开发者文档

查看文档

教程

为初学者和高级开发者提供深入的教程

查看教程

资源

查找开发资源并让您的问题得到解答

查看资源