com.microsoft.FusedConv

com.microsoft · ONNX Runtime contrib operator · contrib since_version 1

Description

Applies an N-dimensional convolution with optional bias B and residual Z, followed by an optional fused activation. Omitting activation leaves the convolution result unchanged. Supported activations are Relu, LeakyRelu, Sigmoid, Tanh, HardSigmoid, HardSwish, and Clip; other schema-permitted activation strings are not implemented. The implementation supports one to three spatial dimensions and float16 or float32; higher spatial ranks and float64 are not implemented.

See the ONNX Runtime FusedConv contrib-operator spec for the reference semantics.

Inputs

Name Bind key Logical dtype Rank Shape Description Presence
X x T Input data tensor of shape (N, C, D1, ..., Dn) for one to three spatial dimensions. required
W w T Convolution filter tensor of shape (M, C/group, k1, ..., kn), with the same spatial rank as X. required
B bias T 1 Optional 1-D bias tensor of length out_channels, broadcast-added to each output channel. optional
Z zResidual T same as X Optional residual tensor with the same shape as the output Y, added before the activation. optional

Outputs

Name Bind key Logical dtype Rank Shape Description Presence
Y y T same as X derived; see description Output feature map tensor after convolution, optional bias/residual addition, and the fused activation. 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.
activation Optional fused activation name: Relu, LeakyRelu, Sigmoid, Tanh, HardSigmoid, HardSwish, or Clip. Omission applies no activation.
activation_params Positional parameters for the fused activation: exactly [alpha] is required for LeakyRelu, and exactly [alpha, beta] or [min, max] is required for HardSigmoid or Clip, respectively. Parameter-free activations ignore this attribute.
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
T float32, float16

Device requirements

Some implementation variants require subgroup-matrix and subgroups. These are route-specific capabilities, not package-wide requirements; availability also depends on the request shape and dtype.

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/com.microsoft.FusedConv", { version: 1 });
const { y } = await kernel({
  x: { data: xData, shape: [1, 32, 8, 8] },
  w: { data: wData, shape: [32, 32, 1, 1] },
});
Downloads last month
-
kernel
webgpu
wgsl
apache-2.0
WebGPU

Requires WebGPU support. See the compatibility table.