开发者
资源
[object Object][object Object][object Object]undefined
[object Object]
  • API功能:完成量化计算参数[object Object]数据类型的转换,将[object Object]数据按照bit位存储进一个[object Object]数据里。

  • 计算公式:

    1. [object Object]为64位格式,初始为0。

    2. [object Object]为1,[object Object]按bit位round到高19位,[object Object]为0不做处理。

      scale=Round(scale)scale = Round(scale)
    3. [object Object]按bit位取高19位截断,存储于[object Object]的bit位32位处,并将第46位修改为1。

      out=out  (scale & 0XFFFFE000)  (146)out = out\ |\ (scale\ \&\ 0XFFFFE000)\ |\ (1\ll46)
    4. 根据[object Object]取值进行后续计算:

      • [object Object]不存在,不再后续计算。
      • [object Object]存在:
        1. [object Object]值处理为int,范围为[-256, 255]。

          offset=Max(Min(INT(Round(offset)),255),256)offset = Max(Min(INT(Round(offset)),255),-256)
        2. 再将[object Object]按bit位保留9位并存储于out的37到45位。

          out=(out & 0x4000FFFFFFFF)  ((offset & 0X1FF)37)out = (out\ \&\ 0x4000FFFFFFFF)\ |\ ((offset\ \&\ 0X1FF)\ll37)
[object Object]
[object Object]
[object Object]
  • scale ([object Object]):必选参数。对应公式中的[object Object]。数据类型支持[object Object],数据格式支持NDND,shape支持1维或2维,具体约束参见。不支持非连续的Tensor,不支持空Tensor。
  • offset ([object Object]):可选参数。对应公式中的[object Object]。数据类型支持[object Object],数据格式支持NDND,shape支持1维或者2维,具体约束参见。不支持非连续的Tensor,不支持空Tensor。
  • round_mode ([object Object]):可选参数。量化计算中数据类型的转换模式选择,默认值为0。0表示截断填充模式(取高19位),1表示R_INT模式(可提升计算精度)。
[object Object]

[object Object]

代表[object Object]的计算结果,对应公式中的outout。数据类型支持[object Object](图模式下为[object Object]),数据格式支持NDND

[object Object]
  • 该接口支持推理场景下使用。
  • 该接口支持图模式。
  • 该接口在当前支持的产品中,支持与[object Object]类接口(如)配套使用。
  • 当不传入[object Object]时,输出shape与[object Object] shape一致。
    • 若该输出作为[object Object]类算子输入(如),shape支持1维(1,)(1,)(n,)(n,)或2维(1,n)(1, n),其中nn[object Object]计算中右矩阵([object Object],对应参数x2)的shape nn一致。
    • 若输出作为[object Object]类算子输入(如),仅在分组模式为m轴分组时使用(对应参数[object Object]为0),shape支持1维(g,)(g,)或2维(g,1)(g, 1)(g,n)(g, n),其中nn[object Object]计算中右矩阵(对应参数weight)的shape nn一致,gg[object Object]计算中分组数(对应参数[object Object]的shape大小)一致。
  • 当传入[object Object]时,仅作为[object Object]类算子输入(如):
    • [object Object][object Object][object Object]的shape支持1维(1,)(1,)(n,)(n,)或2维(1,n)(1, n),其中nn[object Object]计算中右矩阵([object Object],对应参数x2)的shape nn一致。
    • 当输入[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]
  • 图模式调用

    图模式下,[object Object]计算出的结果tensor为[object Object]数据类型。由于torch不支持该数据类型,需要搭配其他接口使用,如示例代码中的[object Object]

    [object Object]