Sign
产品支持情况
| 产品 | 是否支持 |
|---|---|
| Ascend 950PR&950DT系列产品 | √ |
| Atlas A3系列产品 | √ |
| 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和imag下面各分别表示取实部和虚部):
resultputi=α⋅cos(θi)+β⋅sin(θi)α={1,real(inputi)>00,real(inputi)=0−1,real(inputi)<0β={1,imag(inputi)>00,imag(inputi)=0−1,imag(inputi)<0θi=arctan(imag(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 imag(input_i) > 0 \\ 0,\quad imag(input_i) = 0 \\ -1,\quad imag(input_i) < 0 \\ \end{aligned} \right. \\ \theta_i = arctan(\frac{imag(input_i)}{real(input_i)})
参数说明
| 参数名 | 输入/输出/属性 | 描述 | 数据类型 | 数据格式 |
|---|---|---|---|---|
| x | 输入 | 待进行sign计算的入参,公式中的input_i。 | FLOAT、FLOAT16、BFLOAT16、INT32、INT64、DOUBLE、INT8、INT16、UINT8、UINT16、UINT32、UINT64、COMPLEX64、COMPLEX128、BOOL | ND |
| y | 输出 | 进行sign计算的出参,公式中的resultput_i。 | FLOAT、FLOAT16、BFLOAT16、INT32、INT64、DOUBLE、INT8、INT16、UINT8、UINT16、UINT32、UINT64、COMPLEX64、COMPLEX128、BOOL | ND |
- INT8、INT16、UINT8、UINT16、UINT32、UINT64类型,只有geir调用支持。
- BOOL、DOUBLE、COMPLEX64、COMPLEX128类型,只有aclnn调用支持。
约束说明
无
调用说明
| 调用方式 | 调用样例 | 说明 |
|---|---|---|
| aclnn调用 | test_aclnn_sign | 通过aclnnSign接口方式调用Sign算子。 |