You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[Feature][Relax][ONNX] Support ConvInteger operator in Relax ONNX frontend #20965
Support the ONNX ConvInteger operator in the Apache TVM Relax ONNX frontend (python/tvm/relax/frontend/onnx/onnx_frontend.py).
Motivation
While MatMulInteger is currently supported in the Relax ONNX frontend (computing (A - a_zero_point) * (B - b_zero_point) with int32 accumulation), its convolution counterpart ConvInteger (opset 10+) is currently missing.
ConvInteger is a foundational operator for integer-only quantized neural networks (e.g. integer CNNs, INT8 quantization pipelines). Importing ONNX models containing ConvInteger fails with:
NotImplementedError: The following operators are not supported: ['ConvInteger']
This operator was also highlighted in the ONNX coverage RFC tracking issue #20124 under Convolution operators.
The Relax ONNX frontend should import ConvInteger nodes by subtracting zero points from input and weight (broadcasting appropriately), upcasting to int32, performing convolution via relax.op.nn.conv1d / conv2d / conv3d, and returning int32 activations.
Activity