常用的逐元素数值计算集合。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
struct ElewiseParam { enum ElewiseType: int { ELEWISE_UNDEFINED = 0, ELEWISE_CAST, ELEWISE_MULS, ELEWISE_COS, ELEWISE_SIN, ELEWISE_NEG, ELEWISE_QUANT, ELEWISE_LOGICAL_NOT, ELEWISE_ADD, ELEWISE_MUL, ELEWISE_REALDIV, ELEWISE_LOGICAL_AND, ELEWISE_LOGICAL_OR, ELEWISE_LESS, ELEWISE_GREATER, ELEWISE_SUB, ELEWISE_EQUAL, ELEWISE_QUANT_PER_CHANNEL, ELEWISE_DEQUANT_PER_CHANNEL, ELEWISE_DYNAMIC_QUANT, ELEWISE_TANH, ELEWISE_TYPE_MAX }; struct QuantParam { float inputScale = 1.0f; bool asymmetric = false; int inputOffset = 0; uint8_t rsv[20] = {0}; }; struct MulsParam { float varAttr = 0.0f; uint8_t rsv[12] = {0}; }; ElewiseType elewiseType = ELEWISE_UNDEFINED; QuantParam quantParam; MulsParam mulsParam; aclDataType outTensorType = ACL_DT_UNDEFINED; uint8_t rsv[8] = {0}; }; |
成员名称 |
类型 |
默认值 |
描述 |
---|---|---|---|
elewiseType |
ElewiseType |
ELEWISE_UNDEFINED |
计算类型。
|
quantParam |
struct |
- |
量化参数,具体请参见表1。 |
mulsParam |
struct |
- |
乘值参数,具体请参见表2。 |
outTensorType |
aclDataType |
ACL_DT_UNDEFINED |
指定数据类型转换输出的数据类型。 |
rsv[8] |
uint8_t |
{0} |
预留参数。 |
参数 |
维度 |
数据类型 |
格式 |
描述 |
---|---|---|---|---|
x |
[dim_0,dim_1,...,dim_n] |
float16 |
ND |
输入tensor,n>1。 最后一维H小于等于24576。 若为 |
z |
[dim_0,dim_1,...,dim_n] |
int8 |
ND |
量化输出结果。 |
scale |
[dim_0,...,dim_n-1] |
float |
ND |
反量化所需的scale。 |
offset |
[dim_0,...,dim_n-1] |
float |
ND |
反量化所需的offset,在“asymmetric”为“true”时才返回。当前不支持asymmetric为true的场景。 |
参数 |
维度 |
数据类型 |
格式 |
描述 |
---|---|---|---|---|
x |
[dim_0,...,dim_n] |
float16 |
ND |
输入。 |
out |
[dim_0,...,dim_n] |
float16 |
ND |
输出。 |