Cast
产品支持情况
| 产品 | 是否支持 |
|---|---|
| Ascend 950PR/Ascend 950DT | √ |
| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | √ |
| Atlas A2 训练系列产品/Atlas A2 推理系列产品 | √ |
| Atlas 200I/500 A2 推理产品 | √ |
| Atlas 推理系列产品 | √ |
| Atlas 训练系列产品 | √ |
功能说明
将输入tensor转换为指定的dtype类型。
参数说明
| 参数名 | 输入/输出/属性 | 描述 | 数据类型 | 数据格式 |
|---|---|---|---|---|
| self | 输入 | 待进行cast计算的入参。 | BOOL、FLOAT16、FLOAT、INT8、INT32、UINT32、UINT8、INT64、UINT64、INT16、UINT16、DOUBLE、COMPLEX64、COMPLEX128、QINT8、QUINT8、QINT16、QUINT16、QINT32、BF16、UINT1、COMPLEX32、HIFLOAT8、FLOAT8_E5M2、FLOAT8_E4M3FN、FLOAT4_E1M2、FLOAT4_E2M1 | ND |
| out | 输出 | 待进行cast计算的出参。 | BOOL、FLOAT16、FLOAT、INT8、INT32、UINT32、UINT8、INT64、UINT64、INT16、UINT16、DOUBLE、COMPLEX64、COMPLEX128、QINT8、QUINT8、QINT16、QUINT16、QINT32、BF16、UINT1、COMPLEX32、HIFLOAT8、FLOAT8_E5M2、FLOAT8_E4M3FN、FLOAT4_E1M2、FLOAT4_E2M1 | ND |
- Atlas 训练系列产品、Atlas 推理系列产品:不支持BFLOAT16。
- Atlas A2 训练系列产品/Atlas A2 推理系列产品、Atlas A3 训练系列产品/Atlas A3 推理系列产品:不支持COMPLEX32、HIFLOAT8、FLOAT8_E5M2、FLOAT8_E4M3FN、FLOAT4_E2M1、FLOAT4_E1M2。
约束说明
-
针对数据类型从浮点数转换为整型的场景: 输入数据中存在nan,则将nan转换为0。
-
针对输入数据类型为BOOL、COMPLEX32、COMPLEX64、COMPLEX128、FLOAT4_E2M1、FLOAT4_E1M2的场景: 不支持输入为非连续。
-
Atlas 推理系列产品、Atlas 训练系列产品、Atlas A2 训练系列产品/Atlas A2 推理系列产品、Atlas A3 训练系列产品/Atlas A3 推理系列产品:
- 针对数据类型从INT32转换为INT8的场景: 只能保证输入数据在(-2048, 1920)范围内精度无误差。
- 针对数据类型从FLOAT64/COMPLEX64/COMPLEX128转换为UINT8的场景: 只能保证输入数据为非负数精度无误差。
-
Atlas 推理系列产品:
-
针对数据类型从FLOAT32转换为INT64和FLOAT32转换为UINT8的场景: 只能保证输入数据在(-2147483648, 2147483583)范围内精度无误差。
-
针对数据类型从INT64转换为FLOAT32的场景: 只能保证输入数据在(-2147483648, 2147483647)范围内精度无误差。
-
-
Ascend 950PR/Ascend 950DT:
-
针对输入、输出类型,涉及COMPLEX32、COMPLEX64、FLOAT4_E2M1、FLOAT4_E1M2、HIFLOAT8、FLOAT8_E5M2、FLOAT8_E4M3FN的,只支持如下表格中的转换路径:
self数据类型out数据类型COMPLEX32 COMPLEX64 COMPLEX64 COMPLEX32 COMPLEX32 FLOAT16 FLOAT16 COMPLEX32 FLOAT32/BFLOAT16 COMPLEX64 COMPLEX64 FLOAT32/BFLOAT16 FLOAT32/FLOAT16/BFLOAT16 FLOAT4_E2M1/FLOAT4_E1M2 FLOAT4_E2M1/FLOAT4_E1M2 FLOAT32/FLOAT16/BFLOAT16 FLOAT32/FLOAT16/BFLOAT16 HIFLOAT8/FLOAT8_E5M2/FLOAT8_E4M3FN HIFLOAT8/FLOAT8_E5M2/FLOAT8_E4M3FN FLOAT32/FLOAT16/BFLOAT16 HIFLOAT8/FLOAT8_E5M2/FLOAT8_E4M3FN FLOAT4_E2M1/FLOAT4_E1M2 FLOAT4_E2M1/FLOAT4_E1M2 HIFLOAT8/FLOAT8_E5M2/FLOAT8_E4M3FN
-
调用说明
| 调用方式 | 调用样例 | 说明 |
|---|---|---|
| aclnn调用 | test_aclnn_cast | 通过aclnnCast接口方式调用Cast算子。 |
| 图模式调用 | test_geir_cast | 通过算子IR构图方式调用Cast算子。 |