cast_to
功能说明
数据类型转换,把data中的数据转换为目标dtype类型。支持的转换范围如下表所示。
源数据类型 |
目的数据类型 |
取整模式 |
说明 |
---|---|---|---|
float32 |
float16 |
不涉及 |
全款型支持 |
float32 |
int8 |
舍弃小数,直接取整数 |
全款型支持 |
float32 |
uint8 |
舍弃小数,直接取整数 |
全款型支持 |
float16 |
float32 |
不涉及 |
全款型支持 |
float16 |
int8 |
舍弃小数,直接取整数 |
全款型支持 |
float16 |
uint8 |
舍弃小数,直接取整数 |
全款型支持 |
float16 |
int32 |
舍弃小数,直接取整数 |
全款型支持 |
int8 |
float16 |
不涉及 |
全款型支持 |
int8 |
uint8 |
舍弃小数,直接取整数 |
全款型支持 |
int32 |
float16 |
不涉及 |
全款型支持 |
int32 |
int8 |
舍弃小数,直接取整数 |
全款型支持 |
int32 |
uint8 |
舍弃小数,直接取整数 |
全款型支持 |
uint8 |
int8 |
舍弃小数,直接取整数 |
支持的型号: Atlas 推理系列产品 |
uint8 |
float16 |
不涉及 |
支持的型号: Atlas 推理系列产品 |
int16 |
int8 |
舍弃小数,直接取整数 |
支持的型号: Atlas 推理系列产品 |
int16 |
uint8 |
舍弃小数,直接取整数 |
支持的型号: Atlas 推理系列产品 |
int16 |
float16 |
不涉及 |
支持的型号: Atlas 推理系列产品 |
float32 |
int32 |
舍弃小数,直接取整数 |
支持的型号: Atlas 推理系列产品 |
int32 |
float32 |
不涉及 |
支持的型号: Atlas 推理系列产品 |
int32 |
int64 |
舍弃小数,直接取整数 |
支持的型号: Atlas 推理系列产品 |
int64 |
int32 |
舍弃小数,直接取整数 |
支持的型号: Atlas 推理系列产品 |
int64 |
float16 |
不涉及 |
支持的型号: Atlas 训练系列产品 Atlas 推理系列产品 Atlas 200/500 A2推理产品 Atlas A2训练系列产品/Atlas 800I A2推理产品 |
float16 |
complex32 |
不涉及 |
从实数向复数转换时,虚部默认为0。 支持的型号: Atlas A2训练系列产品/Atlas 800I A2推理产品 |
float32 |
complex64 |
不涉及 |
从实数向复数转换时,虚部默认为0。 支持的型号: Atlas A2训练系列产品/Atlas 800I A2推理产品 |
函数原型
cast_to(data, dtype, f1628IntegerFlag=True)
参数说明
- data:输入tensor,tvm.tensor类型。
- dtype:目的数据类型,字符串类型。
- f1628IntegerFlag:默认值为True。如果转换前数据的小数部分为0,参数f1628IntegerFlag需要设为True;如果转换前数据的小数部分不为0,参数f1628IntegerFlag需要设为False。
返回值
res_tensor:转换后的数据,tvm.tensor类型
约束说明
无。
支持的型号
Atlas 200/300/500 推理产品
Atlas 训练系列产品
Atlas 推理系列产品
Atlas 200/500 A2推理产品
Atlas A2训练系列产品/Atlas 800I A2推理产品
调用示例
from tbe import tvm from tbe import dsl shape = (1024,1024) input_dtype = "float16" data = tvm.placeholder(shape, name="data", dtype=input_dtype) res = dsl.cast_to(data,"float32")