mindspore.ops.sign
- mindspore.ops.sign(input)[源代码]
按sign公式逐元素计算输入Tensor。注意:在输入类型为float64时,该算子反向计算结果为NaN。
\[\begin{split}\text{out}_{i} = \begin{cases} -1 & \text{input}_{i} < 0 \\ 0 & \text{input}_{i} = 0 \\ 1 & \text{input}_{i} > 0 \end{cases}\end{split}\]- 参数:
input (Tensor) - 输入Tensor。
- 返回:
Tensor, input 的sign计算结果。
- 异常:
TypeError - 如果 input 不是Tensor。
- 支持平台:
Ascend
GPU
CPU
样例:
>>> import mindspore as ms >>> import mindspore.ops as ops >>> input = ms.Tensor([[-1, 0, 2, 4, 6], [2, 3, 5, -6, 0]]) >>> output = ops.sign(input) >>> print(output) [[-1 0 1 1 1] [ 1 1 1 -1 0]] >>> ms.set_context(device_target="CPU") >>> x = ms.Tensor([[-1, 0, float('inf'), 4, float('nan')], [2, 3, float('-inf'), -6, 0]]) >>> output = ops.sign(x) >>> print(output) [[-1. 0. 1. 1. 0.] [ 1. 1. -1. -1. 0.]]