文件最后提交记录最后更新时间
2 个月前
2 个月前
24 天前
2 个月前
2 个月前
2 个月前
24 天前
README

Dequantize

产品支持情况

产品 是否支持
Ascend 950PR/Ascend 950DT
Atlas A3 训练系列产品/Atlas A3 推理系列产品
Atlas A2 训练系列产品/Atlas A2 推理系列产品
Atlas 200I/500 A2 推理产品
Atlas 推理系列产品
Atlas 训练系列产品

功能说明

  • 算子功能:对量化后的整数张量进行反量化,将其转换回浮点数。

  • 计算公式:

    支持三种反量化模式,由mode属性指定:

    MIN_COMBINED模式:

    y=(x+bias)×(max_range−min_range)2n−1+min_rangey = \frac{(x + bias) \times (max\_range - min\_range)}{2^n - 1} + min\_range

    其中,nn为输入数据类型位数,bias=2n−1bias = 2^{n-1}(有符号类型)或00(无符号类型)。

    MIN_FIRST模式:

    对于INT8/UINT8:

    offset=min_range+round(−min_range×(2n−1)/(max_range−min_range))×(max_range−min_range)2n−1offset = min\_range + \frac{round(-min\_range \times (2^n - 1) / (max\_range - min\_range)) \times (max\_range - min\_range)}{2^n - 1}

    y=(x+bias)×(max_range−min_range)2n−1+min_range−offsety = \frac{(x + bias) \times (max\_range - min\_range)}{2^n - 1} + min\_range - offset

    对于INT32:与MIN_COMBINED模式相同。

    SCALED模式:

    对于有符号类型(INT8、INT32):

    y=x×max_range2n−1−1y = x \times \frac{max\_range}{2^{n-1} - 1}

    对于无符号类型(UINT8):

    y=x×max_range2n−1y = x \times \frac{max\_range}{2^{n} - 1}

    其中nn为输入数据类型位数。

参数说明

参数名 输入/输出/属性 描述 数据类型 数据格式
x 输入 量化后的输入张量 INT8、UINT8、INT32 ND
min_range 输入 量化范围的最小值 FLOAT ND
max_range 输入 量化范围的最大值 FLOAT ND
mode 属性 反量化模式,可选值:MIN_COMBINED、MIN_FIRST、SCALED String -
y 输出 反量化后的输出张量,shape与输入x一致 FLOAT ND

约束说明

  1. min_range和max_range必须满足max_range > min_range。
  2. 在SCALED模式下,max_range必须大于0。
  3. min_range和max_range支持广播,其shape需要与输入x的shape兼容。

调用说明

调用方式 样例代码 说明
图模式调用 test_geir_dequantize.cpp 通过算子IR构图方式调用Dequantize算子。