{ "op": "ai.onnx.EyeLike", "cases": [ { "name": "vec4_upper_diagonal_rectangular_f32", "attrs": { "k": 1 }, "inputs": { "input": { "dtype": "float32", "shape": [4, 8], "data": { "kind": "constant", "value": 7.0 } } }, "outputs": { "output": { "dtype": "float32", "shape": [4, 8], "tolerance": 0 } } }, { "name": "dispatch_cliff_f32_tall", "attrs": { "k": 0 }, "inputs": { "input": { "dtype": "float32", "shape": [16777217, 1], "data": { "kind": "constant", "value": 0.0 } } }, "outputs": { "output": { "dtype": "float32", "shape": [16777217, 1], "tolerance": 0 } } }, { "name": "default_f32_rectangular", "inputs": { "input": { "dtype": "float32", "shape": [3, 2], "data": { "kind": "constant", "value": 0.0 } } }, "outputs": { "output": { "dtype": "float32", "shape": [3, 2] } }, "provenance": { "source": "onnxruntime/test/providers/cpu/tensor/eyelike_op_test.cc", "test": "EyeLikeOpTest.EyeLikeDefault" } }, { "name": "zero_rows_f32_empty_output", "provenance": { "source": "onnxruntime/test/providers/cpu/tensor/eyelike_op_test.cc", "test": "EyeLikeOpTest.EyeLikeDefault", "notes": "Zero-row rank-2 inputs produce an empty output; no diagonal elements are materialized." }, "inputs": { "input": { "dtype": "float32", "shape": [0, 3], "data": { "kind": "values", "values": [] } } }, "outputs": { "output": { "dtype": "float32", "shape": [0, 3], "tolerance": 0, "data": { "kind": "values", "values": [] } } } }, { "name": "upper_diagonal_f32", "attrs": { "k": 2 }, "inputs": { "input": { "dtype": "float32", "shape": [3, 4], "data": { "kind": "constant", "value": 0.0 } } }, "outputs": { "output": { "dtype": "float32", "shape": [3, 4] } }, "provenance": { "source": "onnxruntime/test/providers/cpu/tensor/eyelike_op_test.cc", "test": "EyeLikeOpTest.EyeLike_UpperDiagonal" } }, { "name": "lower_diagonal_f32", "attrs": { "k": -1 }, "inputs": { "input": { "dtype": "float32", "shape": [3, 2], "data": { "kind": "constant", "value": 0.0 } } }, "outputs": { "output": { "dtype": "float32", "shape": [3, 2] } }, "provenance": { "source": "onnxruntime/test/providers/cpu/tensor/eyelike_op_test.cc", "test": "EyeLikeOpTest.EyeLike_LowerDiagonal" } }, { "name": "out_of_range_int32", "attrs": { "k": 3 }, "inputs": { "input": { "dtype": "int32", "shape": [3, 2], "data": { "kind": "constant", "value": 0 } } }, "outputs": { "output": { "dtype": "int32", "shape": [3, 2] } }, "provenance": { "source": "onnxruntime/test/providers/cpu/tensor/eyelike_op_test.cc", "test": "EyeLikeOpTest.EyeLike_K_EgdeCase_1", "notes": "ORT uses int64 dtype; this framework covers the same out-of-range positive diagonal with int32 output storage." } }, { "name": "ort_out_of_range_negative_int32", "attrs": { "k": -3 }, "inputs": { "input": { "dtype": "int32", "shape": [3, 2], "data": { "kind": "constant", "value": 0 } } }, "outputs": { "output": { "dtype": "int32", "shape": [3, 2] } }, "provenance": { "source": "onnxruntime/test/providers/cpu/tensor/eyelike_op_test.cc", "test": "EyeLikeOpTest.EyeLike_K_EgdeCase_2", "notes": "ORT uses int64 dtype; this framework covers the same out-of-range negative diagonal with int32 output storage." } }, { "name": "large_positive_k_does_not_wrap_to_main_diagonal", "attrs": { "k": 4294967296 }, "inputs": { "input": { "dtype": "float32", "shape": [3, 3], "data": { "kind": "constant", "value": 0.0 } } }, "outputs": { "output": { "dtype": "float32", "shape": [3, 3], "tolerance": 0, "data": { "kind": "constant", "value": 0.0 } } }, "provenance": { "source": "onnxruntime/test/providers/cpu/tensor/eyelike_op_test.cc", "test": "EyeLikeOpTest.EyeLike_K_EgdeCase_1", "notes": "ONNX k is an int64 attribute. A huge positive offset is valid and should be out of range, not wrap through a 32-bit uniform to the main diagonal." } }, { "name": "large_negative_k_does_not_wrap_to_main_diagonal", "attrs": { "k": -4294967296 }, "inputs": { "input": { "dtype": "int32", "shape": [3, 3], "data": { "kind": "constant", "value": 0 } } }, "outputs": { "output": { "dtype": "int32", "shape": [3, 3], "tolerance": 0, "data": { "kind": "constant", "value": 0 } } }, "provenance": { "source": "onnxruntime/test/providers/cpu/tensor/eyelike_op_test.cc", "test": "EyeLikeOpTest.EyeLike_K_EgdeCase_2", "notes": "Negative companion for int64 k values outside the int32 range; the diagonal remains out of range." } }, { "name": "main_diagonal_f16", "attrs": { "dtype": 10 }, "inputs": { "input": { "dtype": "float16", "shape": [2, 3], "data": { "kind": "constant", "value": 0.0 } } }, "outputs": { "output": { "dtype": "float16", "shape": [2, 3] } } }, { "name": "uint8_output_main_diagonal", "attrs": { "dtype": 2 }, "inputs": { "input": { "dtype": "uint8", "shape": [2, 4], "data": { "kind": "constant", "value": 99 } } }, "outputs": { "output": { "dtype": "uint8", "shape": [2, 4], "tolerance": 0 } } }, { "name": "int8_output_lower_diagonal", "attrs": { "k": -1, "dtype": 3 }, "inputs": { "input": { "dtype": "int8", "shape": [4, 3], "data": { "kind": "constant", "value": -7 } } }, "outputs": { "output": { "dtype": "int8", "shape": [4, 3], "tolerance": 0 } } }, { "name": "uint32_extreme_input_main_diagonal", "provenance": { "source": "onnx/onnx/docs/Operators.md#EyeLike-22", "notes": "Covers standard uint32 input and output membership; extreme input payloads are intentionally ignored because EyeLike consumes only the input shape." }, "attrs": { "dtype": 12 }, "inputs": { "input": { "dtype": "uint32", "shape": [2, 4], "data": { "kind": "values", "values": [0, 4294967295, 2147483648, 16777217, 1, 42, 4000000000, 255] } } }, "outputs": { "output": { "dtype": "uint32", "shape": [2, 4], "tolerance": 0 } } }, { "name": "int16_extreme_input_lower_diagonal", "provenance": { "source": "onnxruntime/test/providers/cpu/tensor/eyelike_op_test.cc", "test": "EyeLikeOpTest.EyeLike_LowerDiagonal", "notes": "Extends ORT's lower-diagonal case to ONNX-standard int16 and proves that only the input shape, not its extreme values, affects the result." }, "attrs": { "k": -1, "dtype": 5 }, "inputs": { "input": { "dtype": "int16", "shape": [3, 5], "data": { "kind": "cycle", "values": [-32768, 32767, -1, 0, 1] } } }, "outputs": { "output": { "dtype": "int16", "shape": [3, 5], "tolerance": 0 } } }, { "name": "bool_output_upper_diagonal", "provenance": { "source": "onnx/onnx/docs/Operators.md#EyeLike-22", "notes": "Covers the ONNX-standard bool input/output route with a non-default upper diagonal." }, "attrs": { "k": 1, "dtype": 9 }, "inputs": { "input": { "dtype": "bool", "shape": [3, 4], "data": { "kind": "cycle", "values": [0, 1, 1, 0] } } }, "outputs": { "output": { "dtype": "bool", "shape": [3, 4], "tolerance": 0 } } }, { "name": "upper_diagonal_k1_narrow", "attrs": { "k": 1, "dtype": 2 }, "inputs": { "input": { "dtype": "float32", "shape": [3, 2], "data": { "kind": "constant", "value": 0.0 } } }, "outputs": { "output": { "dtype": "uint8", "shape": [3, 2], "tolerance": 0 } }, "provenance": { "source": "onnxruntime/test/providers/cpu/tensor/eyelike_op_test.cc", "test": "EyeLikeOpTest.EyeLike_UpperrDiagonal2", "notes": "The same narrow upper-diagonal shape also covers the independent uint8 output-dtype route." } }, { "name": "lower_diagonal_k_minus2_wide", "attrs": { "k": -2, "dtype": 3 }, "inputs": { "input": { "dtype": "float32", "shape": [3, 4], "data": { "kind": "constant", "value": 0.0 } } }, "outputs": { "output": { "dtype": "int8", "shape": [3, 4], "tolerance": 0 } }, "provenance": { "source": "onnxruntime/test/providers/cpu/tensor/eyelike_op_test.cc", "test": "EyeLikeOpTest.EyeLike_LowerDiagonal2", "notes": "The same wide lower-diagonal shape also covers the independent int8 output-dtype route." } }, { "name": "ort_different_output_dtype_int32", "attrs": { "dtype": 6 }, "inputs": { "input": { "dtype": "float32", "shape": [3, 3], "data": { "kind": "constant", "value": 0.0 } } }, "outputs": { "output": { "dtype": "int32", "shape": [3, 3], "tolerance": 0 } }, "provenance": { "source": "onnxruntime/test/providers/cpu/tensor/eyelike_op_test.cc", "test": "EyeLikeOpTest.EyeLike_DifferentDtype", "notes": "ORT requests int64 via dtype attr; this framework expresses the same output-dtype behavior with supported int32 storage." } }, { "name": "int32_output_nonzero_input_ignored", "inputs": { "input": { "dtype": "int32", "shape": [2, 2], "data": { "kind": "constant", "value": 99 } } }, "outputs": { "output": { "dtype": "int32", "shape": [2, 2], "tolerance": 0 } } }, { "name": "onnx_backend_eyelike_populate_off_main_diagonal", "provenance": { "source": "cmake/external/onnx/onnx/backend/test/data/node/test_eyelike_populate_off_main_diagonal" }, "attrs": { "k": 1, "dtype": 1 }, "inputs": { "input": { "dtype": "int32", "shape": [4, 5], "data": { "kind": "values", "values": [44, 47, 64, 67, 67, 9, 83, 21, 36, 87, 70, 88, 88, 12, 58, 65, 39, 87, 46, 88] } } }, "outputs": { "output": { "dtype": "float32", "shape": [4, 5], "tolerance": 0 } } }, { "name": "onnx_backend_eyelike_with_dtype", "provenance": { "source": "cmake/external/onnx/onnx/backend/test/data/node/test_eyelike_with_dtype", "notes": "Official output dtype is DOUBLE; adapted to FLOAT because this manifest does not support float64 outputs." }, "attrs": { "dtype": 1 }, "inputs": { "input": { "dtype": "int32", "shape": [3, 4], "data": { "kind": "values", "values": [44, 47, 64, 67, 67, 9, 83, 21, 36, 87, 70, 88] } } }, "outputs": { "output": { "dtype": "float32", "shape": [3, 4], "tolerance": 0 } } }, { "name": "onnx_backend_eyelike_without_dtype", "provenance": { "source": "cmake/external/onnx/onnx/backend/test/data/node/test_eyelike_without_dtype" }, "attrs": {}, "inputs": { "input": { "dtype": "int32", "shape": [4, 4], "data": { "kind": "values", "values": [44, 47, 64, 67, 67, 9, 83, 21, 36, 87, 70, 88, 88, 12, 58, 65] } } }, "outputs": { "output": { "dtype": "int32", "shape": [4, 4], "tolerance": 0 } } }, { "name": "empty_input_zero_dim", "inputs": { "input": { "dtype": "float32", "shape": [0, 2], "data": { "kind": "values", "values": [] } } }, "outputs": { "output": { "dtype": "float32", "shape": [0, 2], "tolerance": 0 } } }, { "name": "f32_input_f16_output_64x64_upper_diagonal_k1", "provenance": { "notes": "Separates the float16 output route from the independently typed float32 shape-source input." }, "attrs": { "k": 1, "dtype": 10 }, "inputs": { "input": { "dtype": "float32", "shape": [64, 64], "data": { "kind": "constant", "value": 0.0 } } }, "outputs": { "output": { "dtype": "float16", "shape": [64, 64], "tolerance": 0 } } }, { "name": "int32_nonsquare_tall_lower_diagonal_k_minus2", "attrs": { "k": -2 }, "inputs": { "input": { "dtype": "int32", "shape": [5, 3], "data": { "kind": "constant", "value": 0 } } }, "outputs": { "output": { "dtype": "int32", "shape": [5, 3], "tolerance": 0 } } }, { "name": "k_at_negative_rows_boundary_all_zeros", "provenance": { "notes": "A float32 shape-source input with bool output covers the independent bool dtype route on an all-off diagonal." }, "attrs": { "k": -3, "dtype": 9 }, "inputs": { "input": { "dtype": "float32", "shape": [3, 3], "data": { "kind": "constant", "value": 0.0 } } }, "outputs": { "output": { "dtype": "bool", "shape": [3, 3], "tolerance": 0, "data": { "kind": "constant", "value": 0 } } } }, { "name": "k_zero_1x1_single_element", "provenance": { "notes": "A float32 shape-source input with int16 output covers the independent int16 dtype route." }, "attrs": { "k": 0, "dtype": 5 }, "inputs": { "input": { "dtype": "float32", "shape": [1, 1], "data": { "kind": "constant", "value": 0.0 } } }, "outputs": { "output": { "dtype": "int16", "shape": [1, 1], "tolerance": 0, "data": { "kind": "values", "values": [1] } } } }, { "name": "k_at_positive_cols_boundary_all_zeros", "provenance": { "notes": "A float32 shape-source input with uint32 output covers the independent uint32 dtype route on an all-off diagonal." }, "attrs": { "k": 3, "dtype": 12 }, "inputs": { "input": { "dtype": "float32", "shape": [4, 3], "data": { "kind": "constant", "value": 0.0 } } }, "outputs": { "output": { "dtype": "uint32", "shape": [4, 3], "tolerance": 0, "data": { "kind": "constant", "value": 0 } } } }, { "name": "k_minus_rows_minus1_single_corner", "attrs": { "k": -3 }, "inputs": { "input": { "dtype": "float32", "shape": [4, 3], "data": { "kind": "constant", "value": 0.0 } } }, "outputs": { "output": { "dtype": "float32", "shape": [4, 3], "tolerance": 0, "data": { "kind": "values", "values": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0] } } } } ] }