ai.onnx.ConvInteger / README.md
Xenova's picture
Xenova HF Staff
sync 2e7068faf55e
07e768f verified
|
Raw
History Blame
3.93 kB
metadata
library_name: kernels
license: apache-2.0
tags:
  - kernel
  - webgpu
  - wgsl

ai.onnx.ConvInteger

ai.onnx · standard ONNX operator · ONNX opset ≥ 10

Description

Performs integer convolution on quantized inputs x and filter w, each with an optional zero point, producing an int32 output. Zero-point subtraction is applied before accumulation; the result must not overflow 32 bits during accumulation.

See the ONNX ConvInteger spec for the reference semantics.

Inputs

Name Bind key Logical dtype Rank Shape Description Presence
x x TX Input data tensor of shape (N x C x D1 x ... x Dn). required
w w TW Convolution weight tensor of shape (M x C/group x k1 x ... x kn). required
x_zero_point x_zero_point TX Optional scalar zero point for x; defaults to 0. optional
w_zero_point w_zero_point TW Optional scalar or per-output-channel zero point for w; defaults to 0. optional

Outputs

Name Bind key Logical dtype Rank Shape Description Presence
y y TY same as x derived; see description Output tensor containing int32 convolution results. required

Attributes

Attributes and default values (overridable per request):

Attribute Default Description
auto_pad "NOTSET" Automatic padding mode. NOTSET uses pads; SAME_UPPER and SAME_LOWER choose padding so each output spatial size is ceil(input / stride); VALID uses no padding.
group 1 Number of groups that input and output channels are split into; defaults to 1.
dilations Optional dilation factors, one positive integer per spatial axis. Omission means all ones.
kernel_shape Optional kernel shape, one positive integer per spatial axis. When present, it must match the spatial dimensions of the weight tensor; omission infers the shape from the weights.
pads Optional explicit padding in ONNX order [begin_axis_0, ..., begin_axis_n, end_axis_0, ..., end_axis_n]. Omission means all zeros; it cannot be combined with an automatic padding mode.
strides Optional stride factors, one positive integer per spatial axis. Omission means all ones.

Type constraints

Variable Allowed dtypes
TX uint8, int8
TW uint8, int8
TY int32

Files

Use with @huggingface/kernels

The loader derives every required output's shape and logical dtype from the manifest contract and this call. It then allocates the result tensors automatically.

The version: 1 option selects the published kernel contract; it is independent of any operator opset, contrib since_version, or model version.

Replace each *Data placeholder with a typed array containing the corresponding input data.

import { getKernel } from "@huggingface/kernels";

const kernel = await getKernel("webgpu-kernels/ai.onnx.ConvInteger", { version: 1 });
const { y } = await kernel({
  x: { data: xData, shape: [1, 1, 2, 1, 1] },
  w: { data: wData, shape: [1, 1, 1, 1, 1] },
});