ai.onnx.GatherElements

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

Description

Gathers values from the data tensor using index positions specified by indices, both of the same rank. For each element in indices, the corresponding output value is read from data by substituting that index along the chosen axis while keeping all other coordinates the same. The output shape equals the shape of indices.

See the ONNX GatherElements spec for the reference semantics.

Inputs

Name Bind key Logical dtype Rank Shape Description Presence
data data T Source tensor of rank r >= 1 from which values are gathered. required
indices indices I Integer index tensor of the same rank as data; each value selects a position along axis within bounds [-s, s-1] for axis size s. required

Outputs

Name Bind key Logical dtype Rank Shape Description Presence
output output T same as indices same as indices Output tensor with the same shape as indices, containing the gathered values from data. required

Attributes

Default values (overridable per request):

Attribute Default Description
axis 0 The axis of data along which indexing is performed. Negative values count from the last dimension; accepted range is [-r, r-1] where r is the rank of data.

Type constraints

Variable Allowed dtypes
T float32, float16, uint32, int32, int16, uint8, int8, bool
I 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.GatherElements", { version: 1 });
const { output } = await kernel({
  data: { data: dataData, shape: [2, 3] },
  indices: { data: indicesData, shape: [1, 2] },
});
Downloads last month
-
kernel
webgpu
wgsl
apache-2.0
WebGPU

Requires WebGPU support. See the compatibility table.