Xenova's picture
Xenova HF Staff
sync 2e7068faf55e
5f03bf0 verified
Raw
History Blame
14.4 kB
{
"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] }
}
}
}
]
}