From acb2bee390153ea68b654057701b93b5212a1e4a Mon Sep 17 00:00:00 2001 From: BrilliantYuKaimin <91609464+BrilliantYuKaimin@users.noreply.github.com> Date: Wed, 13 Apr 2022 22:09:33 +0800 Subject: [PATCH 1/9] Create heaviside_cn.rst --- docs/api/paddle/heaviside_cn.rst | 48 ++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 docs/api/paddle/heaviside_cn.rst diff --git a/docs/api/paddle/heaviside_cn.rst b/docs/api/paddle/heaviside_cn.rst new file mode 100644 index 00000000000..e96b78f297e --- /dev/null +++ b/docs/api/paddle/heaviside_cn.rst @@ -0,0 +1,48 @@ +.. _cn_api_paddle_tensor_heaviside: + +heaviside +------------------------------- + +.. py:function:: paddle.heaviside(x, y, name=None) + + +逐元素地对 Tensor `x` 计算由 Tensor `y` 中的对应元素决定的赫维赛德阶跃函数,其计算公式为 +.. math:: + \mathrm{heaviside}(x, y)= + \left\{ + \begin{array}{lcl} + 0,& &\text{if } \ x < 0, \\ + y,& &\text{if } \ x = 0, \\ + 1,& &\text{if } \ x > 0. + \end{array} + \right. + +.. note:: + ``paddle.heaviside`` 遵守广播机制,如您想了解更多,请参见 :ref:`cn_user_guide_broadcasting`。 + +参数 +::::::::: + - **x** (Tensor)- 输入的 Tensor。数据类型为 float32、float64、int32 或 int64。 + - **y** (Tensor)- 输入的 Tensor。数据类型为 float32、float64、int32 或 int64。 + - **name** (str,可选)- 操作的名称(可选,默认值为 None)。更多信息请参见 :ref:`api_guide_Name`。 + +返回 +::::::::: + `Tensor`,存储运算后的结果。如果 `x` 和 `y` 有不同的形状且是可以广播的,那么返回 Tensor 的形状是 `x` 和 `y` 经过广播后的形状。如果 `x` 和 `y` 有相同的形状,那么返回 Tensor 的形状与 `x` 和 `y` 相同。 + + +代码示例 +:::::::::: + +.. code-block:: python + + import paddle + x = paddle.to_tensor([-0.5, 0, 0.5]) + y = paddle.to_tensor([0.1]) + paddle.heaviside(x, y) + # [0. , 0.10000000, 1. ] + x = paddle.to_tensor([[-0.5, 0, 0.5], [-0.5, 0.5, 0]]) + y = paddle.to_tensor([0.1, 0.2, 0.3]) + paddle.heaviside(x, y) + # [[0. , 0.20000000, 1. ], + # [0. , 1. , 0.30000001]] From 1634bd7cbda307579cb9270ecbad3f47a070dde5 Mon Sep 17 00:00:00 2001 From: BrilliantYuKaimin <91609464+BrilliantYuKaimin@users.noreply.github.com> Date: Wed, 13 Apr 2022 22:14:03 +0800 Subject: [PATCH 2/9] add heaviside --- docs/api/paddle/Tensor_cn.rst | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/docs/api/paddle/Tensor_cn.rst b/docs/api/paddle/Tensor_cn.rst index 104627e0313..a29c71e1a63 100755 --- a/docs/api/paddle/Tensor_cn.rst +++ b/docs/api/paddle/Tensor_cn.rst @@ -1144,6 +1144,14 @@ greater_than(y, name=None) 请参考 :ref:`cn_api_tensor_cn_greater_than` +heaviside(y, name=None) +::::::::: + +返回:计算后的Tensor + +返回类型:Tensor + +请参考 :ref:`cn_api_paddle_tensor_heaviside` histogram(bins=100, min=0, max=0) ::::::::: From 5cd33934b14699fd5496d6081eea866365e0327a Mon Sep 17 00:00:00 2001 From: BrilliantYuKaimin <91609464+BrilliantYuKaimin@users.noreply.github.com> Date: Thu, 21 Apr 2022 16:40:58 +0800 Subject: [PATCH 3/9] Update heaviside_cn.rst --- docs/api/paddle/heaviside_cn.rst | 20 ++++---------------- 1 file changed, 4 insertions(+), 16 deletions(-) diff --git a/docs/api/paddle/heaviside_cn.rst b/docs/api/paddle/heaviside_cn.rst index e96b78f297e..08531250df6 100644 --- a/docs/api/paddle/heaviside_cn.rst +++ b/docs/api/paddle/heaviside_cn.rst @@ -22,9 +22,9 @@ heaviside 参数 ::::::::: - - **x** (Tensor)- 输入的 Tensor。数据类型为 float32、float64、int32 或 int64。 - - **y** (Tensor)- 输入的 Tensor。数据类型为 float32、float64、int32 或 int64。 - - **name** (str,可选)- 操作的名称(可选,默认值为 None)。更多信息请参见 :ref:`api_guide_Name`。 + - **x** (Tensor)- 赫维赛德阶跃函数的输入 Tensor。数据类型为 float32、float64、int32 或 int64。 + - **y** (Tensor)- 决定了一个赫维赛德阶跃函数的 Tensor。数据类型为 float32、float64、int32 或 int64。 + - **name** (str,可选)- 操作的名称(可选,默认值为 None)。更多信息请参见 :ref:`cn_api_guide_Name`。 返回 ::::::::: @@ -33,16 +33,4 @@ heaviside 代码示例 :::::::::: - -.. code-block:: python - - import paddle - x = paddle.to_tensor([-0.5, 0, 0.5]) - y = paddle.to_tensor([0.1]) - paddle.heaviside(x, y) - # [0. , 0.10000000, 1. ] - x = paddle.to_tensor([[-0.5, 0, 0.5], [-0.5, 0.5, 0]]) - y = paddle.to_tensor([0.1, 0.2, 0.3]) - paddle.heaviside(x, y) - # [[0. , 0.20000000, 1. ], - # [0. , 1. , 0.30000001]] +COPY-FROM: paddle.heaviside:heaviside-example From 7355228624121dd6860bcba6d5672acd0b169e21 Mon Sep 17 00:00:00 2001 From: Chen Long <1300851984@qq.com> Date: Thu, 21 Apr 2022 17:26:42 +0800 Subject: [PATCH 4/9] Update Tensor_cn.rst --- docs/api/paddle/Tensor_cn.rst | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/docs/api/paddle/Tensor_cn.rst b/docs/api/paddle/Tensor_cn.rst index a29c71e1a63..d32ae8b29ae 100755 --- a/docs/api/paddle/Tensor_cn.rst +++ b/docs/api/paddle/Tensor_cn.rst @@ -674,11 +674,12 @@ cuda(device_id=None, blocking=False) x = paddle.to_tensor(1.0, place=paddle.CPUPlace()) print(x.place) # CPUPlace - y = x.cuda() - print(y.place) # CUDAPlace(0) + if paddle.device.is_compiled_with_cuda(): + y = x.cuda() + print(y.place) # CUDAPlace(0) - y = x.cuda(1) - print(y.place) # CUDAPlace(1) + y = x.cuda(1) + print(y.place) # CUDAPlace(1) cumsum(axis=None, dtype=None, name=None) ::::::::: From 3da57cbcf9db22ae7cb6cb4c002cd8c4f6ec0133 Mon Sep 17 00:00:00 2001 From: Chen Long <1300851984@qq.com> Date: Fri, 22 Apr 2022 14:14:12 +0800 Subject: [PATCH 5/9] Update Tensor_cn.rst --- docs/api/paddle/Tensor_cn.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/api/paddle/Tensor_cn.rst b/docs/api/paddle/Tensor_cn.rst index 551c9a3fa35..5556a616b63 100755 --- a/docs/api/paddle/Tensor_cn.rst +++ b/docs/api/paddle/Tensor_cn.rst @@ -674,7 +674,7 @@ cuda(device_id=None, blocking=False) x = paddle.to_tensor(1.0, place=paddle.CPUPlace()) print(x.place) # CPUPlace - if paddle.device.is_compiled_with_cuda(): + if paddle.device.cuda.device_count() > 0: y = x.cuda() print(y.place) # CUDAPlace(0) From 2684c34486747d9fe6c82252d4199c2592f14315 Mon Sep 17 00:00:00 2001 From: Chen Long <1300851984@qq.com> Date: Fri, 22 Apr 2022 14:29:10 +0800 Subject: [PATCH 6/9] Update Tensor_cn.rst --- docs/api/paddle/Tensor_cn.rst | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/docs/api/paddle/Tensor_cn.rst b/docs/api/paddle/Tensor_cn.rst index 5556a616b63..463851a520f 100755 --- a/docs/api/paddle/Tensor_cn.rst +++ b/docs/api/paddle/Tensor_cn.rst @@ -639,9 +639,12 @@ cpu() .. code-block:: python import paddle - x = paddle.to_tensor(1.0, place=paddle.CUDAPlace(0)) - print(x.place) # CUDAPlace(0) - + + if paddle.device.cuda.device_count() > 0: + x = paddle.to_tensor(1.0, place=paddle.CUDAPlace(0)) + print(x.place) # CUDAPlace(0) + + x = paddle.to_tensor(1.0) y = x.cpu() print(y.place) # CPUPlace @@ -1641,11 +1644,13 @@ pin_memory(y, name=None) .. code-block:: python import paddle - x = paddle.to_tensor(1.0, place=paddle.CUDAPlace(0)) - print(x.place) # CUDAPlace(0) + + if paddle.device.cuda.device_count() > 0: + x = paddle.to_tensor(1.0, place=paddle.CUDAPlace(0)) + print(x.place) # CUDAPlace(0) - y = x.pin_memory() - print(y.place) # CUDAPinnedPlace + y = x.pin_memory() + print(y.place) # CUDAPinnedPlace pow(y, name=None) ::::::::: From 4b8a47c96f4739ccb60d3f39d159c5e002b995d2 Mon Sep 17 00:00:00 2001 From: BrilliantYuKaimin <91609464+BrilliantYuKaimin@users.noreply.github.com> Date: Fri, 22 Apr 2022 14:59:29 +0800 Subject: [PATCH 7/9] Update heaviside_cn.rst --- docs/api/paddle/heaviside_cn.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/api/paddle/heaviside_cn.rst b/docs/api/paddle/heaviside_cn.rst index 08531250df6..71249494725 100644 --- a/docs/api/paddle/heaviside_cn.rst +++ b/docs/api/paddle/heaviside_cn.rst @@ -7,6 +7,7 @@ heaviside 逐元素地对 Tensor `x` 计算由 Tensor `y` 中的对应元素决定的赫维赛德阶跃函数,其计算公式为 + .. math:: \mathrm{heaviside}(x, y)= \left\{ From 69bcd75343d28fb34bace76b1115c5056ddde3a2 Mon Sep 17 00:00:00 2001 From: BrilliantYuKaimin <91609464+BrilliantYuKaimin@users.noreply.github.com> Date: Thu, 28 Apr 2022 10:23:46 +0800 Subject: [PATCH 8/9] add heaviside in overview --- docs/api/paddle/Overview_cn.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/api/paddle/Overview_cn.rst b/docs/api/paddle/Overview_cn.rst index 7367c455c4b..d4cd44dc003 100755 --- a/docs/api/paddle/Overview_cn.rst +++ b/docs/api/paddle/Overview_cn.rst @@ -62,6 +62,7 @@ tensor数学操作 " :ref:`paddle.floor_divide ` ", "逐元素整除算子,输入 x 与输入 y 逐元素整除,并将各个位置的输出元素保存到返回结果中" " :ref:`paddle.greater_equal ` ", "逐元素地返回 x>=y 的逻辑值" " :ref:`paddle.greater_than ` ", "逐元素地返回 x>y 的逻辑值" + " :ref:`paddle.heaviside ` ", "逐元素地对 x 计算由 y 中的对应元素决定的赫维赛德阶跃函数" " :ref:`paddle.increment ` ", "在控制流程中用来让 x 的数值增加 value" " :ref:`paddle.kron ` ", "计算两个张量的克罗内克积" " :ref:`paddle.less_equal ` ", "逐元素地返回 x<=y 的逻辑值" From bc43b507902bd3ed1d65d261bb184722531bd0fd Mon Sep 17 00:00:00 2001 From: BrilliantYuKaimin <91609464+BrilliantYuKaimin@users.noreply.github.com> Date: Sun, 8 May 2022 09:05:22 +0800 Subject: [PATCH 9/9] Update heaviside_cn.rst --- docs/api/paddle/heaviside_cn.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/api/paddle/heaviside_cn.rst b/docs/api/paddle/heaviside_cn.rst index 71249494725..eb679b409d9 100644 --- a/docs/api/paddle/heaviside_cn.rst +++ b/docs/api/paddle/heaviside_cn.rst @@ -25,7 +25,7 @@ heaviside ::::::::: - **x** (Tensor)- 赫维赛德阶跃函数的输入 Tensor。数据类型为 float32、float64、int32 或 int64。 - **y** (Tensor)- 决定了一个赫维赛德阶跃函数的 Tensor。数据类型为 float32、float64、int32 或 int64。 - - **name** (str,可选)- 操作的名称(可选,默认值为 None)。更多信息请参见 :ref:`cn_api_guide_Name`。 + - **name** (str,可选)- 操作的名称(可选,默认值为 None)。更多信息请参见 :ref:`api_guide_Name`。 返回 :::::::::