LinearQuantOperation
功能
带量化的Linear。
图1 LinearQuantOperation

约束
输入x / weight矩阵维度,通过transposeA / transposeB配置要满足矩阵乘的维度关系。
定义
struct LinearQuantParam{
bool transposeA = false;
bool transposeB = true;
bool hasBias = true;
};
成员
成员名称 |
描述 |
---|---|
transposeA |
是否转置A矩阵,默认不转置。 当输入x的维度为3时,transposeA必须为false。 |
transposeB |
是否转置B矩阵,默认转置。 |
hasBias |
是否叠加偏置,该偏置为反量化偏置,当前只支持hasBias = true。 |
输入
参数 |
维度 |
数据类型 |
格式 |
描述 |
---|---|---|---|---|
x |
当y为ND或NZ时支持以下维度输入: 当y为NZ格式时,额外支持以下维度输入: |
int8 |
ND |
当前只支持int8。 |
weight |
int8 |
ND/NZ |
当前只支持int8。 weight为NZ时,倒数第二维为16整数倍。
|
|
bias |
[1, n] / [n] |
float16/int32 |
ND |
hasBias=true时才输入。 Atlas 推理系列产品(配置Ascend 310P AI处理器):float16 |
deqScale |
[1, x] / [x] |
float |
ND |
反量化的Scale。 对于维度中的x: Atlas 推理系列产品(配置Ascend 310P AI处理器):x=n |
输出
参数 |
维度 |
数据类型 |
格式 |
---|---|---|---|
output |
根据以上输入维度,输出维度为:
当y为NZ格式时,对应以下维度输出:
|
float16 |
ND |