OPERATOR RULE

ConvTranspose

输入激活、权重和输出激活都必须量化。

quant-only
规则定位quant-only
量化判定输入、权重、输出必须量化
数据类型激活 U4(偶数通道) / S8 / U8 / S16 / U16;权重 S4(偶数 OC) / S8;bias FP32 / S32
示例状态9/9 PASS

数据类型与量化边界

数据类型概述
激活 U4(偶数通道) / S8 / U8 / S16 / U16;权重 S4(偶数 OC) / S8;bias FP32 / S32
量化要求
输入、权重、输出必须量化

规则原文

规则定位:quant-only

本页是 ax quant spec 的逐算子展开。本页与统一规范冲突时,以统一规范为准。

规则

  • 输入激活、权重和输出激活都必须量化。
  • 输入激活与输出激活的整数量化类型、scalezero_point 相互独立。
  • 激活量化类型从 U4 非对称、S8 对称或非对称、U8 非对称、S16 对称、U16 非对称中选择,粒度为 per-tensor。
  • 权重只允许 S4 或 S8 对称 per-channel 量化,并且 axis = 1
  • U4 激活要求输入通道数为偶数;S4 权重要求输出通道数为偶数。
  • bias 可省略、直接使用 FP32 initializer,或使用 S32 对称 per-channel 量化。
  • 量化 bias 允许 FP32 initializer 经 Q/DQ,或 INT32 initializer 经 DQ。
  • 量化 bias 必须逐通道满足 bias_scale = input_scale * weight_scale;该数值检查为 warn,受 check_value 控制,使用绝对阈值 1e-7 和相对阈值 1e-5 判定。
  • group > 1 时不得使用量化 bias;无 bias 或 FP32 bias 不受此项限制。

本文档未增加限制的属性、shape 和输入形式,遵循模型声明 opset 下的 ONNX 语义。

与 Pattern 的关系

  • ConvTranspose 后接 BatchNormalization 可以形成融合 Pattern,二者之间不插入 Q/DQ。
  • ConvTranspose 可以继续连接非对称 Relu 或静态 Clip 分支局部融合尾。

MODEL EVIDENCE

可验证的 ONNX 案例

每张卡片直接嵌入对应的 Netron 模型图,进入页面后自动加载。

无 bias

VERIFIED

权重使用整数量化 initializer,经 DQ 进入主算子。

errors 0warnings 0nodes 6Q/DQ 2 / 3patterns none
Netron正在加载模型…
新窗口打开

U4 激活

VERIFIED

激活使用 U4 非对称 per-tensor,输入通道数为偶数;权重 S8 per-channel,无 bias。

errors 0warnings 0nodes 6Q/DQ 2 / 3patterns none
Netron正在加载模型…
新窗口打开

S16 激活

VERIFIED

激活使用 S16 对称 per-tensor;权重 S8 per-channel,无 bias。

errors 0warnings 0nodes 6Q/DQ 2 / 3patterns none
Netron正在加载模型…
新窗口打开

U16 激活

VERIFIED

激活使用 U16 非对称 per-tensor;权重 S8 per-channel,无 bias。

errors 0warnings 0nodes 6Q/DQ 2 / 3patterns none
Netron正在加载模型…
新窗口打开

FP32 bias

VERIFIED

直接引用 FP32 initializer 作为 bias。

errors 0warnings 0nodes 6Q/DQ 2 / 3patterns none
Netron正在加载模型…
新窗口打开

S32 bias

VERIFIED

使用 INT32 initializer 经 DQ 表达逐通道 bias。

errors 0warnings 0nodes 7Q/DQ 2 / 4patterns none
Netron正在加载模型…
新窗口打开

S4 权重

VERIFIED

使用 INT4 per-channel 权重 DQ,输出通道数为偶数。

errors 0warnings 0nodes 6Q/DQ 2 / 3patterns none
Netron正在加载模型…
新窗口打开

分组 + FP32 bias

VERIFIED

分组 ConvTranspose 的合法 FP32 bias 形式。

errors 0warnings 0nodes 6Q/DQ 2 / 3patterns none
Netron正在加载模型…
新窗口打开

ConvTranspose + BatchNormalization Pattern

VERIFIED

展示不在融合 Pattern 内插入 Q/DQ 的结构。

errors 0warnings 0nodes 7Q/DQ 2 / 3patterns ConvTranspose+BatchNormalization
Netron正在加载模型…
新窗口打开