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 Logical dtype Rank Shape Description Presence
data T Source tensor of rank r >= 1 from which values are gathered. required
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 Logical dtype Rank Shape Description Presence
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

npm install --save-exact @huggingface/kernels@0.0.1-preview.2

Required output shapes and logical data types are inferred from the supplied inputs and attributes; result tensors are allocated automatically.

The version: 1 option selects the published kernel contract; it is independent of any operator opset, contrib since_version, or model version. It follows the v1 branch as fixes land. To pin exact artifact bytes, pass a 40-character commit revision instead of 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.