Cast
支持的产品型号
Atlas 训练系列产品
Atlas A2训练系列产品/Atlas 800I A2推理产品
Atlas 推理系列产品
函数功能
将输入tensor转换为指定的数据类型。
函数原型
const aclTensor *Cast(const aclTensor *self, op::DataType dstDtype, aclOpExecutor *executor)
参数说明
参数 |
输入/输出 |
说明 |
---|---|---|
self |
输入 |
待转换的输入tensor,数据类型支持FLOAT16、FLOAT、DOUBLE、BFLOAT16、INT8、UINT8、INT16、UINT16、INT32、UINT32、INT64、UINT64、BOOL、COMPLEX64、COMPLEX128。数据格式支持ND。
说明:
BFLOAT16适用于如下产品型号: Atlas A2训练系列产品/Atlas 800I A2推理产品 |
dstDtype |
输入 |
转换后的目标dtype,数据类型支持FLOAT16、FLOAT、DOUBLE、BFLOAT16、INT8、UINT8、INT16、UINT16、INT32、UINT32、INT64、UINT64、BOOL、COMPLEX64、COMPLEX128。
说明:
BFLOAT16适用于如下产品型号: Atlas A2训练系列产品/Atlas 800I A2推理产品 |
executor |
输入 |
op执行器,包含了算子计算流程。 |
返回值说明
返回类型为dstDtype的tensor。
约束说明
无
调用示例
// 固定写法,创建OpExecutor auto uniqueExecutor = CREATE_EXECUTOR(); auto selfCasted = self; // 当self为布尔类型时,利用Cast接口转换为uint8类型后可进行整型计算; if (self->GetDataType() == op::DataType::DT_BOOL) { selfCasted = l0op::Cast(self, op::DataType::DT_UINT8, uniqueExecutor.get()); CHECK_RET(selfCasted != nullptr, ACLNN_ERR_PARAM_NULLPTR); }
父主题: 基础核函数接口