文件最后提交记录最后更新时间
23 天前
14 天前
6 个月前
14 天前
14 天前
14 天前
7 个月前
23 天前
README

FakeQuantAffineCachemask

产品支持情况

产品 是否支持
Ascend 950PR/Ascend 950DT ×
Atlas A3 训练系列产品/Atlas A3 推理系列产品
Atlas A2 训练系列产品/Atlas A2 推理系列产品
Atlas 200I/500 A2推理产品 ×
Atlas 推理系列产品 ×
Atlas 训练系列产品 ×
Kirin X90 处理器系列产品
Kirin 9030 处理器系列产品

功能说明

  • 算子功能:对于输入数据x,使用scale和zero_point对输入x在指定轴axis上进行伪量化处理,并根据quant_min和quant_max对伪量化输出进行值域更新,最终返回结果y及对应位置掩码mask。

  • 计算公式:根据算子功能先计算临时变量qval,再计算得出out和mask。

    qval=Round(std::nearby_int(x/scale)+zeroPoint)qval = Round(std::nearby\_int(x / scale) + zeroPoint)

    y=(Min(quantMax,Max(quantMin,qval))−zeroPoint)∗scaley = (Min(quantMax, Max(quantMin, qval)) - zeroPoint) * scale

    mask=(qval>=quantMin)&(qval<=quantMax)mask = (qval >= quantMin) \& (qval <= quantMax)

参数说明

参数名 输入/输出/属性 描述 数据类型 数据格式
x 输入 公式中的`x`。 FLOAT、FLOAT16 ND
scale 输入 公式中的`scale`,表示输入伪量化的缩放系数。shape只支持1维。 FLOAT、FLOAT16 ND
zero_point 输入 公式中的`zero_point`,表示输入伪量化的零基准参数。shape只支持1维。 INT32 ND
axis 属性 表示计算维度。 INT64 -
quant_min 属性 表示输入数据伪量化后的最小值。 INT64 -
quant_max 属性 表示输入数据伪量化后的最大值。 INT64 -
y 输出 公式中的`y`。维度和计算输入`x`的维度一致。 FLOAT、FLOAT16 ND
mask 输出 公式中的`mask`。维度和计算输入`x`一致。 BOOL ND

约束说明

调用说明

调用方式 样例代码 说明
aclnn接口 test_aclnn_fake_quant_per_channel_affine_cachemask.cpp 通过aclnnFakeQuantPerChannelAffineCachemask接口方式调用FakeQuantAffineCachemask算子。
aclnn接口 test_aclnn_fake_quant_per_tensor_affine_cachemask.cpp 通过aclnnFakeQuantPerTensorAffineCachemask接口方式调用FakeQuantAffineCachemask算子。
图模式 - 通过算子IR构图方式调用FakeQuantAffineCachemask算子。