From 84c8581d45e56ab38d9bb642402d92f908aa1425 Mon Sep 17 00:00:00 2001 From: zoooo0820 Date: Thu, 28 Apr 2022 12:50:48 +0000 Subject: [PATCH 1/2] add cn_doc for erase api --- .../vision/transforms/RandomErasing_cn.rst | 40 +++++++++++++++++++ .../api/paddle/vision/transforms/erase_cn.rst | 35 ++++++++++++++++ 2 files changed, 75 insertions(+) create mode 100644 docs/api/paddle/vision/transforms/RandomErasing_cn.rst create mode 100644 docs/api/paddle/vision/transforms/erase_cn.rst diff --git a/docs/api/paddle/vision/transforms/RandomErasing_cn.rst b/docs/api/paddle/vision/transforms/RandomErasing_cn.rst new file mode 100644 index 00000000000..bc7cedaa23b --- /dev/null +++ b/docs/api/paddle/vision/transforms/RandomErasing_cn.rst @@ -0,0 +1,40 @@ +.. _cn_api_vision_transforms_RandomErasing: + +RandomErasing +------------------------------- + +.. py: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`` 的可调用对象。 + +代码示例 +::::::::: + +.. code-block:: python + + import paddle + + fake_img = paddle.randn((3, 10, 10)).astype(paddle.float32) + transform = paddle.vision.transforms.RandomErasing() + result = transform(fake_img) diff --git a/docs/api/paddle/vision/transforms/erase_cn.rst b/docs/api/paddle/vision/transforms/erase_cn.rst new file mode 100644 index 00000000000..905d73b34e8 --- /dev/null +++ b/docs/api/paddle/vision/transforms/erase_cn.rst @@ -0,0 +1,35 @@ +.. _cn_api_vision_transforms_erase: + +erase +------------------------------- + +.. py:function:: paddle.vision.transforms.erase(img, i, j, h, w, v, inplace=False) + +使用给定的值擦除输入图像中的选定区域中的像素。 + +参数 +::::::::: + + - img (paddle.Tensor|np.array|PIL.Image) - 输入的图像。对于Tensor类型的输入,形状应该为(C, H, W)。对于np.array类型的输入,形状应该为(H, W, C)。 + - i (int) - 擦除区域左上角点的纵坐标。 + - j (int) - 擦除区域左上角点的横坐标。 + - h (int) - 擦除区域的高。 + - w (int) - 擦除区域的宽。 + - v (paddle.Tensor|np.array) - 用于替换擦除区域中像素的值。当输入为np.array或者PIL.Image类型时,需要为np.array类型。 + - inplace (bool, 可选) - 该变换是否在原地操作。默认值:False。 + +返回 +::::::::: + + ``paddle.Tensor 或 numpy.array 或PIL.Image``,擦除后的图像,类型与输入图像的类型一致。 + +代码示例 +::::::::: + +.. code-block:: python + + import paddle + + fake_img = paddle.randn((3, 10, 10)).astype(paddle.float32) + values = paddle.zeros((1,1,1), dtype=paddle.float32) + result = paddle.vision.transforms.erase(fake_img, 4, 4, 3, 3, values) From 425576533b386c33ab3c5939f84f89afd6ad6b29 Mon Sep 17 00:00:00 2001 From: zoooo0820 Date: Tue, 10 May 2022 02:40:41 +0000 Subject: [PATCH 2/2] update sample code --- .../vision/transforms/RandomErasing_cn.rst | 5 ++- .../api/paddle/vision/transforms/erase_cn.rst | 33 ++++++++++++++++--- 2 files changed, 33 insertions(+), 5 deletions(-) diff --git a/docs/api/paddle/vision/transforms/RandomErasing_cn.rst b/docs/api/paddle/vision/transforms/RandomErasing_cn.rst index bc7cedaa23b..57fc4cffa3b 100644 --- a/docs/api/paddle/vision/transforms/RandomErasing_cn.rst +++ b/docs/api/paddle/vision/transforms/RandomErasing_cn.rst @@ -37,4 +37,7 @@ RandomErasing fake_img = paddle.randn((3, 10, 10)).astype(paddle.float32) transform = paddle.vision.transforms.RandomErasing() - result = transform(fake_img) + result = transform(fake_img) + + print(result) + diff --git a/docs/api/paddle/vision/transforms/erase_cn.rst b/docs/api/paddle/vision/transforms/erase_cn.rst index 905d73b34e8..5ed21b83814 100644 --- a/docs/api/paddle/vision/transforms/erase_cn.rst +++ b/docs/api/paddle/vision/transforms/erase_cn.rst @@ -21,7 +21,7 @@ erase 返回 ::::::::: - ``paddle.Tensor 或 numpy.array 或PIL.Image``,擦除后的图像,类型与输入图像的类型一致。 + ``paddle.Tensor`` 或 ``numpy.array`` 或 ``PIL.Image``,擦除后的图像,类型与输入图像的类型一致。 代码示例 ::::::::: @@ -29,7 +29,32 @@ erase .. code-block:: python import paddle - - fake_img = paddle.randn((3, 10, 10)).astype(paddle.float32) + + fake_img = paddle.randn((3, 2, 4)).astype(paddle.float32) + print(fake_img) + + #Tensor(shape=[3, 2, 4], dtype=float32, place=Place(gpu:0), stop_gradient=True, + # [[[ 0.02169025, -0.97859967, -1.39175487, -1.07478464], + # [ 0.20654772, 1.74624777, 0.32268861, -0.13857445]], + # + # [[-0.14993843, 1.10793507, -0.40056887, -1.94395220], + # [ 0.41686651, 0.44551995, -0.09356714, -0.60898107]], + # + # [[-0.24998808, -1.47699273, -0.88838995, 0.42629015], + # [ 0.56948012, -0.96200180, 0.53355658, 3.20450878]]]) + values = paddle.zeros((1,1,1), dtype=paddle.float32) - result = paddle.vision.transforms.erase(fake_img, 4, 4, 3, 3, values) + result = paddle.vision.transforms.erase(fake_img, 0, 1, 1, 2, values) + + print(result) + + #Tensor(shape=[3, 2, 4], dtype=float32, place=Place(gpu:0), stop_gradient=True, + # [[[ 0.02169025, 0. , 0. , -1.07478464], + # [ 0.20654772, 1.74624777, 0.32268861, -0.13857445]], + # + # [[-0.14993843, 0. , 0. , -1.94395220], + # [ 0.41686651, 0.44551995, -0.09356714, -0.60898107]], + # + # [[-0.24998808, 0. , 0. , 0.42629015], + # [ 0.56948012, -0.96200180, 0.53355658, 3.20450878]]]) +