Xenova's picture
Xenova HF Staff
sync 91d990483a17
9fa25ac verified
Raw
History Blame
22 kB
{
"fixtureArrays": {
"ort_generated_3d_rotation_shear_batch2_no_align_input_theta": [1.409539, 0, 0.51303, 0.3, 0.118782, 1.969615, -0.326352, -0.5, -0.168412, 0.086824, 0.462708, 1.8, 1.409539, 0, 0.51303, 0.3, 0.118782, 1.969615, -0.326352, -0.5, -0.168412, 0.086824, 0.462708, 1.8],
"ort_generated_3d_stronger_transform_batch2_no_align_input_theta": [0.259808, 0, -0.15, -0.5, -1.299038, 1.5, -2.25, -0.5, 1.375, 4.76314, 2.38157, 0.3, 0.259808, 0, -0.15, -0.5, -1.299038, 1.5, -2.25, -0.5, 1.375, 4.76314, 2.38157, 0.3],
"onnx_backend_affine_grid_3d_input_theta": [2.6830732822418213, -0.7943316102027893, 0.21829216182231903, 5, 0.622253954410553, 3.2880465984344482, -0.5303300619125366, -3.299999952316284, 0.24721935391426086, 1.7241772413253784, 0.07809311151504517, -1.100000023841858, -0.35552558302879333, 1.004422903060913, 1.3995190858840942, 2.5, 0.17578838765621185, 0.06028856709599495, -0.9240381121635437, 1.100000023841858, -1.100000023841858, -0.44999998807907104, 0.44999998807907104, 2.200000047683716]
},
"cases": [
{
"name": "affine_grid3d_w4_coarsened",
"attrs": { "align_corners": 0 },
"inputs": {
"theta": {
"dtype": "float32",
"shape": [1, 3, 4],
"data": { "kind": "values", "values": [1.0, 0.1, 0.0, 0.05, 0.0, 1.0, -0.1, -0.05, 0.1, 0.0, 1.0, 0.0] }
}
},
"outputs": { "grid": { "dtype": "float32", "shape": [1, 2, 3, 4, 3], "tolerance": 0.000001 } }
},
{
"name": "f32_subnormal_translation_2d_singleton_gpu_gap",
"skipGpu": {
"category": "permanent",
"reason": "Portable WGSL floating-point semantics do not guarantee preservation of the subnormal values required by this fixture. Backend evidence: Metal FTZ: subnormal f32 translation (1e-40) in theta flushes to zero on GPU, so the singleton grid reads 0 instead of the subnormal translation (tolerance 0)."
},
"provenance": {
"notes": "A singleton 2D output grid has normalized coordinates (0, 0), so the grid should preserve theta's subnormal translation exactly."
},
"attrs": { "align_corners": 1 },
"inputs": {
"theta": {
"dtype": "float32",
"shape": [1, 2, 3],
"data": { "kind": "values", "values": [0.0, 0.0, 1e-40, 0.0, 0.0, -1e-40] }
}
},
"outputs": { "grid": { "dtype": "float32", "shape": [1, 1, 1, 2], "tolerance": 0 } }
},
{
"name": "f32_subnormal_translation_3d_singleton_gpu_gap",
"skipGpu": {
"category": "permanent",
"reason": "Portable WGSL floating-point semantics do not guarantee preservation of the subnormal values required by this fixture. Backend evidence: Metal FTZ: subnormal f32 translation (1e-40) in theta flushes to zero on GPU, so the singleton grid reads 0 instead of the subnormal translation (tolerance 0)."
},
"provenance": {
"notes": "A singleton 3D output grid should preserve subnormal x/y/z translations without arithmetic amplification."
},
"attrs": { "align_corners": 1 },
"inputs": {
"theta": {
"dtype": "float32",
"shape": [1, 3, 4],
"data": { "kind": "values", "values": [0.0, 0.0, 0.0, 1e-40, 0.0, 0.0, 0.0, -1e-40, 0.0, 0.0, 0.0, 1e-40] }
}
},
"outputs": { "grid": { "dtype": "float32", "shape": [1, 1, 1, 1, 3], "tolerance": 0 } }
},
{
"name": "dispatch_cliff_2d_over_16m_elements",
"attrs": { "align_corners": 0 },
"inputs": {
"theta": {
"dtype": "float32",
"shape": [1, 2, 3],
"data": { "kind": "values", "values": [1.0, 0.5, 0.25, -0.5, 2.0, -1.0] }
}
},
"outputs": { "grid": { "dtype": "float32", "shape": [1, 4097, 4097, 2], "tolerance": 0.0001 } }
},
{
"name": "identity_2x2_align_corners",
"attrs": { "align_corners": 1 },
"inputs": {
"theta": {
"dtype": "float32",
"shape": [1, 2, 3],
"data": { "kind": "values", "values": [1.0, 0.0, 0.0, 0.0, 1.0, 0.0] }
}
},
"outputs": { "grid": { "dtype": "float32", "shape": [1, 2, 2, 2] } },
"tolerance": 0.000001
},
{
"name": "translate_f16",
"attrs": { "align_corners": 0 },
"inputs": {
"theta": {
"dtype": "float16",
"shape": [1, 2, 3],
"data": { "kind": "values", "values": [1.0, 0.0, 0.5, 0.0, 1.0, -0.5] }
}
},
"outputs": { "grid": { "dtype": "float16", "shape": [1, 2, 2, 2] } },
"tolerance": 0.002
},
{
"name": "identity_3x4_no_align_corners",
"attrs": { "align_corners": 0 },
"inputs": {
"theta": {
"dtype": "float32",
"shape": [1, 2, 3],
"data": { "kind": "values", "values": [1.0, 0.0, 0.0, 0.0, 1.0, 0.0] }
}
},
"outputs": { "grid": { "dtype": "float32", "shape": [1, 3, 4, 2], "tolerance": 0.000001 } }
},
{
"name": "batch2_scale_translate_align_corners",
"attrs": { "align_corners": 1 },
"inputs": {
"theta": {
"dtype": "float32",
"shape": [2, 2, 3],
"data": { "kind": "values", "values": [1.0, 0.0, 0.25, 0.0, 1.0, -0.25, 0.5, 0.0, -0.5, 0.0, 0.5, 0.5] }
}
},
"outputs": { "grid": { "dtype": "float32", "shape": [2, 2, 3, 2], "tolerance": 0.000001 } }
},
{
"name": "ort_generated_2d_rotation_shear_no_align",
"provenance": {
"source": "onnxruntime/test/providers/cpu/tensor/affine_grid_test_gen.py",
"test": "AffineGridTest.test_2d_0",
"notes": "Generated ORT fixture materialized in affine_grid_test.cc."
},
"attrs": { "align_corners": 0 },
"inputs": {
"theta": {
"dtype": "float32",
"shape": [1, 2, 3],
"data": { "kind": "values", "values": [1.477212, -0.173648, 0.3, 0.173648, 0.492404, -0.5] }
}
},
"outputs": { "grid": { "dtype": "float32", "shape": [1, 3, 2, 2], "tolerance": 0.0001 } }
},
{
"name": "ort_generated_2d_batch2_align_corners",
"provenance": {
"source": "onnxruntime/test/providers/cpu/tensor/affine_grid_test.cc",
"test": "AffineGridTest.test_2d_7"
},
"attrs": { "align_corners": 1 },
"inputs": {
"theta": {
"dtype": "float32",
"shape": [2, 2, 3],
"data": {
"kind": "values",
"values": [1.5, -0.866025, -0.5, 0.866025, 2.75, -0.5, 1.5, -0.866025, -0.5, 0.866025, 2.75, -0.5]
}
}
},
"outputs": { "grid": { "dtype": "float32", "shape": [2, 2, 3, 2], "tolerance": 0.0001 } }
},
{
"name": "ort_2d_identity_default_no_align",
"provenance": {
"source": "onnxruntime/test/providers/cpu/tensor/affine_grid_test.cc",
"test": "AffineGridTest.2d"
},
"inputs": {
"theta": {
"dtype": "float32",
"shape": [1, 2, 3],
"data": { "kind": "values", "values": [1.0, 0.0, 0.0, 0.0, 1.0, 0.0] }
}
},
"outputs": { "grid": { "dtype": "float32", "shape": [1, 2, 3, 2], "tolerance": 0.0001 } }
},
{
"name": "ort_generated_2d_batch2_no_align",
"provenance": {
"source": "onnxruntime/test/providers/cpu/tensor/affine_grid_test.cc",
"test": "AffineGridTest.test_2d_1"
},
"attrs": { "align_corners": 0 },
"inputs": {
"theta": {
"dtype": "float32",
"shape": [2, 2, 3],
"data": {
"kind": "values",
"values": [1.477212, -0.173648, 0.3, 0.173648, 0.492404, -0.5, 1.477212, -0.173648, 0.3, 0.173648, 0.492404, -0.5]
}
}
},
"outputs": { "grid": { "dtype": "float32", "shape": [2, 2, 3, 2], "tolerance": 0.0001 } }
},
{
"name": "ort_generated_2d_stronger_transform_no_align",
"provenance": {
"source": "onnxruntime/test/providers/cpu/tensor/affine_grid_test.cc",
"test": "AffineGridTest.test_2d_2"
},
"attrs": { "align_corners": 0 },
"inputs": {
"theta": {
"dtype": "float32",
"shape": [1, 2, 3],
"data": { "kind": "values", "values": [1.5, -0.866025, -0.5, 0.866025, 2.75, -0.5] }
}
},
"outputs": { "grid": { "dtype": "float32", "shape": [1, 3, 2, 2], "tolerance": 0.0001 } }
},
{
"name": "ort_generated_2d_rotation_shear_align_corners",
"provenance": {
"source": "onnxruntime/test/providers/cpu/tensor/affine_grid_test.cc",
"test": "AffineGridTest.test_2d_4"
},
"attrs": { "align_corners": 1 },
"inputs": {
"theta": {
"dtype": "float32",
"shape": [1, 2, 3],
"data": { "kind": "values", "values": [1.477212, -0.173648, 0.3, 0.173648, 0.492404, -0.5] }
}
},
"outputs": { "grid": { "dtype": "float32", "shape": [1, 3, 2, 2], "tolerance": 0.0001 } }
},
{
"name": "ort_generated_2d_stronger_transform_batch2_no_align",
"provenance": {
"source": "onnxruntime/test/providers/cpu/tensor/affine_grid_test.cc",
"test": "AffineGridTest.test_2d_3"
},
"attrs": { "align_corners": 0 },
"inputs": {
"theta": {
"dtype": "float32",
"shape": [2, 2, 3],
"data": {
"kind": "values",
"values": [1.5, -0.866025, -0.5, 0.866025, 2.75, -0.5, 1.5, -0.866025, -0.5, 0.866025, 2.75, -0.5]
}
}
},
"outputs": { "grid": { "dtype": "float32", "shape": [2, 2, 3, 2], "tolerance": 0.0001 } }
},
{
"name": "ort_generated_2d_rotation_shear_batch2_align_corners",
"provenance": {
"source": "onnxruntime/test/providers/cpu/tensor/affine_grid_test.cc",
"test": "AffineGridTest.test_2d_5"
},
"attrs": { "align_corners": 1 },
"inputs": {
"theta": {
"dtype": "float32",
"shape": [2, 2, 3],
"data": {
"kind": "values",
"values": [1.477212, -0.173648, 0.3, 0.173648, 0.492404, -0.5, 1.477212, -0.173648, 0.3, 0.173648, 0.492404, -0.5]
}
}
},
"outputs": { "grid": { "dtype": "float32", "shape": [2, 2, 3, 2], "tolerance": 0.0001 } }
},
{
"name": "ort_generated_2d_stronger_transform_align_corners",
"provenance": {
"source": "onnxruntime/test/providers/cpu/tensor/affine_grid_test.cc",
"test": "AffineGridTest.test_2d_6"
},
"attrs": { "align_corners": 1 },
"inputs": {
"theta": {
"dtype": "float32",
"shape": [1, 2, 3],
"data": { "kind": "values", "values": [1.5, -0.866025, -0.5, 0.866025, 2.75, -0.5] }
}
},
"outputs": { "grid": { "dtype": "float32", "shape": [1, 3, 2, 2], "tolerance": 0.0001 } }
},
{
"name": "ort_generated_3d_rotation_shear_no_align",
"provenance": {
"source": "onnxruntime/test/providers/cpu/tensor/affine_grid_test.cc",
"test": "AffineGridTest.test_3d_0"
},
"attrs": { "align_corners": 0 },
"inputs": {
"theta": {
"dtype": "float32",
"shape": [1, 3, 4],
"data": {
"kind": "values",
"values": [1.409539, 0.0, 0.51303, 0.3, 0.118782, 1.969615, -0.326352, -0.5, -0.168412, 0.086824, 0.462708, 1.8]
}
}
},
"outputs": { "grid": { "dtype": "float32", "shape": [1, 3, 2, 2, 3], "tolerance": 0.0001 } }
},
{
"name": "ort_generated_3d_rotation_shear_batch2_no_align",
"provenance": {
"source": "onnxruntime/test/providers/cpu/tensor/affine_grid_test.cc",
"test": "AffineGridTest.test_3d_1"
},
"attrs": { "align_corners": 0 },
"inputs": {
"theta": {
"dtype": "float32",
"shape": [2, 3, 4],
"data": {
"kind": "values",
"values": { "$ref": "#/fixtureArrays/ort_generated_3d_rotation_shear_batch2_no_align_input_theta" }
}
}
},
"outputs": { "grid": { "dtype": "float32", "shape": [2, 2, 2, 3, 3], "tolerance": 0.0001 } }
},
{
"name": "ort_generated_3d_stronger_transform_no_align",
"provenance": {
"source": "onnxruntime/test/providers/cpu/tensor/affine_grid_test.cc",
"test": "AffineGridTest.test_3d_2"
},
"attrs": { "align_corners": 0 },
"inputs": {
"theta": {
"dtype": "float32",
"shape": [1, 3, 4],
"data": {
"kind": "values",
"values": [0.259808, 0.0, -0.15, -0.5, -1.299038, 1.5, -2.25, -0.5, 1.375, 4.76314, 2.38157, 0.3]
}
}
},
"outputs": { "grid": { "dtype": "float32", "shape": [1, 3, 2, 2, 3], "tolerance": 0.0001 } }
},
{
"name": "ort_generated_3d_stronger_transform_batch2_no_align",
"provenance": {
"source": "onnxruntime/test/providers/cpu/tensor/affine_grid_test.cc",
"test": "AffineGridTest.test_3d_3"
},
"attrs": { "align_corners": 0 },
"inputs": {
"theta": {
"dtype": "float32",
"shape": [2, 3, 4],
"data": {
"kind": "values",
"values": { "$ref": "#/fixtureArrays/ort_generated_3d_stronger_transform_batch2_no_align_input_theta" }
}
}
},
"outputs": { "grid": { "dtype": "float32", "shape": [2, 2, 2, 3, 3], "tolerance": 0.0001 } }
},
{
"name": "ort_generated_3d_rotation_shear_align_corners",
"provenance": {
"source": "onnxruntime/test/providers/cpu/tensor/affine_grid_test.cc",
"test": "AffineGridTest.test_3d_4"
},
"attrs": { "align_corners": 1 },
"inputs": {
"theta": {
"dtype": "float32",
"shape": [1, 3, 4],
"data": {
"kind": "values",
"values": [1.409539, 0.0, 0.51303, 0.3, 0.118782, 1.969615, -0.326352, -0.5, -0.168412, 0.086824, 0.462708, 1.8]
}
}
},
"outputs": { "grid": { "dtype": "float32", "shape": [1, 3, 2, 2, 3], "tolerance": 0.0001 } }
},
{
"name": "ort_generated_3d_rotation_shear_batch2_align_corners",
"provenance": {
"source": "onnxruntime/test/providers/cpu/tensor/affine_grid_test.cc",
"test": "AffineGridTest.test_3d_5"
},
"attrs": { "align_corners": 1 },
"inputs": {
"theta": {
"dtype": "float32",
"shape": [2, 3, 4],
"data": {
"kind": "values",
"values": { "$ref": "#/fixtureArrays/ort_generated_3d_rotation_shear_batch2_no_align_input_theta" }
}
}
},
"outputs": { "grid": { "dtype": "float32", "shape": [2, 2, 2, 3, 3], "tolerance": 0.0001 } }
},
{
"name": "ort_generated_3d_stronger_transform_align_corners",
"provenance": {
"source": "onnxruntime/test/providers/cpu/tensor/affine_grid_test.cc",
"test": "AffineGridTest.test_3d_6"
},
"attrs": { "align_corners": 1 },
"inputs": {
"theta": {
"dtype": "float32",
"shape": [1, 3, 4],
"data": {
"kind": "values",
"values": [0.259808, 0.0, -0.15, -0.5, -1.299038, 1.5, -2.25, -0.5, 1.375, 4.76314, 2.38157, 0.3]
}
}
},
"outputs": { "grid": { "dtype": "float32", "shape": [1, 3, 2, 2, 3], "tolerance": 0.0001 } }
},
{
"name": "ort_generated_3d_stronger_transform_batch2_align_corners",
"provenance": {
"source": "onnxruntime/test/providers/cpu/tensor/affine_grid_test.cc",
"test": "AffineGridTest.test_3d_7"
},
"attrs": { "align_corners": 1 },
"inputs": {
"theta": {
"dtype": "float32",
"shape": [2, 3, 4],
"data": {
"kind": "values",
"values": { "$ref": "#/fixtureArrays/ort_generated_3d_stronger_transform_batch2_no_align_input_theta" }
}
}
},
"outputs": { "grid": { "dtype": "float32", "shape": [2, 2, 2, 3, 3], "tolerance": 0.0001 } }
},
{
"name": "onnx_backend_affine_grid_2d",
"provenance": {
"source": "cmake/external/onnx/onnx/backend/test/data/node/test_affine_grid_2d",
"notes": "The fixture represents the official size metadata through the declared output grid shape."
},
"attrs": { "align_corners": 0 },
"inputs": {
"theta": {
"dtype": "float32",
"shape": [2, 2, 3],
"data": {
"kind": "values",
"values": [1.088944435119629, -3.2880465984344482, 5.0, 2.022325277328491, 1.096015453338623, -3.299999952316284, 0.835788369178772, -0.5544228553771973, 2.5, 0.7876279354095459, 0.8397114276885986, 1.100000023841858]
}
}
},
"outputs": { "grid": { "dtype": "float32", "shape": [2, 5, 6, 2], "tolerance": 0.00001 } }
},
{
"name": "onnx_backend_affine_grid_2d_align_corners",
"provenance": {
"source": "cmake/external/onnx/onnx/backend/test/data/node/test_affine_grid_2d_align_corners",
"notes": "The fixture represents the official size metadata through the declared output grid shape."
},
"attrs": { "align_corners": 1 },
"inputs": {
"theta": {
"dtype": "float32",
"shape": [2, 2, 3],
"data": {
"kind": "values",
"values": [1.088944435119629, -3.2880465984344482, 5.0, 2.022325277328491, 1.096015453338623, -3.299999952316284, 0.835788369178772, -0.5544228553771973, 2.5, 0.7876279354095459, 0.8397114276885986, 1.100000023841858]
}
}
},
"outputs": { "grid": { "dtype": "float32", "shape": [2, 5, 6, 2], "tolerance": 0.00001 } }
},
{
"name": "onnx_backend_affine_grid_3d",
"provenance": {
"source": "cmake/external/onnx/onnx/backend/test/data/node/test_affine_grid_3d",
"notes": "The fixture represents the official size metadata through the declared output grid shape."
},
"attrs": { "align_corners": 0 },
"inputs": {
"theta": {
"dtype": "float32",
"shape": [2, 3, 4],
"data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/onnx_backend_affine_grid_3d_input_theta" } }
}
},
"outputs": { "grid": { "dtype": "float32", "shape": [2, 4, 5, 6, 3], "tolerance": 0.00001 } }
},
{
"name": "onnx_backend_affine_grid_3d_align_corners",
"provenance": {
"source": "cmake/external/onnx/onnx/backend/test/data/node/test_affine_grid_3d_align_corners",
"notes": "The fixture represents the official size metadata through the declared output grid shape."
},
"attrs": { "align_corners": 1 },
"inputs": {
"theta": {
"dtype": "float32",
"shape": [2, 3, 4],
"data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/onnx_backend_affine_grid_3d_input_theta" } }
}
},
"outputs": { "grid": { "dtype": "float32", "shape": [2, 4, 5, 6, 3], "tolerance": 0.00001 } }
},
{
"name": "empty_zero_dim",
"attrs": { "align_corners": 0 },
"inputs": { "theta": { "dtype": "float32", "shape": [0, 2, 3], "data": { "kind": "values", "values": [] } } },
"outputs": { "grid": { "dtype": "float32", "shape": [0, 2, 2, 2], "tolerance": 0 } }
},
{
"name": "empty_zero_dim_f16",
"attrs": { "align_corners": 0 },
"inputs": { "theta": { "dtype": "float16", "shape": [0, 2, 3], "data": { "kind": "values", "values": [] } } },
"outputs": { "grid": { "dtype": "float16", "shape": [0, 2, 2, 2], "tolerance": 0 } }
},
{
"name": "align_corners_1_h1_w3_identity",
"attrs": { "align_corners": 1 },
"inputs": {
"theta": {
"dtype": "float32",
"shape": [1, 2, 3],
"data": { "kind": "values", "values": [1.0, 0.0, 0.0, 0.0, 1.0, 0.0] }
}
},
"outputs": { "grid": { "dtype": "float32", "shape": [1, 1, 3, 2], "tolerance": 0.000001 } }
},
{
"name": "3d_f16_identity_no_align",
"attrs": { "align_corners": 0 },
"inputs": {
"theta": {
"dtype": "float16",
"shape": [1, 3, 4],
"data": { "kind": "values", "values": [1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0] }
}
},
"outputs": { "grid": { "dtype": "float16", "shape": [1, 2, 2, 2, 3] } },
"tolerance": 0.002
},
{
"name": "affine_grid3d_w4_coarsened_f16",
"provenance": {
"notes": "A float16 width-by-four 3D grid checks half-precision inputs and output on the vectorized 3D path."
},
"attrs": { "align_corners": 0 },
"inputs": {
"theta": {
"dtype": "float16",
"shape": [1, 3, 4],
"data": { "kind": "values", "values": [1.0, 0.1, 0.0, 0.05, 0.0, 1.0, -0.1, -0.05, 0.1, 0.0, 1.0, 0.0] }
}
},
"outputs": { "grid": { "dtype": "float16", "shape": [1, 2, 3, 4, 3], "tolerance": 0.002 } }
},
{
"name": "affine_grid3d_w4_align_corners",
"provenance": {
"notes": "align_corners=1 on the width-by-four 3D grid. The flag changes the normalized-coordinate step the kernel bakes in, and every case that reached this route left it at 0."
},
"attrs": { "align_corners": 1 },
"inputs": {
"theta": {
"dtype": "float32",
"shape": [1, 3, 4],
"data": { "kind": "values", "values": [1.0, 0.1, 0.0, 0.05, 0.0, 1.0, -0.1, -0.05, 0.1, 0.0, 1.0, 0.0] }
}
},
"outputs": { "grid": { "dtype": "float32", "shape": [1, 2, 3, 4, 3], "tolerance": 0.000001 } }
}
]
}