ai.onnx.Gelu

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

Description

Applies the Gaussian Error Linear Unit activation elementwise: y = 0.5 * x * (1 + erf(x / sqrt(2))). When approximate is "tanh", uses the tanh-based approximation y = 0.5 * x * (1 + tanh(sqrt(2/π) * (x + 0.044715 * x³))) instead.

See the ONNX Gelu spec for the reference semantics.

Inputs

Name Bind key Logical dtype Rank Shape Description Presence
X x T Values transformed elementwise by the selected GELU formulation. required

Outputs

Name Bind key Logical dtype Rank Shape Description Presence
Y y T same as X same as X Output tensor; same shape as the input, with GELU applied elementwise. required

Attributes

Default values (overridable per request):

Attribute Default Description
approximate "none" Selects the GELU approximation algorithm: "none" (default) uses the exact erf-based formula; "tanh" uses the faster tanh-based polynomial approximation.

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/ai.onnx.Gelu", { version: 1 });
const { y } = await kernel({ x: { data: xData, shape: [] } });
Downloads last month
-
kernel
webgpu
wgsl
apache-2.0
WebGPU

Requires WebGPU support. See the compatibility table.