标量精度转换(值转换)。支持如下几种数据类型的转换:
scalar_conv(round_mode, dst, src)
参数名称 |
输入/输出 |
含义 |
---|---|---|
dst |
输出 |
目的操作数,支持的数据类型为:Scalar(float32, float16, int32) |
round_mode |
输入 |
转换模式支持情况如下:
该接口支持的精度转换及每一种转换对应的round_mode如表2所示。 |
src |
输入 |
源操作数。 支持的数据类型为:Scalar(float32, float16, int32) |
Atlas 训练系列产品
在转换过程中,可能导致精度损失。
值 |
round |
floor |
ceil/ceiling |
away-zero |
to-zero |
odd |
---|---|---|---|---|---|---|
1.8 |
2 |
1 |
2 |
2 |
1 |
2 |
1.5 |
2 |
1 |
2 |
2 |
1 |
1 |
1.2 |
1 |
1 |
2 |
2 |
1 |
1 |
0.8 |
1 |
0 |
1 |
1 |
0 |
1 |
0.5 |
0 |
0 |
1 |
1 |
0 |
1 |
0.2 |
0 |
0 |
1 |
1 |
0 |
0 |
-0.2 |
0 |
-1 |
0 |
-1 |
0 |
0 |
-0.5 |
0 |
-1 |
0 |
-1 |
0 |
-1 |
-0.8 |
-1 |
-1 |
0 |
-1 |
0 |
-1 |
-1.2 |
-1 |
-2 |
-1 |
-2 |
-1 |
-1 |
-1.5 |
-2 |
-2 |
-1 |
-2 |
-1 |
-1 |
-1.8 |
-2 |
-2 |
-1 |
-2 |
-1 |
2 |
无
from tbe import tik tik_instance = tik.Tik() src_scalar = tik_instance.Scalar(dtype="float32", init_value=10.2) dst_scalar = tik_instance.Scalar(dtype="int32") tik_instance.scalar_conv('round', dst_scalar, src_scalar)