TensorScalar互推导关系【免费下载链接】ops-cv本项目是CANN提供的图像处理、目标检测相关的算子库实现网络在NPU上加速计算。项目地址: https://gitcode.com/cann/ops-cv推导规则当一个API如aclnnAdds、aclnnMuls等输入的Tensor数据类型和输入的Scalar数据类型不一致时API内部会推导出一个数据类型将输入数据转换成该数据类型进行计算。类型推导的规则如下说明为方便描述表格中使用的数据类型是简写形式代表的含义ACL_FLOAT(f32)、ACL_FLOAT16(f16)、ACL_DOUBLE(f64)、ACL_BF16(bf16)、ACL_INT8(s8)、ACL_UINT8(u8)、ACL_INT16(s16)、ACL_UINT16(u16)、ACL_INT32(s32)、ACL_UINT32(u32)、ACL_INT64(s64)、ACL_UINT64(u64)、ACL_BOOL(bool)、ACL_COMPLEX32(c32)、ACL_COMPLEX64(c64)、ACL_COMPLEX128(c128)。表格里表头表示待推导的输入Tensor数据类型最左侧一列分别表示待推导的输入Scalar数据类型表格中对应位置表示推导出的数据类型。表中叉号(×)表示这两种类型不能进行推导计算。表 1数据类型推导关系表数据类型f32f16f64bf16s8u8s16u16s32u32s64u64boolc32c64c128f32f32f16f64bf16f32f32f32×f32×f32×f32c32c64c128f16f32f16f64bf16f32f32f32×f32×f32×f32c32c64c128f64f32f16f64bf16f32f32f32×f32×f32×f32c128c128c128bf16f32f16f64bf16f32f32f32×f32×f32×f32c32c64c128s8f32f16f64bf16s8u8s16u16s32u32s64u64s8c32c64c128u8f32f16f64bf16s8u8s16u16s32u32s64u64u8c32c64c128s16f32f16f64bf16s8u8s16u16s32u32s64u64s16c32c64c128u16f32f16f64bf16s8u8s16u16s32u32s64u64×c32c64c128s32f32f16f64bf16s8u8s16u16s32u32s64u64s32c32c64c128u32f32f16f64bf16s8u8s16u16s32u32s64u64×c32c64c128s64f32f16f64bf16s8u8s16u16s32u32s64u64s64c32c64c128u64f32f16f64bf16s8u8s16u16s32u32s64u64×c32c64c128boolf32f16f64bf16s8u8s16u16s32u32s64u64boolc32c64c128c32c64c32c128c64c64c64c64c64c64c64c64c64c64c32c64c128c64c64c32c128c64c64c64c64c64c64c64c64c64c64c32c64c128c128c64c32c128c64c64c64c64c64c64c64c64c64c64c32c64c128推导示例如果输入Tensor的数据类型为float16输入Scalar的数据类型为float32那么API内部就会将输入Scalar的float32数据类型转换成float16数据类型然后进行计算。如果输入Tensor的数据类型为bool输入Scalar的数据类型为float32那么API内部就会将输入Tensor的bool数据类型转换成float32数据类型然后进行计算。【免费下载链接】ops-cv本项目是CANN提供的图像处理、目标检测相关的算子库实现网络在NPU上加速计算。项目地址: https://gitcode.com/cann/ops-cv创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考