API功能:完成量化计算参数
[object Object]数据类型的转换,将[object Object]数据按照bit位存储进一个[object Object]数据里。计算公式:
[object Object]为64位格式,初始为0。若
[object Object]为1,[object Object]按bit位round到高19位,[object Object]为0不做处理。[object Object]按bit位取高19位截断,存储于[object Object]的bit位32位处,并将第46位修改为1。根据
[object Object]取值进行后续计算:- 若
[object Object]不存在,不再后续计算。 - 若
[object Object]存在:将
[object Object]值处理为int,范围为[-256, 255]。再将
[object Object]按bit位保留9位并存储于out的37到45位。
- 若
[object Object]
- scale (
[object Object]):必选参数。对应公式中的[object Object]。数据类型支持[object Object],数据格式支持,shape支持1维或2维,具体约束参见。不支持非连续的Tensor,不支持空Tensor。 - offset (
[object Object]):可选参数。对应公式中的[object Object]。数据类型支持[object Object],数据格式支持,shape支持1维或者2维,具体约束参见。不支持非连续的Tensor,不支持空Tensor。 - round_mode (
[object Object]):可选参数。量化计算中数据类型的转换模式选择,默认值为0。0表示截断填充模式(取高19位),1表示R_INT模式(可提升计算精度)。
[object Object]
代表[object Object]的计算结果,对应公式中的。数据类型支持[object Object](图模式下为[object Object]),数据格式支持。
- 该接口支持推理场景下使用。
- 该接口支持图模式。
- 该接口在当前支持的产品中,支持与
[object Object]类接口(如)配套使用。 - 当不传入
[object Object]时,输出shape与[object Object]shape一致。 - 当传入
[object Object]时,仅作为[object Object]类算子输入(如):[object Object]、[object Object]、[object Object]的shape支持1维、或2维,其中与[object Object]计算中右矩阵([object Object],对应参数x2)的shape 一致。- 当输入
[object Object]的shape为1维,[object Object]的shape也为1维,且shape大小为[object Object]与[object Object]单维shape大小的最大值。 - 当输入
[object Object]的shape为2维,[object Object]的shape与输入[object Object]的shape维度和大小完全一致。
单算子模式调用
[object Object]图模式调用
图模式下,
[object Object]计算出的结果tensor为[object Object]数据类型。由于torch不支持该数据类型,需要搭配其他接口使用,如示例代码中的[object Object]。[object Object]