Sign

产品支持情况

产品 是否支持
Ascend 950PR/Ascend 950DT
Atlas A3 训练系列产品/Atlas A3 推理系列产品
Atlas A2 训练系列产品/Atlas A2 推理系列产品
Atlas 200I/500 A2 推理产品 ×
Atlas 推理系列产品 ×
Atlas 训练系列产品 ×

功能说明

  • 算子功能:对输入的tensor逐元素进行Sign符号函数的运算并输出结果tensor。

  • 计算公式:

    resultputi={1,inputi>00,inputi=0−1,inputi<0resultput_i = \left\{ \begin{aligned} 1,\quad input_i > 0\\ 0,\quad input_i = 0\\ -1,\quad input_i < 0 \end{aligned} \right.

  • 计算公式(BOOL类型情况):

    resultputi={True,inputi=TrueFalse,inputi=Falseresultput_i = \left\{ \begin{aligned} \text{True},\quad input_i = \text{True}\\ \text{False},\quad input_i = \text{False}\\ \end{aligned} \right.

  • 计算公式(复数情况,其中real和下面各分别表示取实部和虚部):

    resultputi=α⋅cos(θi)+β⋅sin(θi)α={1,real(inputi)>00,real(inputi)=0−1,real(inputi)<0β={1,image(inputi)>00,image(inputi)=0−1,image(inputi)<0θi=arctan(image(inputi)real(inputi))resultput_i = \alpha \cdot cos(\theta_i) + \beta \cdot sin(\theta_i) \\ \alpha = \left\{ \begin{aligned} 1,\quad real(input_i) > 0 \\ 0,\quad real(input_i) = 0 \\ -1,\quad real(input_i) < 0 \\ \end{aligned} \right. \\ \beta = \left\{ \begin{aligned} 1,\quad image(input_i) > 0 \\ 0,\quad image(input_i) = 0 \\ -1,\quad image(input_i) < 0 \\ \end{aligned} \right. \\ \theta_i = arctan(\frac{image(input_i)}{real(input_i)})

参数说明

参数名 输入/输出/属性 描述 数据类型 数据格式
x 输入 待进行sign计算的入参,公式中的input_i。 FLOAT、FLOAT16、BFLOAT16、INT32、INT64 ND
y 输出 进行sign计算的出参,公式中的resultput_i。 FLOAT、FLOAT16、BFLOAT16、INT32、INT64 ND

约束说明

调用说明

调用方式 调用样例 说明
aclnn调用 test_aclnn_sign 通过aclnnSign接口方式调用Sign算子。