Xenova's picture
Xenova HF Staff
sync 2e7068faf55e
a44211c verified
|
Raw
History Blame
2.61 kB
metadata
library_name: kernels
license: apache-2.0
tags:
  - kernel
  - webgpu
  - wgsl

com.microsoft.BiasAdd

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

Description

Adds a 1-D bias (broadcast over the channel dimension) to input X, then adds the residual tensor skip elementwise. All three tensors share the same channel count C; X and skip have shape (N, S, C).

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

Inputs

Name Bind key Logical dtype Rank Shape Description Presence
X X T 3 Input tensor of shape (N, S, C): batch size N, spatial size S, and C channels. required
bias bias T 1 1-D bias vector of length C, broadcast-added along the channel dimension. required
skip skip T 3 Residual tensor with the same (N, S, C) shape as X, added after the bias. required

Outputs

Name Bind key Logical dtype Rank Shape Description Presence
Y Y T 3 same as X Output tensor of shape (N, S, C): the elementwise sum X + bias + skip. required

Type constraints

Variable Allowed dtypes
T float32, float16

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.BiasAdd", { version: 1 });
const { Y } = await kernel({
  X: { data: XData, shape: [1, 2, 4] },
  bias: { data: biasData, shape: [4] },
  skip: { data: skipData, shape: [1, 2, 4] },
});