未验证 提交 6a0216cd 编写于 作者: W wawltor 提交者: GitHub

Fix the argsort and sort doc for the paddle api2.0 (#2282)

Fix the argsort, sort the api doc for paddle2.0
上级 483af8dc
......@@ -2,6 +2,6 @@
argsort
-------------------------------
:doc_source: paddle.fluid.layers.argsort
:doc_source: paddle.tensor.argsort
......@@ -2,6 +2,6 @@
sort
-------------------------------
:doc_source: paddle.fluid.layers.argsort
:doc_source: paddle.tensor.sort
......@@ -2,6 +2,6 @@
argsort
-------------------------------
:doc_source: paddle.fluid.layers.argsort
:doc_source: paddle.tensor.argsort
......@@ -2,6 +2,6 @@
sort
-------------------------------
:doc_source: paddle.fluid.layers.argsort
:doc_source: paddle.tensor.sort
......@@ -2,6 +2,6 @@
argsort
-------------------------------
:doc_source: paddle.fluid.layers.argsort
:doc_source: paddle.tensor.argsort
......@@ -2,6 +2,6 @@
sort
-------------------------------
:doc_source: paddle.fluid.layers.argsort
:doc_source: paddle.tensor.sort
......@@ -2,6 +2,62 @@
argsort
-------------------------------
:doc_source: paddle.fluid.layers.argsort
.. py:function:: paddle.argsort(x, axis=-1, descending=False, name=None)
:alias_main: paddle.argsort
:alias: paddle.argsort,paddle.tensor.argsort,paddle.tensor.search.argsort
对输入变量沿给定轴进行排序,输出排序好的数据的相应索引,其维度和输入相同。**默认升序排列,如果需要降序排列设置** ``descending=True`` 。
参数:
- **x** (Tensor) - 输入的多维 ``Tensor`` ,支持的数据类型:float32、float64、int16、int32、int64、uint8。
- **axis** (int,可选) - 指定对输入Tensor进行运算的轴, ``axis`` 的有效范围是[-R, R),R是输入 ``x`` 的Rank, ``axis`` 为负时与 ``axis`` +R 等价。默认值为0。
- **descending** (bool,可选) - 指定算法排序的方向。如果设置为True,算法按照降序排序。如果设置为False或者不设置,按照升序排序。默认值为False。
- **name** (str,可选) – 具体用法请参见 :ref:`api_guide_Name` ,一般无需设置,默认值为None。
返回:排序后索引信息(与 ``x`` 维度信息一致),数据类型为int64。
返回类型:Tensor
**代码示例**:
.. code-block:: python
import paddle
import paddle.imperative as imperative
import numpy as np
paddle.enable_imperative()
input_array = np.array([[[5,8,9,5],
[0,0,1,7],
[6,9,2,4]],
[[5,2,4,2],
[4,7,7,9],
[1,7,0,6]]]).astype(np.float32)
x = imperative.to_variable(input_array)
out1 = paddle.argsort(x=x, axis=-1)
out2 = paddle.argsort(x=x, axis=0)
out3 = paddle.argsort(x=x, axis=1)
print(out1.numpy())
#[[[0 3 1 2]
# [0 1 2 3]
# [2 3 0 1]]
# [[1 3 2 0]
# [0 1 2 3]
# [2 0 3 1]]]
print(out2.numpy())
#[[[0 1 1 1]
# [0 0 0 0]
# [1 1 1 0]]
# [[1 0 0 0]
# [1 1 1 1]
# [0 0 0 1]]]
print(out3.numpy())
#[[[1 1 1 2]
# [0 0 2 0]
# [2 2 0 1]]
# [[2 0 2 0]
# [1 1 0 2]
# [0 2 1 1]]]
......@@ -3,73 +3,69 @@
sort
-------------------------------
.. py:function:: paddle.sort(input, axis=-1, descending=False, out=None, name=None)
.. py:function:: paddle.sort(x, axis=-1, descending=False, name=None)
:alias_main: paddle.sort
:alias: paddle.sort,paddle.tensor.sort,paddle.tensor.search.sort
:update_api: paddle.fluid.layers.argsort
对输入变量沿给定轴进行排序,输出排序好的数据和相应的索引,其维度和输入相同。**默认升序排列,如果需要降序排列设置** ``descending=True`` 。
参数:
- **input** (Variable) - 输入的多维 ``Tensor`` ,支持的数据类型:float32、float64、int16、int32、int64、uint8。
- **x** (Tensor) - 输入的多维 ``Tensor`` ,支持的数据类型:float32、float64、int16、int32、int64、uint8。
- **axis** (int,可选) - 指定对输入Tensor进行运算的轴, ``axis`` 的有效范围是[-R, R),R是输入 ``x`` 的Rank, ``axis`` 为负时与 ``axis`` +R 等价。默认值为0。
- **descending** (bool,可选) - 指定算法排序的方向。如果设置为True,算法按照降序排序。如果设置为False或者不设置,按照升序排序。默认值为False。
- **out** (Variable, 可选) – 指定存储运算结果的Tensor(与 ``input`` 维度相同、数据类型相同)。如果设置为None或者不设置,将创建新的Tensor存储运算结果,默认值为None。
- **name** (str,可选) – 具体用法请参见 :ref:`api_guide_Name` ,一般无需设置,默认值为None。
返回:一组已排序的输出(与 ``input`` 维度相同、数据类型相同)和索引(数据类型为int64)。
返回:一组已排序的输出(与 ``x`` 维度相同、数据类型相同)和索引(数据类型为int64)。
返回类型:tuple[Variable]
返回类型:tuple[Tensor]
**代码示例**:
.. code-block:: python
import paddle
import paddle.fluid as fluid
import paddle.imperative as imperative
import numpy as np
in1 = np.array([[[5,8,9,5],
paddle.enable_imperative()
input_array = np.array([[[5,8,9,5],
[0,0,1,7],
[6,9,2,4]],
[[5,2,4,2],
[4,7,7,9],
[1,7,0,6]]]).astype(np.float32)
with fluid.dygraph.guard():
x = fluid.dygraph.to_variable(in1)
out1 = paddle.sort(input=x, axis=-1) # same as axis==2
out2 = paddle.sort(input=x, axis=0)
out3 = paddle.sort(input=x, axis=1)
x = imperative.to_variable(input_array)
out1 = paddle.sort(x=x, axis=-1)
out2 = paddle.sort(x=x, axis=0)
out3 = paddle.sort(x=x, axis=1)
print(out1[0].numpy())
# [[[5. 5. 8. 9.]
#[[[5. 5. 8. 9.]
# [0. 0. 1. 7.]
# [2. 4. 6. 9.]]
# [[2. 2. 4. 5.]
# [4. 7. 7. 9.]
# [0. 1. 6. 7.]]]
print(out1[1].numpy())
# [[[0 3 1 2]
#[[[0 3 1 2]
# [0 1 2 3]
# [2 3 0 1]]
# [[1 3 2 0]
# [0 1 2 3]
# [2 0 3 1]]]
print(out2[0].numpy())
# [[[5. 2. 4. 2.]
#[[[5. 2. 4. 2.]
# [0. 0. 1. 7.]
# [1. 7. 0. 4.]]
# [[5. 8. 9. 5.]
# [4. 7. 7. 9.]
# [6. 9. 2. 6.]]]
print(out3[0].numpy())
# [[[0. 0. 1. 4.]
#[[[0. 0. 1. 4.]
# [5. 8. 2. 5.]
# [6. 9. 9. 7.]]
# [[1. 2. 0. 2.]
# [4. 7. 4. 6.]
# [5. 7. 7. 9.]]]
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册