| { |
| "op": "ai.onnx.Col2Im", |
| "fixtureArrays": { |
| "ort_simple4d_nchw_input_input": [1, 6, 11, 16, 21, 2, 7, 12, 17, 22, 3, 8, 13, 18, 23, 4, 9, 14, 19, 24, 5, 10, 15, 20, 25] |
| }, |
| "cases": [ |
| { |
| "name": "nchw_k1_fast_copy_multichannel", |
| "attrs": {}, |
| "inputs": { |
| "input": { "dtype": "float32", "shape": [1, 2, 12], "data": { "kind": "linspace", "start": -3.0, "end": 8.5 } }, |
| "image_shape": { "dtype": "uint32", "shape": [2], "data": { "kind": "values", "values": [3, 4] } }, |
| "block_shape": { "dtype": "uint32", "shape": [2], "data": { "kind": "values", "values": [1, 1] } } |
| }, |
| "outputs": { "output": { "dtype": "float32", "shape": [1, 2, 3, 4], "tolerance": 0 } } |
| }, |
| { |
| "name": "f32_overlapping_subnormal_accumulation_2d_gpu_gap", |
| "provenance": { |
| "source": "onnxruntime/test/providers/cpu/tensor/col2im_test.cc", |
| "test": "Col2ImTest.TwoDimensional", |
| "notes": "Overlapping Col2Im windows sum finite positive subnormal column values; the accumulated image pixels should remain nonzero." |
| }, |
| "attrs": {}, |
| "inputs": { |
| "input": { "dtype": "float32", "shape": [1, 4, 4], "data": { "kind": "constant", "value": 1e-40 } }, |
| "image_shape": { "dtype": "uint32", "shape": [2], "data": { "kind": "values", "values": [3, 3] } }, |
| "block_shape": { "dtype": "uint32", "shape": [2], "data": { "kind": "values", "values": [2, 2] } } |
| }, |
| "outputs": { "output": { "dtype": "float32", "shape": [1, 1, 3, 3], "tolerance": 0 } }, |
| "skipGpu": { |
| "category": "permanent", |
| "reason": "Portable WGSL floating-point semantics do not guarantee preservation of the subnormal values required by this fixture. Backend evidence: Metal flushes f32 subnormals to zero (FTZ); subnormal-magnitude values cannot survive the GPU arithmetic path." |
| } |
| }, |
| { |
| "name": "f32_overlapping_subnormal_accumulation_3d_gpu_gap", |
| "provenance": { |
| "source": "onnxruntime/test/providers/cpu/tensor/col2im_test.cc", |
| "test": "Col2ImTest.ThreeDimensional", |
| "notes": "3D companion for overlapping Col2Im accumulation of finite positive subnormal column values." |
| }, |
| "attrs": {}, |
| "inputs": { |
| "input": { "dtype": "float32", "shape": [1, 8, 8], "data": { "kind": "constant", "value": 1e-40 } }, |
| "image_shape": { "dtype": "uint32", "shape": [3], "data": { "kind": "values", "values": [3, 3, 3] } }, |
| "block_shape": { "dtype": "uint32", "shape": [3], "data": { "kind": "values", "values": [2, 2, 2] } } |
| }, |
| "outputs": { "output": { "dtype": "float32", "shape": [1, 1, 3, 3, 3], "tolerance": 0 } }, |
| "skipGpu": { |
| "category": "permanent", |
| "reason": "Portable WGSL floating-point semantics do not guarantee preservation of the subnormal values required by this fixture. Backend evidence: Metal flushes f32 subnormals to zero (FTZ); subnormal-magnitude values cannot survive the GPU arithmetic path." |
| } |
| }, |
| { |
| "name": "dispatch_cliff_nchw_over_8m_elements", |
| "attrs": {}, |
| "inputs": { |
| "input": { "dtype": "float32", "shape": [1, 128, 65792] }, |
| "image_shape": { "dtype": "uint32", "shape": [2], "data": { "kind": "values", "values": [256, 257] } }, |
| "block_shape": { "dtype": "uint32", "shape": [2], "data": { "kind": "values", "values": [1, 1] } } |
| }, |
| "outputs": { "output": { "dtype": "float32", "shape": [1, 128, 256, 257], "tolerance": 0.0001 } } |
| }, |
| { |
| "name": "dispatch_cliff_ncdhw_over_8m_elements", |
| "attrs": {}, |
| "inputs": { |
| "input": { "dtype": "float32", "shape": [1, 128, 65536] }, |
| "image_shape": { "dtype": "uint32", "shape": [3], "data": { "kind": "values", "values": [64, 64, 16] } }, |
| "block_shape": { "dtype": "uint32", "shape": [3], "data": { "kind": "values", "values": [1, 1, 1] } } |
| }, |
| "outputs": { "output": { "dtype": "float32", "shape": [1, 128, 64, 64, 16], "tolerance": 0.0001 } } |
| }, |
| { |
| "name": "overlapping_2x2_stride1", |
| "attrs": {}, |
| "inputs": { |
| "input": { |
| "dtype": "float32", |
| "shape": [1, 4, 4], |
| "data": { |
| "kind": "values", |
| "values": [1.0, 2.0, 3.0, 4.0, 10.0, 20.0, 30.0, 40.0, 100.0, 200.0, 300.0, 400.0, 1000.0, 2000.0, 3000.0, 4000.0] |
| } |
| }, |
| "image_shape": { "dtype": "uint32", "shape": [2], "data": { "kind": "values", "values": [3, 3] } }, |
| "block_shape": { "dtype": "uint32", "shape": [2], "data": { "kind": "values", "values": [2, 2] } } |
| }, |
| "outputs": { "output": { "dtype": "float32", "shape": [1, 1, 3, 3], "tolerance": 0.00001 } } |
| }, |
| { |
| "name": "stride2_no_overlap", |
| "attrs": { "strides": [2, 2] }, |
| "inputs": { |
| "input": { |
| "dtype": "float32", |
| "shape": [1, 4, 4], |
| "data": { |
| "kind": "values", |
| "values": [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] |
| } |
| }, |
| "image_shape": { "dtype": "uint32", "shape": [2], "data": { "kind": "values", "values": [4, 4] } }, |
| "block_shape": { "dtype": "uint32", "shape": [2], "data": { "kind": "values", "values": [2, 2] } } |
| }, |
| "outputs": { "output": { "dtype": "float32", "shape": [1, 1, 4, 4], "tolerance": 0.00001 } } |
| }, |
| { |
| "name": "dilated_padded", |
| "attrs": { "pads": [1, 1, 1, 1], "dilations": [2, 2] }, |
| "inputs": { |
| "input": { |
| "dtype": "float32", |
| "shape": [1, 4, 9], |
| "data": { "kind": "fillFloat32", "scale": 0.5, "sinStep": 0.19, "cosStep": 0.07 } |
| }, |
| "image_shape": { "dtype": "uint32", "shape": [2], "data": { "kind": "values", "values": [3, 3] } }, |
| "block_shape": { "dtype": "uint32", "shape": [2], "data": { "kind": "values", "values": [2, 2] } } |
| }, |
| "outputs": { "output": { "dtype": "float32", "shape": [1, 1, 3, 3], "tolerance": 0.00001 } } |
| }, |
| { |
| "name": "block_1x5_onnx_backend", |
| "provenance": { "source": "cmake/external/onnx/onnx/backend/test/data/node/test_col2im" }, |
| "attrs": {}, |
| "inputs": { |
| "input": { |
| "dtype": "float32", |
| "shape": [1, 5, 5], |
| "data": { |
| "kind": "values", |
| "values": [1.0, 6.0, 11.0, 16.0, 21.0, 2.0, 7.0, 12.0, 17.0, 22.0, 3.0, 8.0, 13.0, 18.0, 23.0, 4.0, 9.0, 14.0, 19.0, 24.0, 5.0, 0.0, 15.0, 20.0, 25.0] |
| } |
| }, |
| "image_shape": { "dtype": "uint32", "shape": [2], "data": { "kind": "values", "values": [5, 5] } }, |
| "block_shape": { "dtype": "uint32", "shape": [2], "data": { "kind": "values", "values": [1, 5] } } |
| }, |
| "outputs": { "output": { "dtype": "float32", "shape": [1, 1, 5, 5], "tolerance": 0.00001 } } |
| }, |
| { |
| "name": "stride2_3x3_onnx_backend", |
| "provenance": { "source": "cmake/external/onnx/onnx/backend/test/data/node/test_col2im_strides" }, |
| "attrs": { "strides": [2, 2] }, |
| "inputs": { |
| "input": { |
| "dtype": "float32", |
| "shape": [1, 9, 4], |
| "data": { |
| "kind": "values", |
| "values": [0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0] |
| } |
| }, |
| "image_shape": { "dtype": "uint32", "shape": [2], "data": { "kind": "values", "values": [5, 5] } }, |
| "block_shape": { "dtype": "uint32", "shape": [2], "data": { "kind": "values", "values": [3, 3] } } |
| }, |
| "outputs": { "output": { "dtype": "float32", "shape": [1, 1, 5, 5], "tolerance": 0.00001 } } |
| }, |
| { |
| "name": "pads_width1_onnx_backend", |
| "provenance": { "source": "cmake/external/onnx/onnx/backend/test/data/node/test_col2im_pads" }, |
| "attrs": { "pads": [0, 1, 0, 1] }, |
| "inputs": { |
| "input": { |
| "dtype": "float32", |
| "shape": [1, 5, 15], |
| "data": { |
| "kind": "values", |
| "values": [1.0, 6.0, 11.0, 16.0, 21.0, 26.0, 31.0, 36.0, 41.0, 46.0, 51.0, 56.0, 61.0, 66.0, 71.0, 2.0, 7.0, 12.0, 17.0, 22.0, 27.0, 32.0, 37.0, 42.0, 47.0, 52.0, 57.0, 62.0, 67.0, 72.0, 3.0, 8.0, 13.0, 18.0, 23.0, 28.0, 33.0, 38.0, 43.0, 48.0, 53.0, 58.0, 63.0, 68.0, 73.0, 4.0, 9.0, 14.0, 19.0, 24.0, 29.0, 34.0, 39.0, 44.0, 49.0, 54.0, 59.0, 64.0, 69.0, 74.0, 5.0, 10.0, 15.0, 20.0, 25.0, 30.0, 35.0, 40.0, 45.0, 50.0, 55.0, 60.0, 65.0, 70.0, 75.0] |
| } |
| }, |
| "image_shape": { "dtype": "uint32", "shape": [2], "data": { "kind": "values", "values": [5, 5] } }, |
| "block_shape": { "dtype": "uint32", "shape": [2], "data": { "kind": "values", "values": [1, 5] } } |
| }, |
| "outputs": { "output": { "dtype": "float32", "shape": [1, 1, 5, 5], "tolerance": 0.00001 } } |
| }, |
| { |
| "name": "dilation_width5_onnx_backend", |
| "provenance": { "source": "cmake/external/onnx/onnx/backend/test/data/node/test_col2im_dilations" }, |
| "attrs": { "dilations": [1, 5] }, |
| "inputs": { |
| "input": { |
| "dtype": "float32", |
| "shape": [1, 4, 5], |
| "data": { |
| "kind": "values", |
| "values": [1.0, 5.0, 9.0, 13.0, 17.0, 2.0, 6.0, 10.0, 14.0, 18.0, 3.0, 7.0, 11.0, 15.0, 19.0, 4.0, 8.0, 12.0, 16.0, 20.0] |
| } |
| }, |
| "image_shape": { "dtype": "uint32", "shape": [2], "data": { "kind": "values", "values": [6, 6] } }, |
| "block_shape": { "dtype": "uint32", "shape": [2], "data": { "kind": "values", "values": [2, 2] } } |
| }, |
| "outputs": { "output": { "dtype": "float32", "shape": [1, 1, 6, 6], "tolerance": 0.00001 } } |
| }, |
| { |
| "name": "two_channels_stride2_no_overlap", |
| "attrs": { "strides": [2, 2] }, |
| "inputs": { |
| "input": { |
| "dtype": "float32", |
| "shape": [1, 8, 4], |
| "data": { |
| "kind": "values", |
| "values": [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] |
| } |
| }, |
| "image_shape": { "dtype": "uint32", "shape": [2], "data": { "kind": "values", "values": [4, 4] } }, |
| "block_shape": { "dtype": "uint32", "shape": [2], "data": { "kind": "values", "values": [2, 2] } } |
| }, |
| "outputs": { "output": { "dtype": "float32", "shape": [1, 2, 4, 4], "tolerance": 0.00001 } } |
| }, |
| { |
| "name": "two_images_three_channels_non_square_ort", |
| "provenance": { |
| "source": "onnxruntime/test/providers/cpu/tensor/col2im_test.cc", |
| "test": "Col2ImOpTest.With2Images3channelsNonSquare4dNCHW" |
| }, |
| "attrs": {}, |
| "inputs": { |
| "input": { |
| "dtype": "float32", |
| "shape": [2, 15, 4], |
| "data": { "kind": "fillFloat32", "scale": 0.25, "sinStep": 0.17, "cosStep": 0.11 } |
| }, |
| "image_shape": { "dtype": "uint32", "shape": [2], "data": { "kind": "values", "values": [4, 5] } }, |
| "block_shape": { "dtype": "uint32", "shape": [2], "data": { "kind": "values", "values": [1, 5] } } |
| }, |
| "outputs": { "output": { "dtype": "float32", "shape": [2, 3, 4, 5], "tolerance": 0.00001 } } |
| }, |
| { |
| "name": "two_images_two_channels_dilated_padded_stride_ort", |
| "provenance": { |
| "source": "onnxruntime/test/providers/cpu/tensor/col2im_test.cc", |
| "test": "Col2ImOpTest.With2Images2channelsNonSquareDilationPadStride4dNCHW" |
| }, |
| "attrs": { "strides": [2, 2], "pads": [2, 2, 2, 2], "dilations": [2, 2] }, |
| "inputs": { |
| "input": { |
| "dtype": "float32", |
| "shape": [2, 4, 16], |
| "data": { |
| "kind": "values", |
| "values": [0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 3.0, 5.0, 0.0, 11.0, 13.0, 15.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 3.0, 5.0, 0.0, 11.0, 13.0, 15.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 21.0, 23.0, 25.0, 0.0, 31.0, 33.0, 35.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 21.0, 23.0, 25.0, 0.0, 31.0, 33.0, 35.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 41.0, 43.0, 45.0, 0.0, 51.0, 53.0, 55.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 41.0, 43.0, 45.0, 0.0, 51.0, 53.0, 55.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 61.0, 63.0, 65.0, 0.0, 71.0, 73.0, 75.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 61.0, 63.0, 65.0, 0.0, 71.0, 73.0, 75.0, 0.0, 0.0, 0.0, 0.0, 0.0] |
| } |
| }, |
| "image_shape": { "dtype": "uint32", "shape": [2], "data": { "kind": "values", "values": [4, 5] } }, |
| "block_shape": { "dtype": "uint32", "shape": [2], "data": { "kind": "values", "values": [1, 2] } } |
| }, |
| "outputs": { "output": { "dtype": "float32", "shape": [2, 2, 4, 5], "tolerance": 0.00001 } } |
| }, |
| { |
| "name": "ort_simple4d_nchw", |
| "provenance": { |
| "source": "onnxruntime/test/providers/cpu/tensor/col2im_test.cc", |
| "test": "Col2ImOpTest.Simple4dNCHW" |
| }, |
| "attrs": {}, |
| "inputs": { |
| "input": { |
| "dtype": "float32", |
| "shape": [1, 5, 5], |
| "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/ort_simple4d_nchw_input_input" } } |
| }, |
| "image_shape": { "dtype": "uint32", "shape": [2], "data": { "kind": "values", "values": [5, 5] } }, |
| "block_shape": { "dtype": "uint32", "shape": [2], "data": { "kind": "values", "values": [1, 5] } } |
| }, |
| "outputs": { "output": { "dtype": "float32", "shape": [1, 1, 5, 5], "tolerance": 0.00001 } } |
| }, |
| { |
| "name": "ort_three_channels4d_nchw", |
| "provenance": { |
| "source": "onnxruntime/test/providers/cpu/tensor/col2im_test.cc", |
| "test": "Col2ImOpTest.With3channels4dNCHW" |
| }, |
| "attrs": {}, |
| "inputs": { |
| "input": { |
| "dtype": "float32", |
| "shape": [1, 15, 5], |
| "data": { |
| "kind": "values", |
| "values": [1.0, 6.0, 11.0, 16.0, 21.0, 2.0, 7.0, 12.0, 17.0, 22.0, 3.0, 8.0, 13.0, 18.0, 23.0, 4.0, 9.0, 14.0, 19.0, 24.0, 5.0, 10.0, 15.0, 20.0, 25.0, 26.0, 31.0, 36.0, 41.0, 46.0, 27.0, 32.0, 37.0, 42.0, 47.0, 28.0, 33.0, 38.0, 43.0, 48.0, 29.0, 34.0, 39.0, 44.0, 49.0, 30.0, 35.0, 40.0, 45.0, 50.0, 51.0, 56.0, 61.0, 66.0, 71.0, 52.0, 57.0, 62.0, 67.0, 72.0, 53.0, 58.0, 63.0, 68.0, 73.0, 54.0, 59.0, 64.0, 69.0, 74.0, 55.0, 60.0, 65.0, 70.0, 75.0] |
| } |
| }, |
| "image_shape": { "dtype": "uint32", "shape": [2], "data": { "kind": "values", "values": [5, 5] } }, |
| "block_shape": { "dtype": "uint32", "shape": [2], "data": { "kind": "values", "values": [1, 5] } } |
| }, |
| "outputs": { "output": { "dtype": "float32", "shape": [1, 3, 5, 5], "tolerance": 0.00001 } } |
| }, |
| { |
| "name": "ort_two_images_three_channels4d_nchw", |
| "provenance": { |
| "source": "onnxruntime/test/providers/cpu/tensor/col2im_test.cc", |
| "test": "Col2ImOpTest.With2Images3channels4dNCHW" |
| }, |
| "attrs": {}, |
| "inputs": { |
| "input": { |
| "dtype": "float32", |
| "shape": [2, 15, 5], |
| "data": { |
| "kind": "values", |
| "values": [1.0, 6.0, 11.0, 16.0, 21.0, 2.0, 7.0, 12.0, 17.0, 22.0, 3.0, 8.0, 13.0, 18.0, 23.0, 4.0, 9.0, 14.0, 19.0, 24.0, 5.0, 10.0, 15.0, 20.0, 25.0, 26.0, 31.0, 36.0, 41.0, 46.0, 27.0, 32.0, 37.0, 42.0, 47.0, 28.0, 33.0, 38.0, 43.0, 48.0, 29.0, 34.0, 39.0, 44.0, 49.0, 30.0, 35.0, 40.0, 45.0, 50.0, 51.0, 56.0, 61.0, 66.0, 71.0, 52.0, 57.0, 62.0, 67.0, 72.0, 53.0, 58.0, 63.0, 68.0, 73.0, 54.0, 59.0, 64.0, 69.0, 74.0, 55.0, 60.0, 65.0, 70.0, 75.0, 76.0, 81.0, 86.0, 91.0, 96.0, 77.0, 82.0, 87.0, 92.0, 97.0, 78.0, 83.0, 88.0, 93.0, 98.0, 79.0, 84.0, 89.0, 94.0, 99.0, 80.0, 85.0, 90.0, 95.0, 100.0, 101.0, 106.0, 111.0, 116.0, 121.0, 102.0, 107.0, 112.0, 117.0, 122.0, 103.0, 108.0, 113.0, 118.0, 123.0, 104.0, 109.0, 114.0, 119.0, 124.0, 105.0, 110.0, 115.0, 120.0, 125.0, 126.0, 131.0, 136.0, 141.0, 146.0, 127.0, 132.0, 137.0, 142.0, 147.0, 128.0, 133.0, 138.0, 143.0, 148.0, 129.0, 134.0, 139.0, 144.0, 149.0, 130.0, 135.0, 140.0, 145.0, 150.0] |
| } |
| }, |
| "image_shape": { "dtype": "uint32", "shape": [2], "data": { "kind": "values", "values": [5, 5] } }, |
| "block_shape": { "dtype": "uint32", "shape": [2], "data": { "kind": "values", "values": [1, 5] } } |
| }, |
| "outputs": { "output": { "dtype": "float32", "shape": [2, 3, 5, 5], "tolerance": 0.00001 } } |
| }, |
| { |
| "name": "onnx_backend_5d_ncdhw", |
| "provenance": { |
| "source": "cmake/external/onnx/onnx/backend/test/data/node/test_col2im_5d", |
| "notes": "Official image_shape and block_shape tensors are int64; this framework stores their checked nonnegative values as uint32." |
| }, |
| "attrs": {}, |
| "inputs": { |
| "input": { |
| "dtype": "float32", |
| "shape": [1, 10, 12], |
| "data": { |
| "kind": "values", |
| "values": [1.0, 6.0, 11.0, 16.0, 21.0, 26.0, 31.0, 36.0, 41.0, 46.0, 51.0, 56.0, 2.0, 7.0, 12.0, 17.0, 22.0, 27.0, 32.0, 37.0, 42.0, 47.0, 52.0, 57.0, 3.0, 8.0, 13.0, 18.0, 23.0, 28.0, 33.0, 38.0, 43.0, 48.0, 53.0, 58.0, 4.0, 9.0, 14.0, 19.0, 24.0, 29.0, 34.0, 39.0, 44.0, 49.0, 54.0, 59.0, 5.0, 10.0, 15.0, 20.0, 25.0, 30.0, 35.0, 40.0, 45.0, 50.0, 55.0, 60.0, 61.0, 66.0, 71.0, 76.0, 81.0, 86.0, 91.0, 96.0, 101.0, 106.0, 111.0, 116.0, 62.0, 67.0, 72.0, 77.0, 82.0, 87.0, 92.0, 97.0, 102.0, 107.0, 112.0, 117.0, 63.0, 68.0, 73.0, 78.0, 83.0, 88.0, 93.0, 98.0, 103.0, 108.0, 113.0, 118.0, 64.0, 69.0, 74.0, 79.0, 84.0, 89.0, 94.0, 99.0, 104.0, 109.0, 114.0, 119.0, 65.0, 70.0, 75.0, 80.0, 85.0, 90.0, 95.0, 100.0, 105.0, 110.0, 115.0, 120.0] |
| } |
| }, |
| "image_shape": { "dtype": "uint32", "shape": [3], "data": { "kind": "values", "values": [3, 4, 5] } }, |
| "block_shape": { "dtype": "uint32", "shape": [3], "data": { "kind": "values", "values": [1, 1, 5] } } |
| }, |
| "outputs": { "output": { "dtype": "float32", "shape": [1, 2, 3, 4, 5], "tolerance": 0.00001 } } |
| }, |
| { |
| "name": "ort_simple5d_ncdhw", |
| "provenance": { |
| "source": "onnxruntime/test/providers/cpu/tensor/col2im_test.cc", |
| "test": "Col2ImOpTest.Simple5dNCHWD", |
| "notes": "ORT's int64 image_shape and block_shape inputs are represented as checked uint32 metadata tensors in this framework." |
| }, |
| "attrs": {}, |
| "inputs": { |
| "input": { |
| "dtype": "float32", |
| "shape": [1, 5, 5], |
| "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/ort_simple4d_nchw_input_input" } } |
| }, |
| "image_shape": { "dtype": "uint32", "shape": [3], "data": { "kind": "values", "values": [1, 5, 5] } }, |
| "block_shape": { "dtype": "uint32", "shape": [3], "data": { "kind": "values", "values": [1, 1, 5] } } |
| }, |
| "outputs": { "output": { "dtype": "float32", "shape": [1, 1, 1, 5, 5], "tolerance": 0.00001 } } |
| }, |
| { |
| "name": "ort_strides5d_ncdhw", |
| "provenance": { |
| "source": "onnxruntime/test/providers/cpu/tensor/col2im_test.cc", |
| "test": "Col2ImOpTest.WithStrides5dNCHWD", |
| "notes": "ORT's int64 image_shape and block_shape inputs are represented as checked uint32 metadata tensors in this framework." |
| }, |
| "attrs": { "strides": [2, 2, 2] }, |
| "inputs": { |
| "input": { |
| "dtype": "float32", |
| "shape": [1, 1, 8], |
| "data": { "kind": "values", "values": [1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0] } |
| }, |
| "image_shape": { "dtype": "uint32", "shape": [3], "data": { "kind": "values", "values": [4, 4, 4] } }, |
| "block_shape": { "dtype": "uint32", "shape": [3], "data": { "kind": "values", "values": [1, 1, 1] } } |
| }, |
| "outputs": { "output": { "dtype": "float32", "shape": [1, 1, 4, 4, 4], "tolerance": 0.00001 } } |
| }, |
| { |
| "name": "empty_zero_dim", |
| "attrs": {}, |
| "inputs": { |
| "input": { "dtype": "float32", "shape": [0, 4, 4], "data": { "kind": "values", "values": [] } }, |
| "image_shape": { "dtype": "uint32", "shape": [2], "data": { "kind": "values", "values": [3, 3] } }, |
| "block_shape": { "dtype": "uint32", "shape": [2], "data": { "kind": "values", "values": [2, 2] } } |
| }, |
| "outputs": { "output": { "dtype": "float32", "shape": [0, 1, 3, 3], "tolerance": 0 } } |
| }, |
| { |
| "name": "depth_pad1_5d_ncdhw", |
| "attrs": { "pads": [1, 0, 0, 1, 0, 0] }, |
| "inputs": { |
| "input": { |
| "dtype": "float32", |
| "shape": [1, 2, 80], |
| "data": { "kind": "fillFloat32", "scale": 0.5, "sinStep": 0.21, "cosStep": 0.09 } |
| }, |
| "image_shape": { "dtype": "uint32", "shape": [3], "data": { "kind": "values", "values": [4, 4, 4] } }, |
| "block_shape": { "dtype": "uint32", "shape": [3], "data": { "kind": "values", "values": [2, 1, 1] } } |
| }, |
| "outputs": { "output": { "dtype": "float32", "shape": [1, 1, 4, 4, 4], "tolerance": 0.00001 } } |
| }, |
| { |
| "name": "depth_dilation2_5d_ncdhw", |
| "attrs": { "dilations": [2, 1, 1] }, |
| "inputs": { |
| "input": { |
| "dtype": "float32", |
| "shape": [1, 2, 48], |
| "data": { "kind": "fillFloat32", "scale": 0.5, "sinStep": 0.23, "cosStep": 0.13 } |
| }, |
| "image_shape": { "dtype": "uint32", "shape": [3], "data": { "kind": "values", "values": [5, 4, 4] } }, |
| "block_shape": { "dtype": "uint32", "shape": [3], "data": { "kind": "values", "values": [2, 1, 1] } } |
| }, |
| "outputs": { "output": { "dtype": "float32", "shape": [1, 1, 5, 4, 4], "tolerance": 0.00001 } } |
| }, |
| { |
| "name": "overlapping_3x3_two_channels", |
| "attrs": {}, |
| "inputs": { |
| "input": { |
| "dtype": "float32", |
| "shape": [1, 18, 16], |
| "data": { "kind": "fillFloat32", "scale": 0.25, "sinStep": 0.17, "cosStep": 0.11 } |
| }, |
| "image_shape": { "dtype": "uint32", "shape": [2], "data": { "kind": "values", "values": [6, 6] } }, |
| "block_shape": { "dtype": "uint32", "shape": [2], "data": { "kind": "values", "values": [3, 3] } } |
| }, |
| "outputs": { "output": { "dtype": "float32", "shape": [1, 2, 6, 6], "tolerance": 0.00001 } } |
| }, |
| { |
| "name": "depth_pad1_dilation2_5d_ncdhw", |
| "attrs": { "pads": [1, 0, 0, 1, 0, 0], "dilations": [2, 1, 1] }, |
| "inputs": { |
| "input": { |
| "dtype": "float32", |
| "shape": [1, 3, 32], |
| "data": { "kind": "fillFloat32", "scale": 0.4, "sinStep": 0.19, "cosStep": 0.07 } |
| }, |
| "image_shape": { "dtype": "uint32", "shape": [3], "data": { "kind": "values", "values": [4, 4, 4] } }, |
| "block_shape": { "dtype": "uint32", "shape": [3], "data": { "kind": "values", "values": [3, 1, 1] } } |
| }, |
| "outputs": { "output": { "dtype": "float32", "shape": [1, 1, 4, 4, 4], "tolerance": 0.00001 } } |
| }, |
| { |
| "name": "nchw2d_3x3block_3x3image_single_contribution", |
| "attrs": {}, |
| "inputs": { |
| "input": { |
| "dtype": "float32", |
| "shape": [1, 9, 1], |
| "data": { "kind": "values", "values": [1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0] } |
| }, |
| "image_shape": { "dtype": "uint32", "shape": [2], "data": { "kind": "values", "values": [3, 3] } }, |
| "block_shape": { "dtype": "uint32", "shape": [2], "data": { "kind": "values", "values": [3, 3] } } |
| }, |
| "outputs": { |
| "output": { |
| "dtype": "float32", |
| "shape": [1, 1, 3, 3], |
| "tolerance": 0, |
| "data": { "kind": "values", "values": [1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0] } |
| } |
| } |
| }, |
| { |
| "name": "ncdhw3d_dilationD3_zero_contribution_depth_slice", |
| "attrs": { "dilations": [3, 1, 1] }, |
| "inputs": { |
| "input": { "dtype": "float32", "shape": [1, 2, 18], "data": { "kind": "constant", "value": 1.0 } }, |
| "image_shape": { "dtype": "uint32", "shape": [3], "data": { "kind": "values", "values": [5, 3, 3] } }, |
| "block_shape": { "dtype": "uint32", "shape": [3], "data": { "kind": "values", "values": [2, 1, 1] } } |
| }, |
| "outputs": { |
| "output": { |
| "dtype": "float32", |
| "shape": [1, 1, 5, 3, 3], |
| "tolerance": 0, |
| "data": { |
| "kind": "values", |
| "values": [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0] |
| } |
| } |
| } |
| } |
| ] |
| } |
|
|