Browse Source

!15571 Update MindSpore Doc Topk,Unique,UniqueWithPad

From: @dinglinhe123
Reviewed-by: @liangchenghui,@wuxuejian
Signed-off-by: @liangchenghui
pull/15571/MERGE
mindspore-ci-bot Gitee 4 years ago
parent
commit
fa2b53eb71
3 changed files with 16 additions and 14 deletions
  1. +8
    -9
      mindspore/ops/operations/array_ops.py
  2. +1
    -1
      mindspore/ops/operations/math_ops.py
  3. +7
    -4
      mindspore/ops/operations/nn_ops.py

+ 8
- 9
mindspore/ops/operations/array_ops.py View File

@@ -748,11 +748,10 @@ class Unique(Primitive):
Returns the unique elements of input tensor and also return a tensor containing the index of each value of input Returns the unique elements of input tensor and also return a tensor containing the index of each value of input
tensor corresponding to the output unique tensor. tensor corresponding to the output unique tensor.


This operation returns a tuple that contains the tensor `y` and the tensor `idx`;
where the tensor `y` contains unique elements along the `axis` of the tensor.
The sorting order of the unique elements is the same as the order that
they appear along the `axis` in `x`. Another tensor `idx` has the same size as the number of elements in `x`
along the `axis` dimension. It contains the index in the unique output `y`.
The shape of Tensor `y` and Tensor `idx` is different in most cases, because Tensor `y` will be deduplicated,
and the shape of Tensor `idx` is consistent with the input.

To get the same shape between `idx` and `y`, please ref to 'UniqueWithPad' operator


Inputs: Inputs:
- **x** (Tensor) - The input tensor. - **x** (Tensor) - The input tensor.
@@ -970,11 +969,11 @@ class UniqueWithPad(PrimitiveWithInfer):
""" """
Returns unique elements and relative indexes in 1-D tensor, filled with padding num. Returns unique elements and relative indexes in 1-D tensor, filled with padding num.


The basic function is the same as the Unique operator, but the operator adds a Pad function.
The returned tuple(`y`,`idx`) after the input tensor x is processed by the unique operator,
The basic function is the same as the Unique operator, but the UniqueWithPad operator adds a Pad function.
The returned tuple(`y`,`idx`) after the input Tensor `x` is processed by the unique operator,
in which the shapes of `y` and `idx` are mostly not equal. Therefore, in order to solve the above situation, in which the shapes of `y` and `idx` are mostly not equal. Therefore, in order to solve the above situation,
the UniqueWithPad operator will fill the `y` tensor with the number specified by the user
to make it have the same shape as the tensor `idx`.
the UniqueWithPad operator will fill the `y` Tensor with the `pad_num` specified by the user
to make it have the same shape as the Tensor `idx`.


Inputs: Inputs:
- **x** (Tensor) - The tensor need to be unique. Must be 1-D vector with types: int32, int64. - **x** (Tensor) - The tensor need to be unique. Must be 1-D vector with types: int32, int64.


+ 1
- 1
mindspore/ops/operations/math_ops.py View File

@@ -1423,7 +1423,7 @@ class SquaredDifference(_MathBinaryOp):


.. math:: .. math::


out_{i} = (x_{i} + y_{i}) * (x_{i} - y_{i}) = x_{i}^2 - y_{i}^2
out_{i} = (x_{i} - y_{i}) * (x_{i} - y_{i}) = (x_{i} - y_{i})^2


Inputs: Inputs:
- **input_x** (Union[Tensor, Number, bool]) - The first input is a number, or a bool, - **input_x** (Union[Tensor, Number, bool]) - The first input is a number, or a bool,


+ 7
- 4
mindspore/ops/operations/nn_ops.py View File

@@ -2079,12 +2079,15 @@ class TopK(PrimitiveWithInfer):
""" """
Finds values and indices of the `k` largest entries along the last dimension. Finds values and indices of the `k` largest entries along the last dimension.


If the input is a one-dimensional Tensor, find the k largest entries in the Tensor,
and output its value and index as a Tensor. Therefore, "values [k]" is the "k" largest item in "input",
and its index is "indices [k]".
If the `input_x` is a one-dimensional Tensor, finds the `k` largest entries in the Tensor,
and outputs its value and index as a Tensor. Therefore, values[`k`] is the `k` largest item in `input_x`,
and its index is indices [`k`].


For a multi-dimensional matrix, For a multi-dimensional matrix,
calculate the first k entries in each row (corresponding vector along the last dimension), therefore:
calculates the first `k` entries in each row (corresponding vector along the last dimension), therefore:

.. math::

values.shape = indices.shape = input.shape[:-1] + [k]. values.shape = indices.shape = input.shape[:-1] + [k].


If the two compared elements are the same, the one with the smaller index value is returned first. If the two compared elements are the same, the one with the smaller index value is returned first.


Loading…
Cancel
Save