Download build/webgpu/test.json from webgpu-kernels/ai.onnx.GatherND: direct link, hf CLI and curl.
- Browser
- Download file 38.8 kB
-
https://huggingface.co/kernels/webgpu-kernels/ai.onnx.GatherND/resolve/v1/build/webgpu/test.json
- Command line
-
hf download hf://webgpu-kernels/ai.onnx.GatherND@v1/build/webgpu/test.json
-
curl -L -o test.json https://huggingface.co/kernels/webgpu-kernels/ai.onnx.GatherND/resolve/v1/build/webgpu/test.json
38.8 kB
| { | |
| "fixtureArrays": { | |
| "rank3_slice_outputs_input_data": [0, 1, 2, 3, 10, 11, 12, 13, 20, 21, 22, 23, 100, 101, 102, 103, 110, 111, 112, 113, 120, 121, 122, 123], | |
| "ort_batch_dims2_float_slice_input_data": [0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2, 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 2.8, 2.9], | |
| "ort_float_default_batch_dims_slice_input_data": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24], | |
| "ort_float_batch_dims2_rank5_suffix_input_data": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47] | |
| }, | |
| "cases": [ | |
| { | |
| "name": "dispatch_cliff_batch0_row_slices", | |
| "attrs": { "batch_dims": 0 }, | |
| "inputs": { | |
| "data": { "dtype": "float32", "shape": [1, 8388481], "data": { "kind": "linspace", "start": 0.0, "end": 1.0 } }, | |
| "indices": { "dtype": "int32", "shape": [2, 1], "data": { "kind": "constant", "value": 0 } } | |
| }, | |
| "outputs": { "output": { "dtype": "float32", "shape": [2, 8388481], "tolerance": 0 } } | |
| }, | |
| { | |
| "name": "scalar_slices", | |
| "inputs": { | |
| "data": { | |
| "dtype": "float32", | |
| "shape": [3, 3], | |
| "data": { "kind": "values", "values": [0.0, 1.0, 2.0, 10.0, 11.0, 12.0, 20.0, 21.0, 22.0] } | |
| }, | |
| "indices": { "dtype": "int32", "shape": [2, 2], "data": { "kind": "values", "values": [0, 2, 2, 1] } } | |
| }, | |
| "outputs": { "output": { "dtype": "float32", "shape": [2] } } | |
| }, | |
| { | |
| "name": "row_slices_f16", | |
| "inputs": { | |
| "data": { "dtype": "float16", "shape": [3, 4] }, | |
| "indices": { "dtype": "int32", "shape": [2, 1], "data": { "kind": "values", "values": [2, 0] } } | |
| }, | |
| "outputs": { "output": { "dtype": "float16", "shape": [2, 4] } }, | |
| "tolerance": 0.001 | |
| }, | |
| { | |
| "name": "rank3_slice_outputs", | |
| "inputs": { | |
| "data": { | |
| "dtype": "float32", | |
| "shape": [2, 3, 4], | |
| "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/rank3_slice_outputs_input_data" } } | |
| }, | |
| "indices": { | |
| "dtype": "int32", | |
| "shape": [3, 2, 2], | |
| "data": { "kind": "values", "values": [0, 0, 1, 2, 1, 0, 0, 2, 0, 1, 1, 1] } | |
| } | |
| }, | |
| "outputs": { "output": { "dtype": "float32", "shape": [3, 2, 4], "tolerance": 0.000001 } } | |
| }, | |
| { | |
| "name": "rank5_indices_scalar_slices", | |
| "inputs": { | |
| "data": { | |
| "dtype": "float32", | |
| "shape": [2, 3], | |
| "data": { "kind": "values", "values": [0.0, 1.0, 2.0, 10.0, 11.0, 12.0] } | |
| }, | |
| "indices": { "dtype": "int32", "shape": [1, 1, 1, 1, 2], "data": { "kind": "values", "values": [1, 2] } } | |
| }, | |
| "outputs": { "output": { "dtype": "float32", "shape": [1, 1, 1, 1], "tolerance": 0.000001 } } | |
| }, | |
| { | |
| "name": "rank6_data_full_depth_scalar_slices", | |
| "inputs": { | |
| "data": { | |
| "dtype": "float32", | |
| "shape": [1, 2, 1, 2, 1, 3], | |
| "data": { | |
| "kind": "values", | |
| "values": [0.0, 1.0, 2.0, 10.0, 11.0, 12.0, 100.0, 101.0, 102.0, 110.0, 111.0, 112.0] | |
| } | |
| }, | |
| "indices": { | |
| "dtype": "int32", | |
| "shape": [2, 2, 6], | |
| "data": { | |
| "kind": "values", | |
| "values": [0, 0, 0, 0, 0, 2, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 2] | |
| } | |
| } | |
| }, | |
| "outputs": { "output": { "dtype": "float32", "shape": [2, 2], "tolerance": 0.000001 } } | |
| }, | |
| { | |
| "name": "batch_dims1_row_slices", | |
| "attrs": { "batch_dims": 1 }, | |
| "inputs": { | |
| "data": { | |
| "dtype": "float32", | |
| "shape": [2, 3, 4], | |
| "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/rank3_slice_outputs_input_data" } } | |
| }, | |
| "indices": { "dtype": "int32", "shape": [2, 2, 1], "data": { "kind": "values", "values": [2, 0, 1, 2] } } | |
| }, | |
| "outputs": { "output": { "dtype": "float32", "shape": [2, 2, 4], "tolerance": 0.000001 } } | |
| }, | |
| { | |
| "name": "batch_dims1_rank6_data_suffix_slices", | |
| "attrs": { "batch_dims": 1 }, | |
| "inputs": { | |
| "data": { | |
| "dtype": "float32", | |
| "shape": [2, 3, 1, 2, 1, 2], | |
| "data": { | |
| "kind": "values", | |
| "values": [0.0, 1.0, 10.0, 11.0, 100.0, 101.0, 110.0, 111.0, 200.0, 201.0, 210.0, 211.0, 1000.0, 1001.0, 1010.0, 1011.0, 1100.0, 1101.0, 1110.0, 1111.0, 1200.0, 1201.0, 1210.0, 1211.0] | |
| } | |
| }, | |
| "indices": { | |
| "dtype": "int32", | |
| "shape": [2, 2, 2], | |
| "data": { "kind": "values", "values": [2, 0, 0, 0, 1, 0, 2, 0] } | |
| } | |
| }, | |
| "outputs": { "output": { "dtype": "float32", "shape": [2, 2, 2, 1, 2], "tolerance": 0.000001 } } | |
| }, | |
| { | |
| "name": "ort_float16_default_batch_dims_slice", | |
| "provenance": { | |
| "source": "onnxruntime/test/providers/cpu/tensor/gather_nd_op_test.cc", | |
| "test": "GatherNDOpTest.GatherND_slice_half" | |
| }, | |
| "inputs": { | |
| "data": { "dtype": "float16", "shape": [2, 2], "data": { "kind": "values", "values": [0.0, 0.1, 0.2, 0.3] } }, | |
| "indices": { "dtype": "int32", "shape": [2, 1], "data": { "kind": "values", "values": [1, 0] } } | |
| }, | |
| "outputs": { "output": { "dtype": "float16", "shape": [2, 2], "tolerance": 0.001 } } | |
| }, | |
| { | |
| "name": "ort_batch_dims2_float_slice", | |
| "provenance": { | |
| "source": "onnxruntime/test/providers/cpu/tensor/gather_nd_op_test.cc", | |
| "test": "GatherNDOpTest.GatherND_slice_float_batch_dims_two" | |
| }, | |
| "attrs": { "batch_dims": 2 }, | |
| "inputs": { | |
| "data": { | |
| "dtype": "float32", | |
| "shape": [2, 1, 3, 5], | |
| "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/ort_batch_dims2_float_slice_input_data" } } | |
| }, | |
| "indices": { | |
| "dtype": "int32", | |
| "shape": [2, 1, 3, 2], | |
| "data": { "kind": "values", "values": [0, 0, 0, 1, 1, 0, 1, 1, 0, 4, 2, 4] } | |
| } | |
| }, | |
| "outputs": { "output": { "dtype": "float32", "shape": [2, 1, 3], "tolerance": 0.000001 } } | |
| }, | |
| { | |
| "name": "ort_int32_negative_indices_scalar_slices", | |
| "provenance": { | |
| "source": "onnxruntime/test/providers/cpu/tensor/gather_nd_op_test.cc", | |
| "test": "GatherNDOpTest.float", | |
| "notes": "Projects representable signed int64 indices to int32 storage." | |
| }, | |
| "inputs": { | |
| "data": { | |
| "dtype": "float32", | |
| "shape": [3, 3], | |
| "data": { "kind": "values", "values": [0.0, 1.0, 2.0, 10.0, 11.0, 12.0, 20.0, 21.0, 22.0] } | |
| }, | |
| "indices": { "dtype": "int32", "shape": [3, 2], "data": { "kind": "values", "values": [0, -1, -1, 1, -2, -3] } } | |
| }, | |
| "outputs": { "output": { "dtype": "float32", "shape": [3], "tolerance": 0.000001 } } | |
| }, | |
| { | |
| "name": "ort_int16_row_slice", | |
| "provenance": { | |
| "source": "onnxruntime/test/providers/cpu/tensor/gather_nd_op_test.cc", | |
| "test": "GatherNDOpTest.int16_t" | |
| }, | |
| "inputs": { | |
| "data": { | |
| "dtype": "int16", | |
| "shape": [2, 2, 2], | |
| "data": { "kind": "values", "values": [0, 1, 2, 3, 4, 5, 6, 7] } | |
| }, | |
| "indices": { "dtype": "int32", "shape": [1, 1], "data": { "kind": "values", "values": [1] } } | |
| }, | |
| "outputs": { | |
| "output": { | |
| "dtype": "int16", | |
| "shape": [1, 2, 2], | |
| "data": { "kind": "values", "values": [4, 5, 6, 7] }, | |
| "tolerance": 0 | |
| } | |
| } | |
| }, | |
| { | |
| "name": "ort_int32_negative_indices_batch_dims1", | |
| "provenance": { | |
| "source": "onnxruntime/test/providers/cpu/tensor/gather_nd_op_test.cc", | |
| "test": "GatherNDOpTest.GatherND_negative_slice_float_batch_dims_one", | |
| "notes": "Projects representable signed int64 indices to int32 storage." | |
| }, | |
| "attrs": { "batch_dims": 1 }, | |
| "inputs": { | |
| "data": { | |
| "dtype": "float32", | |
| "shape": [2, 3, 4], | |
| "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/rank3_slice_outputs_input_data" } } | |
| }, | |
| "indices": { "dtype": "int32", "shape": [2, 2, 1], "data": { "kind": "values", "values": [-1, 0, -2, -1] } } | |
| }, | |
| "outputs": { "output": { "dtype": "float32", "shape": [2, 2, 4], "tolerance": 0.000001 } } | |
| }, | |
| { | |
| "name": "ort_float_default_batch_dims_slice", | |
| "provenance": { | |
| "source": "onnxruntime/test/providers/cpu/tensor/gather_nd_op_test.cc", | |
| "test": "GatherNDOpTest.GatherND_slice_float_default_batch_dims" | |
| }, | |
| "inputs": { | |
| "data": { | |
| "dtype": "float32", | |
| "shape": [2, 3, 4], | |
| "data": { | |
| "kind": "values", | |
| "values": { "$ref": "#/fixtureArrays/ort_float_default_batch_dims_slice_input_data" } | |
| } | |
| }, | |
| "indices": { | |
| "dtype": "int32", | |
| "shape": [3, 2, 2], | |
| "data": { "kind": "values", "values": [0, 1, 0, 2, 1, 0, 0, 0, 1, 1, 1, 2] } | |
| } | |
| }, | |
| "outputs": { "output": { "dtype": "float32", "shape": [3, 2, 4], "tolerance": 0.000001 } } | |
| }, | |
| { | |
| "name": "ort_float_explicit_batch_dims_zero_slice", | |
| "provenance": { | |
| "source": "onnxruntime/test/providers/cpu/tensor/gather_nd_op_test.cc", | |
| "test": "GatherNDOpTest.GatherND_slice_float_batch_dims_zero", | |
| "notes": "ORT uses int64 indices; this fixture uses uint32 slots for non-negative representable indices." | |
| }, | |
| "attrs": { "batch_dims": 0 }, | |
| "inputs": { | |
| "data": { | |
| "dtype": "float32", | |
| "shape": [2, 3, 4], | |
| "data": { | |
| "kind": "values", | |
| "values": { "$ref": "#/fixtureArrays/ort_float_default_batch_dims_slice_input_data" } | |
| } | |
| }, | |
| "indices": { | |
| "dtype": "int32", | |
| "shape": [3, 2, 2], | |
| "data": { "kind": "values", "values": [0, 1, 0, 2, 1, 0, 0, 0, 1, 1, 1, 2] } | |
| } | |
| }, | |
| "outputs": { "output": { "dtype": "float32", "shape": [3, 2, 4], "tolerance": 0.000001 } } | |
| }, | |
| { | |
| "name": "ort_float_batch_dims1_slice_matrix", | |
| "provenance": { | |
| "source": "onnxruntime/test/providers/cpu/tensor/gather_nd_op_test.cc", | |
| "test": "GatherNDOpTest.GatherND_slice_float_batch_dims_one_2" | |
| }, | |
| "attrs": { "batch_dims": 1 }, | |
| "inputs": { | |
| "data": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 2], | |
| "data": { "kind": "values", "values": [0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7] } | |
| }, | |
| "indices": { "dtype": "int32", "shape": [2, 1], "data": { "kind": "values", "values": [1, 0] } } | |
| }, | |
| "outputs": { "output": { "dtype": "float32", "shape": [2, 2], "tolerance": 0.000001 } } | |
| }, | |
| { | |
| "name": "ort_float_batch_dims1_scalar_outputs", | |
| "provenance": { | |
| "source": "onnxruntime/test/providers/cpu/tensor/gather_nd_op_test.cc", | |
| "test": "GatherNDOpTest.GatherND_slice_float_batch_dims_one_1", | |
| "notes": "ORT uses int64 indices; this fixture uses uint32 slots for non-negative representable indices." | |
| }, | |
| "attrs": { "batch_dims": 1 }, | |
| "inputs": { | |
| "data": { | |
| "dtype": "float32", | |
| "shape": [2, 3, 4], | |
| "data": { | |
| "kind": "values", | |
| "values": { "$ref": "#/fixtureArrays/ort_float_default_batch_dims_slice_input_data" } | |
| } | |
| }, | |
| "indices": { | |
| "dtype": "int32", | |
| "shape": [2, 2, 2], | |
| "data": { "kind": "values", "values": [0, 1, 0, 2, 1, 0, 0, 0] } | |
| } | |
| }, | |
| "outputs": { "output": { "dtype": "float32", "shape": [2, 2], "tolerance": 0.000001 } } | |
| }, | |
| { | |
| "name": "ort_float_batch_dims1_scalar_slices", | |
| "provenance": { | |
| "source": "onnxruntime/test/providers/cpu/tensor/gather_nd_op_test.cc", | |
| "test": "GatherNDOpTest.GatherND_slice_float_batch_dims_one_3" | |
| }, | |
| "attrs": { "batch_dims": 1 }, | |
| "inputs": { | |
| "data": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 2], | |
| "data": { "kind": "values", "values": [0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7] } | |
| }, | |
| "indices": { "dtype": "int32", "shape": [2, 1, 2], "data": { "kind": "values", "values": [1, 0, 0, 1] } } | |
| }, | |
| "outputs": { "output": { "dtype": "float32", "shape": [2, 1], "tolerance": 0.000001 } } | |
| }, | |
| { | |
| "name": "ort_float_batch_dims2_rank5_suffix", | |
| "provenance": { | |
| "source": "onnxruntime/test/providers/cpu/tensor/gather_nd_op_test.cc", | |
| "test": "GatherNDOpTest.GatherND_batch_dims_of_2", | |
| "notes": "A float32 payload exercises the batch_dims=2 indexing pattern." | |
| }, | |
| "attrs": { "batch_dims": 2 }, | |
| "inputs": { | |
| "data": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 2, 2, 3], | |
| "data": { | |
| "kind": "values", | |
| "values": { "$ref": "#/fixtureArrays/ort_float_batch_dims2_rank5_suffix_input_data" } | |
| } | |
| }, | |
| "indices": { | |
| "dtype": "int32", | |
| "shape": [2, 2, 1, 2], | |
| "data": { "kind": "values", "values": [0, 0, 1, 0, 1, 1, 0, 1] } | |
| } | |
| }, | |
| "outputs": { "output": { "dtype": "float32", "shape": [2, 2, 1, 3], "tolerance": 0.000001 } } | |
| }, | |
| { | |
| "name": "ort_uint32_index_depth2", | |
| "provenance": { | |
| "source": "onnxruntime/test/providers/cpu/tensor/gather_nd_op_test.cc", | |
| "test": "GatherNDOpTest.uint32_t" | |
| }, | |
| "inputs": { | |
| "data": { | |
| "dtype": "uint32", | |
| "shape": [2, 2, 2], | |
| "data": { "kind": "values", "values": [0, 1, 2, 3, 4, 5, 6, 7] } | |
| }, | |
| "indices": { | |
| "dtype": "int32", | |
| "shape": [2, 2, 2], | |
| "data": { "kind": "values", "values": [0, 1, 1, 0, 0, 0, 1, 1] } | |
| } | |
| }, | |
| "outputs": { "output": { "dtype": "uint32", "shape": [2, 2, 2], "tolerance": 0 } } | |
| }, | |
| { | |
| "name": "ort_uint32_index_depth3", | |
| "provenance": { | |
| "source": "onnxruntime/test/providers/cpu/tensor/gather_nd_op_test.cc", | |
| "test": "GatherNDOpTest.uint32_t" | |
| }, | |
| "inputs": { | |
| "data": { | |
| "dtype": "uint32", | |
| "shape": [2, 2, 2], | |
| "data": { "kind": "values", "values": [0, 1, 2, 3, 4, 5, 6, 7] } | |
| }, | |
| "indices": { | |
| "dtype": "int32", | |
| "shape": [2, 2, 3], | |
| "data": { "kind": "values", "values": [0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0] } | |
| } | |
| }, | |
| "outputs": { "output": { "dtype": "uint32", "shape": [2, 2], "tolerance": 0 } } | |
| }, | |
| { | |
| "name": "ort_int32_index_depth3_scalar_slices", | |
| "provenance": { | |
| "source": "onnxruntime/test/providers/cpu/tensor/gather_nd_op_test.cc", | |
| "test": "GatherNDOpTest.int8_t", | |
| "notes": "Projects the int8 source values to int32 slots while preserving the indexing pattern." | |
| }, | |
| "inputs": { | |
| "data": { | |
| "dtype": "int32", | |
| "shape": [2, 2, 2], | |
| "data": { "kind": "values", "values": [0, 1, 2, 3, 4, 5, 6, 7] } | |
| }, | |
| "indices": { "dtype": "int32", "shape": [2, 3], "data": { "kind": "values", "values": [0, 0, 1, 1, 0, 1] } } | |
| }, | |
| "outputs": { "output": { "dtype": "int32", "shape": [2], "tolerance": 0 } } | |
| }, | |
| { | |
| "name": "ort_int32_index_depth1_suffix_slice", | |
| "provenance": { | |
| "source": "onnxruntime/test/providers/cpu/tensor/gather_nd_op_test.cc", | |
| "test": "GatherNDOpTest.int16_t", | |
| "notes": "Projects the int16 source values to int32 slots while preserving the suffix-slice gather." | |
| }, | |
| "inputs": { | |
| "data": { | |
| "dtype": "int32", | |
| "shape": [2, 2, 2], | |
| "data": { "kind": "values", "values": [0, 1, 2, 3, 4, 5, 6, 7] } | |
| }, | |
| "indices": { "dtype": "int32", "shape": [1, 1], "data": { "kind": "values", "values": [1] } } | |
| }, | |
| "outputs": { "output": { "dtype": "int32", "shape": [1, 2, 2], "tolerance": 0 } } | |
| }, | |
| { | |
| "name": "ort_int16_index_depth1_suffix_slice", | |
| "provenance": { | |
| "source": "onnxruntime/test/providers/cpu/tensor/gather_nd_op_test.cc", | |
| "test": "GatherNDOpTest.int16_t" | |
| }, | |
| "inputs": { | |
| "data": { | |
| "dtype": "int16", | |
| "shape": [2, 2, 2], | |
| "data": { "kind": "values", "values": [0, 1, 2, 3, 4, 5, 6, 7] } | |
| }, | |
| "indices": { "dtype": "int32", "shape": [1, 1], "data": { "kind": "values", "values": [1] } } | |
| }, | |
| "outputs": { "output": { "dtype": "int16", "shape": [1, 2, 2], "tolerance": 0 } } | |
| }, | |
| { | |
| "name": "ort_int8_scalar_indices_depth3", | |
| "provenance": { | |
| "source": "onnxruntime/test/providers/cpu/tensor/gather_nd_op_test.cc", | |
| "test": "GatherNDOpTest.int8_t", | |
| "notes": "Compact signed-byte scalar-output GatherND fixture with edge payload values." | |
| }, | |
| "inputs": { | |
| "data": { | |
| "dtype": "int8", | |
| "shape": [2, 2, 2], | |
| "data": { "kind": "values", "values": [-128, -1, 0, 1, 2, 3, 4, 127] } | |
| }, | |
| "indices": { "dtype": "int32", "shape": [2, 3], "data": { "kind": "values", "values": [0, 0, 1, 1, 0, 1] } } | |
| }, | |
| "outputs": { "output": { "dtype": "int8", "shape": [2], "tolerance": 0 } } | |
| }, | |
| { | |
| "name": "uint8_scalar_indices_depth3_edge_values", | |
| "provenance": { | |
| "source": "onnxruntime/test/providers/cpu/tensor/gather_nd_op_test.cc", | |
| "test": "GatherNDOpTest.int8_t", | |
| "notes": "Logical uint8 counterpart of ORT's depth-3 scalar-index GatherND coverage." | |
| }, | |
| "inputs": { | |
| "data": { | |
| "dtype": "uint8", | |
| "shape": [2, 2, 2], | |
| "data": { "kind": "values", "values": [0, 255, 1, 254, 2, 253, 3, 252] } | |
| }, | |
| "indices": { "dtype": "int32", "shape": [2, 3], "data": { "kind": "values", "values": [0, 0, 1, 1, 0, 1] } } | |
| }, | |
| "outputs": { "output": { "dtype": "uint8", "shape": [2], "tolerance": 0 } } | |
| }, | |
| { | |
| "name": "ort_bool_scalar_indices", | |
| "provenance": { | |
| "source": "onnxruntime/test/providers/cpu/tensor/gather_nd_op_test.cc", | |
| "test": "GatherNDOpTest.bool", | |
| "notes": "ORT uses int64 indices; this fixture uses uint32 slots for non-negative representable indices." | |
| }, | |
| "inputs": { | |
| "data": { "dtype": "bool", "shape": [2, 2], "data": { "kind": "values", "values": [1, 0, 0, 1] } }, | |
| "indices": { "dtype": "int32", "shape": [2, 1, 2], "data": { "kind": "values", "values": [0, 0, 0, 1] } } | |
| }, | |
| "outputs": { | |
| "output": { "dtype": "bool", "shape": [2, 1], "data": { "kind": "values", "values": [1, 0] }, "tolerance": 0 } | |
| } | |
| }, | |
| { | |
| "name": "ort_int32_negative_index_depth1_suffix_slice", | |
| "provenance": { | |
| "source": "onnxruntime/test/providers/cpu/tensor/gather_nd_op_test.cc", | |
| "test": "GatherNDOpTest.int64_t", | |
| "notes": "Projects representable int64 values to int32 while preserving the negative-index suffix-slice gather." | |
| }, | |
| "inputs": { | |
| "data": { | |
| "dtype": "int32", | |
| "shape": [2, 2, 2], | |
| "data": { "kind": "values", "values": [0, 1, 2, 3, 4, 5, 6, 7] } | |
| }, | |
| "indices": { "dtype": "int32", "shape": [2, 1, 1], "data": { "kind": "values", "values": [-1, 0] } } | |
| }, | |
| "outputs": { "output": { "dtype": "int32", "shape": [2, 1, 2, 2], "tolerance": 0 } } | |
| }, | |
| { | |
| "name": "onnx_backend_gathernd_example_float32", | |
| "inputs": { | |
| "data": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 2], | |
| "data": { "kind": "values", "values": [0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0] } | |
| }, | |
| "indices": { "dtype": "int32", "shape": [2, 1, 2], "data": { "kind": "values", "values": [0, 1, 1, 0] } } | |
| }, | |
| "outputs": { "output": { "dtype": "float32", "shape": [2, 1, 2] } }, | |
| "provenance": { | |
| "source": "cmake/external/onnx/onnx/backend/test/data/node/test_gathernd_example_float32", | |
| "notes": "The integer index tensor exactly represents the source ONNX int64 indices." | |
| } | |
| }, | |
| { | |
| "name": "onnx_backend_gathernd_example_int32", | |
| "inputs": { | |
| "data": { "dtype": "int32", "shape": [2, 2], "data": { "kind": "values", "values": [0, 1, 2, 3] } }, | |
| "indices": { "dtype": "int32", "shape": [2, 2], "data": { "kind": "values", "values": [0, 0, 1, 1] } } | |
| }, | |
| "outputs": { "output": { "dtype": "int32", "shape": [2] } }, | |
| "provenance": { | |
| "source": "cmake/external/onnx/onnx/backend/test/data/node/test_gathernd_example_int32", | |
| "notes": "The integer index tensor exactly represents the source ONNX int64 indices." | |
| } | |
| }, | |
| { | |
| "name": "onnx_backend_gathernd_example_int32_batch_dim1", | |
| "attrs": { "batch_dims": 1 }, | |
| "inputs": { | |
| "data": { | |
| "dtype": "int32", | |
| "shape": [2, 2, 2], | |
| "data": { "kind": "values", "values": [0, 1, 2, 3, 4, 5, 6, 7] } | |
| }, | |
| "indices": { "dtype": "int32", "shape": [2, 1], "data": { "kind": "values", "values": [1, 0] } } | |
| }, | |
| "outputs": { "output": { "dtype": "int32", "shape": [2, 2] } }, | |
| "provenance": { | |
| "source": "cmake/external/onnx/onnx/backend/test/data/node/test_gathernd_example_int32_batch_dim1", | |
| "notes": "The integer index tensor exactly represents the source ONNX int64 indices." | |
| } | |
| }, | |
| { | |
| "name": "int32_exact_above_float24_row_slices", | |
| "provenance": { | |
| "source": "onnxruntime/test/providers/cpu/tensor/gather_nd_op_test.cc", | |
| "test": "GatherNDOpTest.GatherND_batch_dims_of_2", | |
| "notes": "Guards signed integer GatherND output against accidental f32 conversion." | |
| }, | |
| "inputs": { | |
| "data": { | |
| "dtype": "int32", | |
| "shape": [3, 2], | |
| "data": { "kind": "values", "values": [16777217, -16777219, 33554435, -33554437, 2147483000, -2147483000] } | |
| }, | |
| "indices": { "dtype": "int32", "shape": [2, 1], "data": { "kind": "values", "values": [2, 0] } } | |
| }, | |
| "outputs": { "output": { "dtype": "int32", "shape": [2, 2], "tolerance": 0 } } | |
| }, | |
| { | |
| "name": "zero_sized_prefix_slice", | |
| "provenance": { | |
| "source": "onnxruntime/test/providers/cpu/tensor/gather_nd_op_test.cc", | |
| "notes": "Covers a valid empty GatherND output where a later output dimension is zero." | |
| }, | |
| "inputs": { | |
| "data": { | |
| "dtype": "float32", | |
| "shape": [2, 3], | |
| "data": { "kind": "values", "values": [1.0, 2.0, 3.0, 4.0, 5.0, 6.0] } | |
| }, | |
| "indices": { "dtype": "int32", "shape": [2, 0, 1], "data": { "kind": "values", "values": [] } } | |
| }, | |
| "outputs": { "output": { "dtype": "float32", "shape": [2, 0, 3], "tolerance": 0 } } | |
| }, | |
| { | |
| "name": "ort_negative_indices_batch_dims_one", | |
| "attrs": { "batch_dims": 1 }, | |
| "provenance": { | |
| "source": "onnxruntime/test/providers/cpu/tensor/gather_nd_op_test.cc", | |
| "test": "GatherNDOpTest.GatherND_negative_slice_float_batch_dims_one", | |
| "notes": "Projects representable negative int64 indices to int32 slots." | |
| }, | |
| "inputs": { | |
| "data": { | |
| "dtype": "float32", | |
| "shape": [2, 3, 4], | |
| "data": { | |
| "kind": "values", | |
| "values": { "$ref": "#/fixtureArrays/ort_float_default_batch_dims_slice_input_data" } | |
| } | |
| }, | |
| "indices": { | |
| "dtype": "int32", | |
| "shape": [2, 2, 2], | |
| "data": { "kind": "values", "values": [0, -3, -1, 2, -1, 0, 0, -2] } | |
| } | |
| }, | |
| "outputs": { "output": { "dtype": "float32", "shape": [2, 2], "tolerance": 0 } } | |
| }, | |
| { | |
| "name": "ort_negative_indices_batch_dims_two", | |
| "attrs": { "batch_dims": 2 }, | |
| "provenance": { | |
| "source": "onnxruntime/test/providers/cpu/tensor/gather_nd_op_test.cc", | |
| "test": "GatherNDOpTest.GatherND_negative_slice_float_batch_dims_two", | |
| "notes": "Projects representable negative int64 indices to int32 slots." | |
| }, | |
| "inputs": { | |
| "data": { | |
| "dtype": "float32", | |
| "shape": [2, 1, 3, 5], | |
| "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/ort_batch_dims2_float_slice_input_data" } } | |
| }, | |
| "indices": { | |
| "dtype": "int32", | |
| "shape": [2, 1, 3, 2], | |
| "data": { "kind": "values", "values": [0, -5, -3, 1, -2, 0, -2, -4, 0, -1, 2, -1] } | |
| } | |
| }, | |
| "outputs": { "output": { "dtype": "float32", "shape": [2, 1, 3], "tolerance": 0.000001 } } | |
| }, | |
| { | |
| "name": "ort_batch_dims_two_int32_slices", | |
| "attrs": { "batch_dims": 2 }, | |
| "provenance": { | |
| "source": "onnxruntime/test/providers/cpu/tensor/gather_nd_op_test.cc", | |
| "test": "GatherNDOpTest.GatherND_batch_dims_of_2", | |
| "notes": "Projects representable int64 indices to int32 slots." | |
| }, | |
| "inputs": { | |
| "data": { | |
| "dtype": "int32", | |
| "shape": [2, 2, 2, 2, 3], | |
| "data": { | |
| "kind": "values", | |
| "values": { "$ref": "#/fixtureArrays/ort_float_batch_dims2_rank5_suffix_input_data" } | |
| } | |
| }, | |
| "indices": { | |
| "dtype": "int32", | |
| "shape": [2, 2, 1, 2], | |
| "data": { "kind": "values", "values": [0, 0, 1, 0, 1, 1, 0, 1] } | |
| } | |
| }, | |
| "outputs": { "output": { "dtype": "int32", "shape": [2, 2, 1, 3], "tolerance": 0 } } | |
| }, | |
| { | |
| "name": "negative_int32_indices_row_fast_vec4_path", | |
| "provenance": { | |
| "notes": "An embedding-style row gather uses negative int32 indices with eight-element aligned rows, exercising signed index normalization on the vectorized row-copy path." | |
| }, | |
| "inputs": { | |
| "data": { | |
| "dtype": "float32", | |
| "shape": [6, 8], | |
| "data": { | |
| "kind": "values", | |
| "values": [0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 17.0, 20.0, 21.0, 22.0, 23.0, 24.0, 25.0, 26.0, 27.0, 30.0, 31.0, 32.0, 33.0, 34.0, 35.0, 36.0, 37.0, 40.0, 41.0, 42.0, 43.0, 44.0, 45.0, 46.0, 47.0, 50.0, 51.0, 52.0, 53.0, 54.0, 55.0, 56.0, 57.0] | |
| } | |
| }, | |
| "indices": { "dtype": "int32", "shape": [4, 1], "data": { "kind": "values", "values": [-1, 0, 5, -6] } } | |
| }, | |
| "outputs": { "output": { "dtype": "float32", "shape": [4, 8], "tolerance": 0.000001 } } | |
| }, | |
| { | |
| "name": "rank3_wide_row_index_depth1_vec4_path", | |
| "provenance": { | |
| "notes": "An index-depth-1 gather over rank-3 data shaped [4,3,4] copies one aligned 12-element trailing slice per index and exercises rank-3 row-stride calculation." | |
| }, | |
| "inputs": { | |
| "data": { | |
| "dtype": "float32", | |
| "shape": [4, 3, 4], | |
| "data": { | |
| "kind": "values", | |
| "values": [0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 100.0, 101.0, 102.0, 103.0, 104.0, 105.0, 106.0, 107.0, 108.0, 109.0, 110.0, 111.0, 200.0, 201.0, 202.0, 203.0, 204.0, 205.0, 206.0, 207.0, 208.0, 209.0, 210.0, 211.0, 300.0, 301.0, 302.0, 303.0, 304.0, 305.0, 306.0, 307.0, 308.0, 309.0, 310.0, 311.0] | |
| } | |
| }, | |
| "indices": { "dtype": "int32", "shape": [3, 1], "data": { "kind": "values", "values": [3, 0, 2] } } | |
| }, | |
| "outputs": { "output": { "dtype": "float32", "shape": [3, 3, 4], "tolerance": 0.000001 } } | |
| }, | |
| { | |
| "name": "batch_dims1_wide_row_scalar_path", | |
| "attrs": { "batch_dims": 1 }, | |
| "provenance": { | |
| "notes": "With batch_dims=1 and index depth one, data shaped [batch, rows, cols] gathers full trailing rows through the scalar batch-1 path." | |
| }, | |
| "inputs": { | |
| "data": { "dtype": "float32", "shape": [3, 17, 16], "data": { "kind": "linspace", "start": -2.0, "end": 2.0 } }, | |
| "indices": { | |
| "dtype": "int32", | |
| "shape": [3, 5, 1], | |
| "data": { "kind": "values", "values": [16, 0, 5, 9, 1, 2, 4, 6, 8, 10, 3, 7, 11, 15, 0] } | |
| } | |
| }, | |
| "outputs": { "output": { "dtype": "float32", "shape": [3, 5, 16], "tolerance": 0.000001 } } | |
| }, | |
| { | |
| "name": "f16_unaligned_wide_row_scalar_fallback", | |
| "provenance": { | |
| "notes": "A float16 row gather with six features per row checks the final two-element tail of each row." | |
| }, | |
| "inputs": { | |
| "data": { | |
| "dtype": "float16", | |
| "shape": [10, 6], | |
| "data": { | |
| "kind": "values", | |
| "values": [0.0, 0.5, 1.0, 1.5, 2.0, 2.5, 10.0, 10.5, 11.0, 11.5, 12.0, 12.5, 20.0, 20.5, 21.0, 21.5, 22.0, 22.5, 30.0, 30.5, 31.0, 31.5, 32.0, 32.5, 40.0, 40.5, 41.0, 41.5, 42.0, 42.5, 50.0, 50.5, 51.0, 51.5, 52.0, 52.5, 60.0, 60.5, 61.0, 61.5, 62.0, 62.5, 70.0, 70.5, 71.0, 71.5, 72.0, 72.5, 80.0, 80.5, 81.0, 81.5, 82.0, 82.5, 90.0, 90.5, 91.0, 91.5, 92.0, 92.5] | |
| } | |
| }, | |
| "indices": { "dtype": "int32", "shape": [3, 1], "data": { "kind": "values", "values": [0, 9, 4] } } | |
| }, | |
| "outputs": { "output": { "dtype": "float16", "shape": [3, 6], "tolerance": 0.01 } } | |
| }, | |
| { | |
| "name": "out_of_bounds_positive_index_zero_fill", | |
| "provenance": { | |
| "notes": "Index 5 is out of bounds for a dimension of size 3 on the batch-0 scalar path. This package defines out-of-bounds GatherND reads as zero-filled slices, which both the shader and the CPU reference enforce. This extension is outside the standard valid-input contract and is excluded from cross-runtime parity checks." | |
| }, | |
| "inputs": { | |
| "data": { | |
| "dtype": "float32", | |
| "shape": [3, 3], | |
| "data": { "kind": "values", "values": [0.0, 1.0, 2.0, 10.0, 11.0, 12.0, 20.0, 21.0, 22.0] } | |
| }, | |
| "indices": { "dtype": "int32", "shape": [2, 1], "data": { "kind": "values", "values": [5, 0] } } | |
| }, | |
| "outputs": { "output": { "dtype": "float32", "shape": [2, 3], "tolerance": 0 } } | |
| }, | |
| { | |
| "name": "ort_batch_dims_three_int32_slices", | |
| "attrs": { "batch_dims": 3 }, | |
| "provenance": { | |
| "source": "onnxruntime/test/providers/cpu/tensor/gather_nd_op_test.cc", | |
| "test": "GatherNDOpTest.GatherND_batch_dims_of_2", | |
| "notes": "Extends ORT's batched GatherND slice pattern to batch_dims=3." | |
| }, | |
| "inputs": { | |
| "data": { | |
| "dtype": "int32", | |
| "shape": [2, 2, 2, 3, 2], | |
| "data": { | |
| "kind": "values", | |
| "values": { "$ref": "#/fixtureArrays/ort_float_batch_dims2_rank5_suffix_input_data" } | |
| } | |
| }, | |
| "indices": { | |
| "dtype": "int32", | |
| "shape": [2, 2, 2, 1], | |
| "data": { "kind": "values", "values": [0, 1, 2, 0, 1, 2, 0, 1] } | |
| } | |
| }, | |
| "outputs": { | |
| "output": { | |
| "dtype": "int32", | |
| "shape": [2, 2, 2, 2], | |
| "tolerance": 0, | |
| "data": { "kind": "values", "values": [0, 1, 8, 9, 16, 17, 18, 19, 26, 27, 34, 35, 36, 37, 44, 45] } | |
| } | |
| } | |
| }, | |
| { | |
| "name": "row_fast_vec4_oob_positive_index_zero_fill", | |
| "provenance": { | |
| "notes": "With batch_dims=0 and index depth one, data shaped [4,8] and out-of-bounds index 4 must produce a zero-filled eight-element output row." | |
| }, | |
| "inputs": { | |
| "data": { | |
| "dtype": "float32", | |
| "shape": [4, 8], | |
| "data": { | |
| "kind": "values", | |
| "values": [0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 17.0, 20.0, 21.0, 22.0, 23.0, 24.0, 25.0, 26.0, 27.0, 30.0, 31.0, 32.0, 33.0, 34.0, 35.0, 36.0, 37.0] | |
| } | |
| }, | |
| "indices": { "dtype": "int32", "shape": [4, 1], "data": { "kind": "values", "values": [0, 4, 2, 3] } } | |
| }, | |
| "outputs": { | |
| "output": { | |
| "dtype": "float32", | |
| "shape": [4, 8], | |
| "tolerance": 0, | |
| "data": { | |
| "kind": "values", | |
| "values": [0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 20.0, 21.0, 22.0, 23.0, 24.0, 25.0, 26.0, 27.0, 30.0, 31.0, 32.0, 33.0, 34.0, 35.0, 36.0, 37.0] | |
| } | |
| } | |
| } | |
| }, | |
| { | |
| "name": "batch_dims4_rank6", | |
| "provenance": { | |
| "source": "ONNX Runtime's CPU provider (GatherND-13)", | |
| "notes": "ONNX requires batch_dims to be less than both input ranks. This rank-6/rank-5 case checks four batch-prefix dimensions, the largest allowed." | |
| }, | |
| "attrs": { "batch_dims": 4 }, | |
| "inputs": { | |
| "data": { | |
| "dtype": "float32", | |
| "shape": [2, 1, 2, 1, 3, 4], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.29, "scale": 0.3 } | |
| }, | |
| "indices": { "dtype": "int32", "shape": [2, 1, 2, 1, 1], "data": { "kind": "values", "values": [0, 1, 2, 1] } } | |
| }, | |
| "outputs": { "output": { "dtype": "float32", "shape": [2, 1, 2, 1, 4], "tolerance": 0.000001 } } | |
| }, | |
| { | |
| "name": "batch_dims4_depth2_generic_slices", | |
| "provenance": { | |
| "source": "ONNX Runtime's CPU provider (GatherND-13)", | |
| "notes": "An index depth of 2 consumes both trailing data axes, so there is no contiguous row to copy and this batch_dims=4 case falls to the generic per-element offset kernel rather than the batched vec4 row path. Includes negative indices on both indexed axes." | |
| }, | |
| "attrs": { "batch_dims": 4 }, | |
| "inputs": { | |
| "data": { | |
| "dtype": "float32", | |
| "shape": [2, 1, 2, 1, 3, 4], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.23, "cosStep": 0.11, "scale": 0.4 } | |
| }, | |
| "indices": { | |
| "dtype": "int32", | |
| "shape": [2, 1, 2, 1, 2], | |
| "data": { "kind": "values", "values": [0, 1, 2, 3, 1, 0, -1, -2] } | |
| } | |
| }, | |
| "outputs": { "output": { "dtype": "float32", "shape": [2, 1, 2, 1], "tolerance": 0 } } | |
| }, | |
| { | |
| "name": "batch_dims3_row_fast_vec4_negative_indices", | |
| "attrs": { "batch_dims": 3 }, | |
| "provenance": { | |
| "notes": "Batched rank-five gather with negative indices and multiple queries per batch checks reordered rows." | |
| }, | |
| "inputs": { | |
| "data": { | |
| "dtype": "float32", | |
| "shape": [2, 2, 2, 4, 8], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.07, "cosStep": 0.11, "scale": 0.5 } | |
| }, | |
| "indices": { | |
| "dtype": "int32", | |
| "shape": [2, 2, 2, 3, 1], | |
| "data": { "kind": "cycle", "values": [0, 3, -1, 1, -2, 2] } | |
| } | |
| }, | |
| "outputs": { "output": { "dtype": "float32", "shape": [2, 2, 2, 3, 8], "tolerance": 0 } } | |
| }, | |
| { | |
| "name": "row_slices_wider_than_one_workgroup_vec4", | |
| "provenance": { | |
| "notes": "A 260-element row packs into 65 vec4 words, one more than 64; a negative index (-3) exercises index normalization on a row wider than 64 vec4 words." | |
| }, | |
| "attrs": { "batch_dims": 0 }, | |
| "inputs": { | |
| "data": { | |
| "dtype": "float32", | |
| "shape": [3, 260], | |
| "data": { "kind": "fillFloat32", "sinStep": 0.013, "cosStep": 0.029, "scale": 2.0 } | |
| }, | |
| "indices": { "dtype": "int32", "shape": [2, 1], "data": { "kind": "values", "values": [2, -3] } } | |
| }, | |
| "outputs": { "output": { "dtype": "float32", "shape": [2, 260], "tolerance": 0 } } | |
| }, | |
| { | |
| "name": "rank8_data_full_depth_scalar_slices", | |
| "inputs": { | |
| "data": { | |
| "dtype": "float32", | |
| "shape": [1, 2, 1, 2, 1, 2, 1, 3], | |
| "data": { "kind": "linspace", "start": 1.0, "end": 24.0 } | |
| }, | |
| "indices": { | |
| "dtype": "int32", | |
| "shape": [2, 2, 8], | |
| "data": { | |
| "kind": "values", | |
| "values": [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 2, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0] | |
| } | |
| } | |
| }, | |
| "outputs": { "output": { "dtype": "float32", "shape": [2, 2], "tolerance": 0.000001 } } | |
| }, | |
| { | |
| "name": "rank6_indices_batch_dims1", | |
| "provenance": { | |
| "source": "ONNX Operators.md, GatherND", | |
| "notes": "Six-axis index tensor with one batch dimension, each tuple naming one row of its own batch's table." | |
| }, | |
| "attrs": { "batch_dims": 1 }, | |
| "inputs": { | |
| "data": { | |
| "dtype": "float32", | |
| "shape": [2, 8, 4], | |
| "data": { | |
| "kind": "values", | |
| "values": [0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 19.0, 20.0, 21.0, 22.0, 23.0, 24.0, 25.0, 26.0, 27.0, 28.0, 29.0, 30.0, 31.0, 32.0, 33.0, 34.0, 35.0, 36.0, 37.0, 38.0, 39.0, 40.0, 41.0, 42.0, 43.0, 44.0, 45.0, 46.0, 47.0, 48.0, 49.0, 50.0, 51.0, 52.0, 53.0, 54.0, 55.0, 56.0, 57.0, 58.0, 59.0, 60.0, 61.0, 62.0, 63.0] | |
| } | |
| }, | |
| "indices": { | |
| "dtype": "int32", | |
| "shape": [2, 2, 2, 1, 2, 1], | |
| "data": { "kind": "values", "values": [3, 0, 5, 2, 7, 1, 6, 4, 2, 5, 0, 3, 1, 7, 4, 6] } | |
| } | |
| }, | |
| "outputs": { "output": { "dtype": "float32", "shape": [2, 2, 2, 1, 2, 4], "tolerance": 0.000001 } } | |
| }, | |
| { | |
| "name": "int64_full_range_scalar_slices", | |
| "inputs": { | |
| "data": { | |
| "dtype": "int64", | |
| "shape": [3, 3], | |
| "data": { | |
| "kind": "cycle", | |
| "values": ["0", "4294967296", "8589934593", "-4294967297", "9223372036854775807", "-9223372036854775808", "9223372036854775806", "-1"] | |
| } | |
| }, | |
| "indices": { "dtype": "int32", "shape": [2, 2], "data": { "kind": "values", "values": [0, 2, 2, 1] } } | |
| }, | |
| "outputs": { "output": { "dtype": "int64", "shape": [2], "tolerance": 0, "relTolerance": 0 } }, | |
| "tolerance": 0, | |
| "relTolerance": 0 | |
| }, | |
| { | |
| "name": "int64_full_range_rank3_slice_outputs", | |
| "inputs": { | |
| "data": { | |
| "dtype": "int64", | |
| "shape": [2, 3, 4], | |
| "data": { | |
| "kind": "cycle", | |
| "values": ["4294967296", "8589934593", "-4294967297", "9223372036854775807", "-9223372036854775808", "9223372036854775806", "-1", "0"] | |
| } | |
| }, | |
| "indices": { | |
| "dtype": "int32", | |
| "shape": [3, 2, 2], | |
| "data": { "kind": "values", "values": [0, 0, 1, 2, 1, 0, 0, 2, 0, 1, 1, 1] } | |
| } | |
| }, | |
| "outputs": { "output": { "dtype": "int64", "shape": [3, 2, 4], "tolerance": 0, "relTolerance": 0 } }, | |
| "tolerance": 0, | |
| "relTolerance": 0 | |
| } | |
| ] | |
| } | |