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算子。