RandomErasing¶
- class paddle.vision.transforms. RandomErasing ( prob=0.5, scale=(0.02, 0.33), ratio=(0.3, 3.3), value=0, inplace=False, keys=None ) [源代码] ¶
擦除图像中随机选择的矩形区域内的像素。
参数¶
prob (float,可选) - 输入数据被执行擦除操作的概率。默认值:0.5。
scale (sequence,可选) - 擦除区域面积在输入图像的中占比范围。默认值:(0.02, 0.33)。
ratio (sequence,可选) - 擦除区域的纵横比范围。默认值:(0.3, 3.3)。
value (int|float|sequence|str,可选) - 擦除区域中像素将被替换为的值。如果 value 是一个数,所有的像素都将被替换为这个数。如果 value 是长为 3 的序列,R,G,B 通道将被对应地替换。如果 value 是"random",每个像素会被替换为随机值。默认值:0。
inplace (bool,可选) - 该变换是否在原地操作。默认值:False。
keys (list[str]|tuple[str],可选) - 与
BaseTransform
定义一致。默认值:None。
形状¶
img (paddle.Tensor|np.array|PIL.Image) - 输入的图像数据。对于 Tensor 类型的输入,形状需要为(C, H, W)。对于 np.array 类型的输入,形状为(H, W, C)。
output (paddle.Tensor|np.array|PIL.Image) - 返回随机擦除后的图像数据。
返回¶
计算
RandomErasing
的可调用对象。
代码示例¶
>>> import paddle
>>> fake_img = paddle.randn((1, 5, 5)).astype(paddle.float32)
>>> transform = paddle.vision.transforms.RandomErasing()
>>> result = transform(fake_img)
>>> print(result)
Tensor(shape=[1, 5, 5], dtype=float32, place=Place(gpu:0), stop_gradient=True,
[[[-0.22141267, -0.71004093, 1.71224928, 2.99622107, -0.82959402],
[ 0.36916021, -0.25601348, 0.86669374, 1.27504587, -0.56462914],
[-0.45704395, -0.87613666, 1.12195814, -0.87974882, 0.04902615],
[-0.91549885, -0.15066874, 1.26381516, 0. , 0. ],
[ 0.87887472, -1.59914243, -0.73970413, 0. , 0. ]]])