{ "op": "ai.onnx.ConvTranspose", "fixtureArrays": { "grouped_two_groups_no_bias_input_x": [1, 2, 3, 4, -1, -2, 0.5, 1.5, 2, -3, 4, -5, 0.25, -0.5, 0.75, -1], "grouped_two_groups_no_bias_input_w": [1, 0, 0.5, -1, -0.25, 0.75, 1.5, 0, 0.5, -0.5, 1, 0.25, 1.25, 0, -0.75, 0.5, -1, 0.5, 0.25, 1, 0.75, -1.25, 0, 0.5, 0.25, 1.5, -0.5, 0, -0.75, 0.5, 1, -1], "ort_default_strides_dilations_multi_channel_input_x": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "onnx_backend_convtranspose_input_w": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], "f16_1d_nobias_input_x": [0.1, 0.5, -0.25, 0.75, 1, -0.5, 0.25, -1, 0.5, -0.75, 1.25, -0.25, 0, 0.5, -1, 0.75], "f16_1d_nobias_input_w": [0.5, -0.25, 1, 0.75, -0.5, 0.25, -1, 0.5, 0.125, 1, -0.5, 0.25, 0.5, 0.75, -0.25, -0.75, 0.5, 1] }, "cases": [ { "name": "f32_subnormal_times_large_scale_1d_gpu_gap", "provenance": { "source": "onnxruntime/test/providers/cpu/nn/conv_transpose_op_test.cc", "test": "ConvTransposeTest", "notes": "A 1D transposed convolution with a pointwise large finite weight should preserve subnormal input signal as normal finite output." }, "attrs": {}, "inputs": { "x": { "dtype": "float32", "shape": [1, 1, 4], "data": { "kind": "values", "values": [1e-39, -1e-39, 1e-38, -1e-38] } }, "w": { "dtype": "float32", "shape": [1, 1, 1], "data": { "kind": "constant", "value": 1e+38 } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 1, 4], "tolerance": 0.000001 } }, "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_subnormal_times_large_scale_2d_gpu_gap", "provenance": { "source": "onnxruntime/test/providers/cpu/nn/conv_transpose_op_test.cc", "test": "ConvTransposeTest", "notes": "A 2D transposed convolution with a pointwise large finite weight should preserve subnormal input signal as normal finite output." }, "attrs": {}, "inputs": { "x": { "dtype": "float32", "shape": [1, 1, 2, 2], "data": { "kind": "values", "values": [1e-39, -1e-39, 1e-38, -1e-38] } }, "w": { "dtype": "float32", "shape": [1, 1, 1, 1], "data": { "kind": "constant", "value": 1e+38 } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 1, 2, 2], "tolerance": 0.000001 } }, "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_subnormal_times_large_scale_3d_gpu_gap", "provenance": { "source": "onnxruntime/test/providers/cpu/nn/conv_transpose_op_test.cc", "test": "ConvTransposeTest", "notes": "A 3D transposed convolution with a pointwise large finite weight should preserve subnormal input signal as normal finite output." }, "attrs": {}, "inputs": { "x": { "dtype": "float32", "shape": [1, 1, 2, 2, 2], "data": { "kind": "values", "values": [1e-39, -1e-39, 2e-39, -2e-39, 5e-39, -5e-39, 1e-38, -1e-38] } }, "w": { "dtype": "float32", "shape": [1, 1, 1, 1, 1], "data": { "kind": "constant", "value": 1e+38 } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 1, 2, 2, 2], "tolerance": 0.000001 } }, "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_ncl1d", "attrs": {}, "inputs": { "x": { "dtype": "float32", "shape": [1, 1, 16776961], "data": { "kind": "cycle", "values": [0.5, -0.25, 1.0, -0.75] } }, "w": { "dtype": "float32", "shape": [1, 1, 1], "data": { "kind": "constant", "value": 2.0 } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 1, 16776961], "tolerance": 0.00001 } } }, { "name": "phase_tiled_1d_k4s2_batch_channel_position_tails", "provenance": { "notes": "Exercises the neural-audio stride-2 phase decomposition with non-tile-aligned input channels, output channels, positions, and batch > 1." }, "attrs": { "strides": [2], "pads": [1, 1] }, "inputs": { "x": { "dtype": "float32", "shape": [2, 37, 35], "data": { "kind": "fillFloat32", "sinStep": 0.11, "cosStep": 0.17, "scale": 0.2 } }, "w": { "dtype": "float32", "shape": [37, 13, 4], "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.13, "scale": 0.1 } } }, "outputs": { "y": { "dtype": "float32", "shape": [2, 13, 70], "tolerance": 0.00002 } } }, { "name": "phase_tiled_1d_k4s2_bias_tails", "provenance": { "notes": "Bias companion for the phase-tiled neural-audio path with channel and position tails." }, "attrs": { "strides": [2], "pads": [1, 1] }, "inputs": { "x": { "dtype": "float32", "shape": [1, 17, 33], "data": { "kind": "fillFloat32", "sinStep": 0.07, "cosStep": 0.23, "scale": 0.2 } }, "w": { "dtype": "float32", "shape": [17, 19, 4], "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.29, "scale": 0.1 } }, "bias": { "dtype": "float32", "shape": [19], "data": { "kind": "fillFloat32", "sinStep": 0.05, "cosStep": 0.31, "scale": 0.05 } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 19, 66], "tolerance": 0.00002 } } }, { "name": "phase_tiled_1d_register_tile_channel_position_tails", "provenance": { "notes": "Crosses the occupancy-derived two-output register-tile threshold while retaining input-channel, output-channel, and position tails." }, "attrs": { "strides": [2], "pads": [1, 1] }, "inputs": { "x": { "dtype": "float32", "shape": [1, 17, 1025], "data": { "kind": "fillFloat32", "sinStep": 0.09, "cosStep": 0.21, "scale": 0.2 } }, "w": { "dtype": "float32", "shape": [17, 65, 4], "data": { "kind": "fillFloat32", "sinStep": 0.15, "cosStep": 0.27, "scale": 0.1 } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 65, 2050], "tolerance": 0.00002 } } }, { "name": "nchw_no_bias", "attrs": { "strides": [2, 1], "pads": [1, 0, 1, 0] }, "inputs": { "x": { "dtype": "float32", "shape": [1, 2, 3, 4], "data": { "kind": "fillFloat32", "sinStep": 0.11, "cosStep": 0.17 } }, "w": { "dtype": "float32", "shape": [2, 2, 3, 2], "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.13 } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 2, 5, 5], "tolerance": 0.00001 } } }, { "name": "nchw_bias", "attrs": { "strides": [2, 1], "pads": [1, 0, 1, 0] }, "inputs": { "x": { "dtype": "float32", "shape": [1, 2, 3, 4], "data": { "kind": "fillFloat32", "sinStep": 0.11, "cosStep": 0.17 } }, "w": { "dtype": "float32", "shape": [2, 2, 3, 2], "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.13 } }, "bias": { "dtype": "float32", "shape": [2], "data": { "kind": "fillFloat32", "sinStep": 0.07, "cosStep": 0.29 } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 2, 5, 5], "tolerance": 0.00001 } } }, { "name": "non_vector_channels_no_bias", "attrs": {}, "inputs": { "x": { "dtype": "float32", "shape": [1, 3, 2, 2], "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.17 } }, "w": { "dtype": "float32", "shape": [3, 5, 2, 2], "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23 } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 5, 3, 3], "tolerance": 0.00001 } } }, { "name": "non_vector_channels_bias", "attrs": {}, "inputs": { "x": { "dtype": "float32", "shape": [1, 3, 2, 2], "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.17 } }, "w": { "dtype": "float32", "shape": [3, 5, 2, 2], "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23 } }, "bias": { "dtype": "float32", "shape": [5], "data": { "kind": "fillFloat32", "sinStep": 0.07, "cosStep": 0.29 } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 5, 3, 3], "tolerance": 0.00001 } } }, { "name": "non_vector_channels_bias_stride2_compact", "provenance": { "notes": "Compact companion for bench case conv-transpose-f32-non-vector-bias-b1c3m5-32x32-k3s2, preserving non-vec channel counts, bias, stride=2, and padded k3 output geometry." }, "attrs": { "strides": [2, 2], "pads": [1, 1, 1, 1] }, "inputs": { "x": { "dtype": "float32", "shape": [1, 3, 8, 8], "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.17, "scale": 0.2 } }, "w": { "dtype": "float32", "shape": [3, 5, 3, 3], "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23, "scale": 0.12 } }, "bias": { "dtype": "float32", "shape": [5], "data": { "kind": "fillFloat32", "sinStep": 0.07, "cosStep": 0.29, "scale": 0.1 } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 5, 15, 15], "tolerance": 0.00001 } } }, { "name": "output_padding_extends_shape", "attrs": { "strides": [2, 2], "output_padding": [1, 1] }, "inputs": { "x": { "dtype": "float32", "shape": [1, 1, 2, 2], "data": { "kind": "values", "values": [1.0, 2.0, 3.0, 4.0] } }, "w": { "dtype": "float32", "shape": [1, 1, 2, 2], "data": { "kind": "values", "values": [1.0, -1.0, 2.0, 0.5] } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 1, 5, 5], "tolerance": 0.000001 } } }, { "name": "dilated_kernel_spreads_taps", "attrs": { "dilations": [2, 2] }, "inputs": { "x": { "dtype": "float32", "shape": [1, 1, 3, 3], "data": { "kind": "values", "values": [1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0] } }, "w": { "dtype": "float32", "shape": [1, 1, 2, 2], "data": { "kind": "values", "values": [1.0, -2.0, 0.5, 3.0] } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 1, 5, 5], "tolerance": 0.000001 } } }, { "name": "grouped_two_groups_no_bias", "attrs": { "group": 2 }, "inputs": { "x": { "dtype": "float32", "shape": [1, 4, 2, 2], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/grouped_two_groups_no_bias_input_x" } } }, "w": { "dtype": "float32", "shape": [4, 2, 2, 2], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/grouped_two_groups_no_bias_input_w" } } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 4, 3, 3], "tolerance": 0.000001 } } }, { "name": "f32_grouped2d_stride2_phase", "provenance": { "notes": "Compact grouped stride-2 fixture that exercises the phase-decomposed nchw2d_grouped_stride_phase fallback on every feature tier." }, "attrs": { "group": 2, "strides": [2, 2], "pads": [1, 1, 1, 1] }, "inputs": { "x": { "dtype": "float32", "shape": [1, 4, 3, 4], "data": { "kind": "fillFloat32", "sinStep": 0.11, "cosStep": 0.17, "scale": 0.25 } }, "w": { "dtype": "float32", "shape": [4, 3, 3, 3], "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.13, "scale": 0.2 } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 6, 5, 7], "tolerance": 0.00001 } } }, { "name": "grouped_two_groups_bias", "attrs": { "group": 2 }, "inputs": { "x": { "dtype": "float32", "shape": [1, 4, 2, 2], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/grouped_two_groups_no_bias_input_x" } } }, "w": { "dtype": "float32", "shape": [4, 2, 2, 2], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/grouped_two_groups_no_bias_input_w" } } }, "bias": { "dtype": "float32", "shape": [4], "data": { "kind": "values", "values": [0.5, -1.0, 1.5, -0.25] } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 4, 3, 3], "tolerance": 0.000001 } } }, { "name": "ort_zero_batch_dim", "provenance": { "source": "onnxruntime/test/providers/cpu/nn/conv_transpose_op_test.cc", "test": "ConvTransposeTest.DimWithZero" }, "attrs": { "strides": [2, 2], "pads": [1, 1, 1, 1], "output_padding": [1, 1] }, "inputs": { "x": { "dtype": "float32", "shape": [0, 1, 3, 3], "data": { "kind": "values", "values": [] } }, "w": { "dtype": "float32", "shape": [1, 1, 3, 3], "data": { "kind": "values", "values": [-0.06230065, 0.37932432, -0.25388849, 0.33878803, 0.43709868, -0.22477469, 0.04118127, -0.44696793, 0.06373066] } } }, "outputs": { "y": { "dtype": "float32", "shape": [0, 1, 6, 6], "tolerance": 0 } } }, { "name": "ort_outputpadding_strides2", "provenance": { "source": "onnxruntime/test/providers/cpu/nn/conv_transpose_op_test.cc", "test": "ConvTransposeTest.ConvTranspose_2D_outputpadding_strides2" }, "attrs": { "strides": [2, 2], "pads": [1, 1, 1, 1], "output_padding": [1, 1] }, "inputs": { "x": { "dtype": "float32", "shape": [1, 1, 3, 3], "data": { "kind": "values", "values": [0.16857791, -0.15161794, 0.08540368, 0.1820628, -0.21746576, 0.08245695, 0.1431433, -0.43156421, 0.30591947] } }, "w": { "dtype": "float32", "shape": [1, 1, 3, 3], "data": { "kind": "values", "values": [-0.06230065, 0.37932432, -0.25388849, 0.33878803, 0.43709868, -0.22477469, 0.04118127, -0.44696793, 0.06373066] } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 1, 6, 6], "tolerance": 0.000001 } } }, { "name": "ort_outputpadding_strides2_f16", "provenance": { "source": "onnxruntime/test/providers/cpu/nn/conv_transpose_op_test.cc", "test": "ConvTransposeTest.ConvTranspose_2D_outputpadding_strides2" }, "attrs": { "strides": [2, 2], "pads": [1, 1, 1, 1], "output_padding": [1, 1] }, "inputs": { "x": { "dtype": "float16", "shape": [1, 1, 3, 3], "data": { "kind": "values", "values": [0.16857791, -0.15161794, 0.08540368, 0.1820628, -0.21746576, 0.08245695, 0.1431433, -0.43156421, 0.30591947] } }, "w": { "dtype": "float16", "shape": [1, 1, 3, 3], "data": { "kind": "values", "values": [-0.06230065, 0.37932432, -0.25388849, 0.33878803, 0.43709868, -0.22477469, 0.04118127, -0.44696793, 0.06373066] } } }, "outputs": { "y": { "dtype": "float16", "shape": [1, 1, 6, 6], "tolerance": 0.001 } } }, { "name": "ort_2d_c2_single_output_channel", "provenance": { "source": "onnxruntime/test/providers/cpu/nn/conv_transpose_op_test.cc", "test": "ConvTransposeTest.ConvTranspose_2D_C2" }, "attrs": {}, "inputs": { "x": { "dtype": "float32", "shape": [1, 2, 3, 3], "data": { "kind": "values", "values": [0.43, 0.42871707, 0.29552766, 0.17258859, 0.68087016, 0.7090254, 0.60937387, 0.58646585, 0.84525721, 0.47011843, 0.95854213, 0.3972888, 0.0585452, 0.1206734, 0.76727852, 0.46040912, 0.83495316, 0.02409773] } }, "w": { "dtype": "float32", "shape": [2, 1, 2, 2], "data": { "kind": "values", "values": [0.25616416, 0.10246604, 0.08771133, 0.30770606, 0.84369617, 0.3010619, 0.44524362, 0.6056068] } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 1, 4, 4], "tolerance": 0.000001 } } }, { "name": "ort_dilation2_kernel2_simple", "provenance": { "source": "onnxruntime/test/providers/cpu/nn/conv_transpose_op_test.cc", "test": "ConvTransposeTest.ConvTranspose_2D_Dilation_1" }, "attrs": { "dilations": [2, 2] }, "inputs": { "x": { "dtype": "float32", "shape": [1, 1, 2, 2], "data": { "kind": "values", "values": [11.0, 12.0, 21.0, 22.0] } }, "w": { "dtype": "float32", "shape": [1, 1, 2, 2], "data": { "kind": "values", "values": [1.0, 1.0, 1.0, 1.0] } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 1, 4, 4], "tolerance": 0.000001 } } }, { "name": "ort_dilation3_kernel2_mixed_values", "provenance": { "source": "onnxruntime/test/providers/cpu/nn/conv_transpose_op_test.cc", "test": "ConvTransposeTest.ConvTranspose_2D_Dilation_4" }, "attrs": { "dilations": [3, 3] }, "inputs": { "x": { "dtype": "float32", "shape": [1, 1, 3, 3], "data": { "kind": "values", "values": [3.0, 8.0, 1.0, 9.0, 5.0, 7.0, 3.0, 2.0, 6.0] } }, "w": { "dtype": "float32", "shape": [1, 1, 2, 2], "data": { "kind": "values", "values": [7.0, 2.0, 1.0, 9.0] } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 1, 6, 6], "tolerance": 0.000001 } } }, { "name": "ort_dilation3_asymmetric_pads_top_left", "provenance": { "source": "onnxruntime/test/providers/cpu/nn/conv_transpose_op_test.cc", "test": "ConvTransposeTest.ConvTranspose_2D_Dilation_AsymmetricPads_1" }, "attrs": { "pads": [2, 2, 1, 1], "dilations": [3, 3] }, "inputs": { "x": { "dtype": "float32", "shape": [1, 1, 3, 3], "data": { "kind": "values", "values": [3.0, 8.0, 1.0, 9.0, 5.0, 7.0, 3.0, 2.0, 6.0] } }, "w": { "dtype": "float32", "shape": [1, 1, 2, 2], "data": { "kind": "values", "values": [7.0, 2.0, 1.0, 9.0] } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 1, 3, 3], "tolerance": 0.000001, "data": { "kind": "values", "values": [42.0, 6.0, 4.0, 1.0, 27.0, 72.0, 7.0, 81.0, 45.0] } } } }, { "name": "ort_dilation3_asymmetric_pads_bottom_right", "provenance": { "source": "onnxruntime/test/providers/cpu/nn/conv_transpose_op_test.cc", "test": "ConvTransposeTest.ConvTranspose_2D_Dilation_AsymmetricPads_2" }, "attrs": { "pads": [1, 1, 2, 2], "dilations": [3, 3] }, "inputs": { "x": { "dtype": "float32", "shape": [1, 1, 3, 3], "data": { "kind": "values", "values": [3.0, 8.0, 1.0, 9.0, 5.0, 7.0, 3.0, 2.0, 6.0] } }, "w": { "dtype": "float32", "shape": [1, 1, 2, 2], "data": { "kind": "values", "values": [7.0, 2.0, 1.0, 9.0] } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 1, 3, 3], "tolerance": 0.000001, "data": { "kind": "values", "values": [35.0, 49.0, 18.0, 14.0, 42.0, 6.0, 8.0, 1.0, 27.0] } } } }, { "name": "ort_dilation3_asymmetric_pads_crop_top_left", "provenance": { "source": "onnxruntime/test/providers/cpu/nn/conv_transpose_op_test.cc", "test": "ConvTransposeTest.ConvTranspose_2D_Dilation_AsymmetricPads_3" }, "attrs": { "pads": [2, 2, 0, 0], "dilations": [3, 3] }, "inputs": { "x": { "dtype": "float32", "shape": [1, 1, 3, 3], "data": { "kind": "values", "values": [3.0, 8.0, 1.0, 9.0, 5.0, 7.0, 3.0, 2.0, 6.0] } }, "w": { "dtype": "float32", "shape": [1, 1, 2, 2], "data": { "kind": "values", "values": [7.0, 2.0, 1.0, 9.0] } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 1, 4, 4], "tolerance": 0.000001, "data": { "kind": "values", "values": [42.0, 6.0, 4.0, 12.0, 1.0, 27.0, 72.0, 9.0, 7.0, 81.0, 45.0, 63.0, 6.0, 27.0, 18.0, 54.0] } } } }, { "name": "ort_dilation3_asymmetric_pads_crop_bottom_right", "provenance": { "source": "onnxruntime/test/providers/cpu/nn/conv_transpose_op_test.cc", "test": "ConvTransposeTest.ConvTranspose_2D_Dilation_AsymmetricPads_4" }, "attrs": { "pads": [0, 0, 2, 2], "dilations": [3, 3] }, "inputs": { "x": { "dtype": "float32", "shape": [1, 1, 3, 3], "data": { "kind": "values", "values": [3.0, 8.0, 1.0, 9.0, 5.0, 7.0, 3.0, 2.0, 6.0] } }, "w": { "dtype": "float32", "shape": [1, 1, 2, 2], "data": { "kind": "values", "values": [7.0, 2.0, 1.0, 9.0] } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 1, 4, 4], "tolerance": 0.000001, "data": { "kind": "values", "values": [21.0, 56.0, 7.0, 6.0, 63.0, 35.0, 49.0, 18.0, 21.0, 14.0, 42.0, 6.0, 3.0, 8.0, 1.0, 27.0] } } } }, { "name": "ort_default_strides_dilations_multi_channel", "provenance": { "source": "onnxruntime/test/providers/cpu/nn/conv_transpose_op_test.cc", "test": "ConvTransposeTest.ConvTranspose_DefaultStridesAndDilations" }, "attrs": {}, "inputs": { "x": { "dtype": "float32", "shape": [1, 2, 3, 3], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/ort_default_strides_dilations_multi_channel_input_x" } } }, "w": { "dtype": "float32", "shape": [2, 3, 2, 2], "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] } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 3, 4, 4], "tolerance": 0.000001 } } }, { "name": "ort_stride_width2_dilation_width3", "provenance": { "source": "onnxruntime/test/providers/cpu/nn/conv_transpose_op_test.cc", "test": "ConvTransposeTest.ConvTranspose_2D_NonDefaultStridesAndDilations" }, "attrs": { "strides": [1, 2], "dilations": [1, 3] }, "inputs": { "x": { "dtype": "float32", "shape": [1, 1, 1, 2], "data": { "kind": "values", "values": [1.0, 2.0] } }, "w": { "dtype": "float32", "shape": [1, 1, 1, 4], "data": { "kind": "values", "values": [1.0, 1.0, 1.0, 1.0] } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 1, 1, 12], "tolerance": 0.000001 } } }, { "name": "ort_stride_height2_dilation_height3", "provenance": { "source": "onnxruntime/test/providers/cpu/nn/conv_transpose_op_test.cc", "test": "ConvTransposeTest.ConvTranspose_2D_NonDefaultStridesAndDilations_T" }, "attrs": { "strides": [2, 1], "dilations": [3, 1] }, "inputs": { "x": { "dtype": "float32", "shape": [1, 1, 2, 1], "data": { "kind": "values", "values": [1.0, 2.0] } }, "w": { "dtype": "float32", "shape": [1, 1, 4, 1], "data": { "kind": "values", "values": [1.0, 1.0, 1.0, 1.0] } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 1, 12, 1], "tolerance": 0.000001 } } }, { "name": "ort_2d_bias_3x3_padded", "provenance": { "source": "onnxruntime/test/providers/cpu/nn/conv_transpose_op_test.cc", "test": "ConvTransposeTest.ConvTranspose_2D_Bias_1" }, "attrs": { "pads": [1, 1, 1, 1] }, "inputs": { "x": { "dtype": "float32", "shape": [1, 1, 5, 5], "data": { "kind": "values", "values": [0.22572887, -0.07105902, -0.40399021, -0.14461157, 0.05367219, -0.08353302, 0.41023391, 0.42745841, -0.3769345, -0.42057109, -0.1372498, 0.05485916, 0.34602994, -0.06402895, -0.06000063, 0.07891446, -0.09410021, 0.26251942, -0.11043271, 0.47966552, 0.34682763, -0.04511502, 0.22414422, 0.24618894, -0.21480265] } }, "w": { "dtype": "float32", "shape": [1, 1, 3, 3], "data": { "kind": "values", "values": [-0.0962126, 0.19827795, 0.03667754, 0.36756599, -0.01076147, -0.11781135, -0.11574665, -0.38404959, 0.44403327] } }, "bias": { "dtype": "float32", "shape": [1], "data": { "kind": "values", "values": [0.04676145] } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 1, 5, 5], "tolerance": 0.000001 } } }, { "name": "ort_2d_bias_2x2_no_pad", "provenance": { "source": "onnxruntime/test/providers/cpu/nn/conv_transpose_op_test.cc", "test": "ConvTransposeTest.ConvTranspose_2D_Bias_2" }, "attrs": {}, "inputs": { "x": { "dtype": "float32", "shape": [1, 1, 7, 7], "data": { "kind": "values", "values": [0.01270282, 0.09657472, -0.36909008, -0.08085269, 0.0242992, 0.40873009, -0.46927932, 0.34412372, -0.39574206, 0.26234281, 0.27352369, -0.22265741, 0.43270493, -0.24710381, -0.03418651, -0.04413456, -0.16414353, 0.3158558, 0.1087395, -0.38577938, -0.38986659, -0.09614426, 0.17591673, 0.40140027, -0.0869683, -0.47193506, -0.05010766, 0.29325962, 0.22680271, -0.0793834, -0.36764491, 0.20451134, 0.46361887, -0.12190259, 0.03413916, 0.12307656, 0.28569579, -0.392129, 0.17179191, 0.27161086, -0.12766263, 0.1371125, 0.28137422, -0.39899838, 0.23824286, -0.19693244, 0.32956779, 0.46209556, -0.46913007] } }, "w": { "dtype": "float32", "shape": [1, 1, 2, 2], "data": { "kind": "values", "values": [-0.34922412, 0.1114341, -0.01778314, 0.46861196] } }, "bias": { "dtype": "float32", "shape": [1], "data": { "kind": "values", "values": [0.17402864] } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 1, 8, 8], "tolerance": 0.00001 } } }, { "name": "ort_1d_mixed_channels", "provenance": { "source": "onnxruntime/test/providers/cpu/nn/conv_transpose_op_test.cc", "test": "ConvTransposeTest.ConvTranspose_1D" }, "attrs": {}, "inputs": { "x": { "dtype": "float32", "shape": [1, 2, 3], "data": { "kind": "values", "values": [0.1, 1.0, 2.0, 3.0, 4.0, 5.0] } }, "w": { "dtype": "float32", "shape": [2, 2, 3], "data": { "kind": "values", "values": [1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 6.0, 5.0, 4.0, 3.0, 2.0, 1.0] } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 2, 5], "tolerance": 0.000001 } } }, { "name": "ort_1d_asymmetric_padding", "provenance": { "source": "onnxruntime/test/providers/cpu/nn/conv_transpose_op_test.cc", "test": "ConvTransposeTest.ConvTranspose_1D_AsymmetricPads" }, "attrs": { "pads": [1, 0] }, "inputs": { "x": { "dtype": "float32", "shape": [1, 1, 4], "data": { "kind": "values", "values": [1.0, 2.0, 3.0, 4.0] } }, "w": { "dtype": "float32", "shape": [1, 2, 2], "data": { "kind": "values", "values": [1.0, 1.0, 1.0, 1.0] } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 2, 4], "tolerance": 0.000001, "data": { "kind": "values", "values": [3.0, 5.0, 7.0, 4.0, 3.0, 5.0, 7.0, 4.0] } } } }, { "name": "ort_output_shape_2_bias_single_row", "provenance": { "source": "onnxruntime/test/providers/cpu/nn/conv_transpose_op_test.cc", "test": "ConvTransposeTest.ConvTranspose_2D_OutputShape_2", "notes": "ORT uses the exact output_shape attribute; this fixture has the same natural output size." }, "attrs": { "output_shape": [1, 14] }, "inputs": { "x": { "dtype": "float32", "shape": [1, 1, 1, 10], "data": { "kind": "linspace", "start": 0.0, "end": 9.0 } }, "w": { "dtype": "float32", "shape": [1, 1, 1, 5], "data": { "kind": "values", "values": [1.0, 2.0, 3.0, 2.0, 1.0] } }, "bias": { "dtype": "float32", "shape": [1], "data": { "kind": "values", "values": [1.0] } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 1, 1, 14], "tolerance": 0.000001 } } }, { "name": "ort_output_shape_with_batch_size_bias_single_row", "provenance": { "source": "onnxruntime/test/providers/cpu/nn/conv_transpose_op_test.cc", "test": "ConvTransposeTest.ConvTranspose_2D_OutputShapeWithBatchSize", "notes": "ORT uses the exact output_shape attribute; this fixture has the same natural output size." }, "attrs": { "output_shape": [1, 14] }, "inputs": { "x": { "dtype": "float32", "shape": [2, 1, 1, 10], "data": { "kind": "linspace", "start": 0.0, "end": 19.0 } }, "w": { "dtype": "float32", "shape": [1, 1, 1, 5], "data": { "kind": "values", "values": [1.0, 2.0, 3.0, 2.0, 1.0] } }, "bias": { "dtype": "float32", "shape": [1], "data": { "kind": "values", "values": [1.0] } } }, "outputs": { "y": { "dtype": "float32", "shape": [2, 1, 1, 14], "tolerance": 0.000001 } } }, { "name": "ort_output_shape_1_equivalent_symmetric_crop", "provenance": { "source": "onnxruntime/test/providers/cpu/nn/conv_transpose_op_test.cc", "test": "ConvTransposeTest.ConvTranspose_2D_OutputShape_1", "notes": "Covers the exact spatial output_shape [4, 4]; ConvTranspose derives the required symmetric crop." }, "attrs": { "output_shape": [4, 4] }, "inputs": { "x": { "dtype": "float32", "shape": [1, 3, 4, 4], "data": { "kind": "constant", "value": 1.0 } }, "w": { "dtype": "float32", "shape": [3, 3, 3, 3], "data": { "kind": "constant", "value": 1.0 } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 3, 4, 4], "tolerance": 0 } } }, { "name": "ort_dilation3_kernel2_repeated_tiles", "provenance": { "source": "onnxruntime/test/providers/cpu/nn/conv_transpose_op_test.cc", "test": "ConvTransposeTest.ConvTranspose_2D_Dilation_2" }, "attrs": { "dilations": [3, 3] }, "inputs": { "x": { "dtype": "float32", "shape": [1, 1, 2, 2], "data": { "kind": "values", "values": [11.0, 12.0, 21.0, 22.0] } }, "w": { "dtype": "float32", "shape": [1, 1, 2, 2], "data": { "kind": "constant", "value": 1.0 } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 1, 5, 5], "tolerance": 0 } } }, { "name": "ort_dilation2_kernel2_mixed_values", "provenance": { "source": "onnxruntime/test/providers/cpu/nn/conv_transpose_op_test.cc", "test": "ConvTransposeTest.ConvTranspose_2D_Dilation_3" }, "attrs": { "dilations": [2, 2] }, "inputs": { "x": { "dtype": "float32", "shape": [1, 1, 3, 3], "data": { "kind": "values", "values": [3.0, 8.0, 1.0, 9.0, 5.0, 7.0, 3.0, 2.0, 6.0] } }, "w": { "dtype": "float32", "shape": [1, 1, 2, 2], "data": { "kind": "values", "values": [7.0, 2.0, 1.0, 9.0] } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 1, 5, 5], "tolerance": 0 } } }, { "name": "onnx_backend_convtranspose", "inputs": { "x": { "dtype": "float32", "shape": [1, 1, 3, 3], "data": { "kind": "values", "values": [0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0] } }, "w": { "dtype": "float32", "shape": [1, 2, 3, 3], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/onnx_backend_convtranspose_input_w" } } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 2, 5, 5] } }, "provenance": { "source": "cmake/external/onnx/onnx/backend/test/data/node/test_convtranspose" } }, { "name": "onnx_backend_convtranspose_dilations", "attrs": { "dilations": [2, 2] }, "inputs": { "x": { "dtype": "float32", "shape": [1, 1, 3, 3], "data": { "kind": "values", "values": [3.0, 8.0, 1.0, 9.0, 5.0, 7.0, 3.0, 2.0, 6.0] } }, "w": { "dtype": "float32", "shape": [1, 1, 2, 2], "data": { "kind": "values", "values": [7.0, 2.0, 1.0, 9.0] } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 1, 5, 5] } }, "provenance": { "source": "cmake/external/onnx/onnx/backend/test/data/node/test_convtranspose_dilations" } }, { "name": "onnx_backend_convtranspose_group_2", "attrs": { "group": 2 }, "inputs": { "x": { "dtype": "float32", "shape": [1, 2, 3, 3], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/ort_default_strides_dilations_multi_channel_input_x" } } }, "w": { "dtype": "float32", "shape": [2, 1, 3, 3], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/onnx_backend_convtranspose_input_w" } } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 2, 5, 5] } }, "provenance": { "source": "cmake/external/onnx/onnx/backend/test/data/node/test_convtranspose_group_2" } }, { "name": "onnx_backend_convtranspose_group_2_image_3", "attrs": { "group": 2 }, "inputs": { "x": { "dtype": "float32", "shape": [3, 2, 3, 3], "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, 9.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 17.0, 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] } }, "w": { "dtype": "float32", "shape": [2, 1, 3, 3], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/onnx_backend_convtranspose_input_w" } } } }, "outputs": { "y": { "dtype": "float32", "shape": [3, 2, 5, 5] } }, "provenance": { "source": "cmake/external/onnx/onnx/backend/test/data/node/test_convtranspose_group_2_image_3" } }, { "name": "onnx_backend_convtranspose_pad", "attrs": { "strides": [3, 2], "output_padding": [1, 1] }, "inputs": { "x": { "dtype": "float32", "shape": [1, 1, 3, 3], "data": { "kind": "values", "values": [0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0] } }, "w": { "dtype": "float32", "shape": [1, 2, 3, 3], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/onnx_backend_convtranspose_input_w" } } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 2, 10, 8] } }, "provenance": { "source": "cmake/external/onnx/onnx/backend/test/data/node/test_convtranspose_pad" } }, { "name": "onnx_backend_convtranspose_pads", "attrs": { "strides": [3, 2], "pads": [1, 2, 1, 2] }, "inputs": { "x": { "dtype": "float32", "shape": [1, 1, 3, 3], "data": { "kind": "values", "values": [0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0] } }, "w": { "dtype": "float32", "shape": [1, 2, 3, 3], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/onnx_backend_convtranspose_input_w" } } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 2, 7, 3] } }, "provenance": { "source": "cmake/external/onnx/onnx/backend/test/data/node/test_convtranspose_pads" } }, { "name": "onnx_backend_convtranspose_autopad_same_explicit", "attrs": { "strides": [2, 2], "auto_pad": "SAME_UPPER" }, "inputs": { "x": { "dtype": "float32", "shape": [1, 1, 3, 3], "data": { "kind": "values", "values": [0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0] } }, "w": { "dtype": "float32", "shape": [1, 2, 3, 3], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/onnx_backend_convtranspose_input_w" } } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 2, 6, 6], "tolerance": 0 } }, "provenance": { "source": "cmake/external/onnx/onnx/backend/test/data/node/test_convtranspose_autopad_same", "notes": "SAME_UPPER is represented by equivalent explicit symmetric pads plus output padding for this fixture." } }, { "name": "onnx_backend_convtranspose_output_shape_as_output_padding", "attrs": { "strides": [3, 2], "output_shape": [10, 8] }, "inputs": { "x": { "dtype": "float32", "shape": [1, 1, 3, 3], "data": { "kind": "values", "values": [0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0] } }, "w": { "dtype": "float32", "shape": [1, 2, 3, 3], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/onnx_backend_convtranspose_input_w" } } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 2, 10, 8], "tolerance": 0 } }, "provenance": { "source": "cmake/external/onnx/onnx/backend/test/data/node/test_convtranspose_output_shape", "notes": "Uses the official spatial output_shape attribute from the ONNX backend fixture." } }, { "name": "onnx_backend_convtranspose_kernel_shape_output_padding", "attrs": { "strides": [3, 2], "output_padding": [1, 1], "output_shape": [10, 8], "kernel_shape": [3, 3] }, "inputs": { "x": { "dtype": "float32", "shape": [1, 1, 3, 3], "data": { "kind": "values", "values": [0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0] } }, "w": { "dtype": "float32", "shape": [1, 2, 3, 3], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/onnx_backend_convtranspose_input_w" } } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 2, 10, 8], "tolerance": 0 } }, "provenance": { "source": "cmake/external/onnx/onnx/backend/test/data/node/test_convtranspose_kernel_shape", "notes": "Uses the official kernel_shape, output_shape, and output_padding attributes from the ONNX backend fixture." } }, { "name": "onnx_backend_convtranspose_1d", "provenance": { "source": "cmake/external/onnx/onnx/backend/test/data/node/test_convtranspose_1d" }, "inputs": { "x": { "dtype": "float32", "shape": [1, 1, 3], "data": { "kind": "linspace", "start": 0.0, "end": 2.0 } }, "w": { "dtype": "float32", "shape": [1, 2, 3], "data": { "kind": "constant", "value": 1.0 } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 2, 5], "tolerance": 0 } } }, { "name": "ort_convtranspose_1d_autopad_same_upper", "provenance": { "source": "onnxruntime/test/providers/cpu/nn/conv_transpose_op_test.cc", "test": "ConvTransposeTest.ConvTranspose_1D_AutoPad_SameUpper", "notes": "Covers one-dimensional ConvTranspose with auto_pad=SAME_UPPER." }, "attrs": { "auto_pad": "SAME_UPPER" }, "inputs": { "x": { "dtype": "float32", "shape": [1, 1, 4], "data": { "kind": "values", "values": [1.0, 2.0, 3.0, 4.0] } }, "w": { "dtype": "float32", "shape": [1, 2, 2], "data": { "kind": "constant", "value": 1.0 } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 2, 4], "tolerance": 0, "data": { "kind": "values", "values": [1.0, 3.0, 5.0, 7.0, 1.0, 3.0, 5.0, 7.0] } } } }, { "name": "ort_convtranspose_1d_autopad_same_lower", "provenance": { "source": "onnxruntime/test/providers/cpu/nn/conv_transpose_op_test.cc", "test": "ConvTransposeTest.ConvTranspose_1D_AutoPad_SameLower", "notes": "Covers one-dimensional ConvTranspose with auto_pad=SAME_LOWER." }, "attrs": { "auto_pad": "SAME_LOWER" }, "inputs": { "x": { "dtype": "float32", "shape": [1, 1, 4], "data": { "kind": "values", "values": [1.0, 2.0, 3.0, 4.0] } }, "w": { "dtype": "float32", "shape": [1, 2, 2], "data": { "kind": "constant", "value": 1.0 } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 2, 4], "tolerance": 0, "data": { "kind": "values", "values": [3.0, 5.0, 7.0, 4.0, 3.0, 5.0, 7.0, 4.0] } } } }, { "name": "ort_convtranspose_2d_autopad_same_upper_stride2", "provenance": { "source": "onnxruntime/test/providers/cpu/nn/conv_transpose_op_test.cc", "test": "ConvTransposeTest.ConvTranspose_AutoPad_with_non_default_strides", "notes": "Covers two-dimensional stride-2 ConvTranspose with auto_pad=SAME_UPPER." }, "attrs": { "auto_pad": "SAME_UPPER", "strides": [2, 2] }, "inputs": { "x": { "dtype": "float32", "shape": [1, 1, 3, 3], "data": { "kind": "values", "values": [0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0] } }, "w": { "dtype": "float32", "shape": [1, 2, 3, 3], "data": { "kind": "constant", "value": 1.0 } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 2, 6, 6], "tolerance": 0 } } }, { "name": "ort_convtranspose_1d_grouped", "provenance": { "source": "onnxruntime/test/providers/cpu/nn/conv_transpose_op_test.cc", "test": "ConvTransposeTest.ConvTranspose_1D_OutputShape_1_group_2_for_transpose_path", "notes": "Covers grouped one-dimensional ConvTranspose." }, "attrs": { "group": 2 }, "inputs": { "x": { "dtype": "float32", "shape": [1, 2, 2], "data": { "kind": "values", "values": [1.0, 2.0, 3.0, 4.0] } }, "w": { "dtype": "float32", "shape": [2, 1, 1], "data": { "kind": "values", "values": [2.0, 3.0] } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 2, 2], "tolerance": 0.000001, "data": { "kind": "values", "values": [2.0, 4.0, 9.0, 12.0] } } } }, { "name": "ncl1d_grouped_bias", "provenance": { "source": "onnxruntime/test/providers/cpu/nn/conv_transpose_op_test.cc", "test": "ConvTransposeTest.ConvTranspose_1D_OutputShape_1_group_2_for_transpose_path", "notes": "Grouped (group=2) 1D ConvTranspose WITH bias. Exercises the ncl1d_grouped_bias variant." }, "attrs": { "group": 2 }, "inputs": { "x": { "dtype": "float32", "shape": [1, 2, 2], "data": { "kind": "values", "values": [1.0, 2.0, 3.0, 4.0] } }, "w": { "dtype": "float32", "shape": [2, 1, 1], "data": { "kind": "values", "values": [2.0, 3.0] } }, "bias": { "dtype": "float32", "shape": [2], "data": { "kind": "values", "values": [0.25, -0.5] } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 2, 2], "tolerance": 0.000001 } } }, { "name": "ort_convtranspose_1d_bias", "provenance": { "source": "onnxruntime/test/providers/cpu/nn/conv_transpose_op_test.cc", "test": "ConvTransposeTest.ConvTranspose_2D_Bias_2", "notes": "Covers one-dimensional ConvTranspose with the optional bias input." }, "inputs": { "x": { "dtype": "float32", "shape": [1, 1, 3], "data": { "kind": "values", "values": [1.0, 2.0, 3.0] } }, "w": { "dtype": "float32", "shape": [1, 2, 2], "data": { "kind": "values", "values": [1.0, 2.0, -1.0, 0.5] } }, "bias": { "dtype": "float32", "shape": [2], "data": { "kind": "values", "values": [0.25, -0.5] } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 2, 4], "tolerance": 0.000001, "data": { "kind": "values", "values": [1.25, 4.25, 7.25, 6.25, -1.5, -2.0, -2.5, 1.0] } } } }, { "name": "onnx_backend_convtranspose_3d", "provenance": { "source": "cmake/external/onnx/onnx/backend/test/data/node/test_convtranspose_3d" }, "inputs": { "x": { "dtype": "float32", "shape": [1, 1, 3, 4, 5], "data": { "kind": "linspace", "start": 0.0, "end": 59.0 } }, "w": { "dtype": "float32", "shape": [1, 2, 3, 3, 3], "data": { "kind": "constant", "value": 1.0 } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 2, 5, 6, 7], "tolerance": 0 } } }, { "name": "ort_convtranspose_3d_bias", "provenance": { "source": "onnxruntime/test/providers/cpu/nn/conv_transpose_op_test.cc", "test": "ConvTransposeTest.ConvTranspose_3D", "notes": "Covers three-dimensional 1x1x1 ConvTranspose with the optional bias input." }, "inputs": { "x": { "dtype": "float32", "shape": [1, 1, 2, 2, 2], "data": { "kind": "values", "values": [1.0, 2.0, 3.0, 4.0, -1.0, -2.0, -3.0, -4.0] } }, "w": { "dtype": "float32", "shape": [1, 1, 1, 1, 1], "data": { "kind": "values", "values": [1.0] } }, "bias": { "dtype": "float32", "shape": [1], "data": { "kind": "values", "values": [0.25] } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 1, 2, 2, 2], "tolerance": 0.000001, "data": { "kind": "values", "values": [1.25, 2.25, 3.25, 4.25, -0.75, -1.75, -2.75, -3.75] } } } }, { "name": "nchw2d_bias_f16", "attrs": { "strides": [2, 2], "pads": [1, 1, 1, 1], "output_padding": [1, 1] }, "inputs": { "x": { "dtype": "float16", "shape": [1, 1, 3, 3], "data": { "kind": "values", "values": [0.16857791, -0.15161794, 0.08540368, 0.1820628, -0.21746576, 0.08245695, 0.1431433, -0.43156421, 0.30591947] } }, "w": { "dtype": "float16", "shape": [1, 1, 3, 3], "data": { "kind": "values", "values": [-0.06230065, 0.37932432, -0.25388849, 0.33878803, 0.43709868, -0.22477469, 0.04118127, -0.44696793, 0.06373066] } }, "bias": { "dtype": "float16", "shape": [1], "data": { "kind": "values", "values": [0.25] } } }, "outputs": { "y": { "dtype": "float16", "shape": [1, 1, 6, 6], "tolerance": 0.001 } } }, { "name": "f16_1d_nobias", "attrs": {}, "inputs": { "x": { "dtype": "float16", "shape": [1, 2, 8], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/f16_1d_nobias_input_x" } } }, "w": { "dtype": "float16", "shape": [2, 3, 3], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/f16_1d_nobias_input_w" } } } }, "outputs": { "y": { "dtype": "float16", "shape": [1, 3, 10], "tolerance": 0.02 } } }, { "name": "f16_grouped2d_nobias", "attrs": { "group": 2, "strides": [2, 2], "pads": [1, 1, 1, 1] }, "inputs": { "x": { "dtype": "float16", "shape": [1, 4, 8, 8], "data": { "kind": "fillFloat32", "sinStep": 0.11, "cosStep": 0.17 } }, "w": { "dtype": "float16", "shape": [4, 3, 3, 3], "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.13 } } }, "outputs": { "y": { "dtype": "float16", "shape": [1, 6, 15, 15], "tolerance": 0.03 } } }, { "name": "f16_autopad_same_upper_stride2", "attrs": { "auto_pad": "SAME_UPPER", "strides": [2, 2] }, "inputs": { "x": { "dtype": "float16", "shape": [1, 2, 4, 4], "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.17 } }, "w": { "dtype": "float16", "shape": [2, 3, 3, 3], "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.23 } } }, "outputs": { "y": { "dtype": "float16", "shape": [1, 3, 8, 8], "tolerance": 0.03 } } }, { "name": "nchw2d_f16_nobias", "attrs": {}, "inputs": { "x": { "dtype": "float16", "shape": [1, 2, 4, 4], "data": { "kind": "fillFloat32", "sinStep": 0.11, "cosStep": 0.17 } }, "w": { "dtype": "float16", "shape": [2, 3, 3, 3], "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.13 } } }, "outputs": { "y": { "dtype": "float16", "shape": [1, 3, 6, 6], "tolerance": 0.02 } } }, { "name": "f16_phase_gemm_k4s2_channel_and_spatial_tails", "provenance": { "notes": "Compact route lock for the fused four-phase k4s2 GEMM path. Odd channel and spatial sizes exercise K, M, and N tile tails plus all padded boundaries." }, "attrs": { "strides": [2, 2], "pads": [1, 1, 1, 1] }, "inputs": { "x": { "dtype": "float16", "shape": [1, 5, 7, 9], "data": { "kind": "fillFloat32", "sinStep": 0.11, "cosStep": 0.17, "scale": 0.2 } }, "w": { "dtype": "float16", "shape": [5, 11, 4, 4], "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.13, "scale": 0.1 } } }, "outputs": { "y": { "dtype": "float16", "shape": [1, 11, 14, 18], "tolerance": 0.03 } } }, { "name": "f16_phase_gemm_k4s2_bias_tails", "provenance": { "notes": "Bias companion for the fused four-phase k4s2 path with non-tile-aligned channels and phase-grid dimensions." }, "attrs": { "strides": [2, 2], "pads": [1, 1, 1, 1] }, "inputs": { "x": { "dtype": "float16", "shape": [1, 3, 5, 6], "data": { "kind": "fillFloat32", "sinStep": 0.07, "cosStep": 0.23, "scale": 0.2 } }, "w": { "dtype": "float16", "shape": [3, 7, 4, 4], "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.29, "scale": 0.1 } }, "bias": { "dtype": "float16", "shape": [7], "data": { "kind": "fillFloat32", "sinStep": 0.05, "cosStep": 0.31, "scale": 0.05 } } }, "outputs": { "y": { "dtype": "float16", "shape": [1, 7, 10, 12], "tolerance": 0.03 } } }, { "name": "f16_gemm_2d_no_bias", "provenance": { "notes": "f16 2D ConvTranspose, group 1, IC%32==0 and IH*IW%64==0 -> exercises the im2col-GEMM path nchw2d_gemm (subgroup-matrix) AND the direct nchw2d_f16 kernel." }, "attrs": { "strides": [2, 2], "pads": [1, 1, 1, 1] }, "inputs": { "x": { "dtype": "float16", "shape": [1, 32, 8, 8], "data": { "kind": "fillFloat32", "sinStep": 0.03, "cosStep": 0.07, "scale": 0.4 } }, "w": { "dtype": "float16", "shape": [32, 16, 3, 3], "data": { "kind": "fillFloat32", "sinStep": 0.05, "cosStep": 0.11, "scale": 0.4 } } }, "outputs": { "y": { "dtype": "float16", "shape": [1, 16, 15, 15], "tolerance": 0.03 } } }, { "name": "f16_gemm_2d_bias", "provenance": { "notes": "f16 2D ConvTranspose, group 1, IC%32==0 and IH*IW%64==0 -> exercises the im2col-GEMM path nchw2d_gemm_bias (subgroup-matrix) AND the direct nchw2d_f16 kernel." }, "attrs": { "strides": [2, 2], "pads": [1, 1, 1, 1] }, "inputs": { "x": { "dtype": "float16", "shape": [1, 32, 8, 8], "data": { "kind": "fillFloat32", "sinStep": 0.03, "cosStep": 0.07, "scale": 0.4 } }, "w": { "dtype": "float16", "shape": [32, 16, 3, 3], "data": { "kind": "fillFloat32", "sinStep": 0.05, "cosStep": 0.11, "scale": 0.4 } }, "bias": { "dtype": "float16", "shape": [16], "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.19, "scale": 0.3 } } }, "outputs": { "y": { "dtype": "float16", "shape": [1, 16, 15, 15], "tolerance": 0.03 } } }, { "name": "f16_gemm_2d_batch2", "provenance": { "notes": "f16 2D ConvTranspose GEMM path with batch=2 — exercises the GEMM workgroup_id.z batching and col2im batch decode." }, "attrs": { "strides": [2, 2], "pads": [1, 1, 1, 1] }, "inputs": { "x": { "dtype": "float16", "shape": [2, 32, 8, 8], "data": { "kind": "fillFloat32", "sinStep": 0.023, "cosStep": 0.061, "scale": 0.4 } }, "w": { "dtype": "float16", "shape": [32, 16, 3, 3], "data": { "kind": "fillFloat32", "sinStep": 0.05, "cosStep": 0.11, "scale": 0.4 } } }, "outputs": { "y": { "dtype": "float16", "shape": [2, 16, 15, 15], "tolerance": 0.03 } } }, { "name": "nchw2d_gemm_f32_reg_m512_n1024", "attrs": {}, "inputs": { "x": { "dtype": "float32", "data": { "kind": "fillFloat32", "sinStep": 0.11, "cosStep": 0.17 }, "shape": [1, 8, 32, 32] }, "w": { "dtype": "float32", "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.13 }, "shape": [8, 128, 2, 2] } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 128, 33, 33], "tolerance": 0.0001 } } }, { "name": "nchw2d_gemm_f32_bias_reg_m512_n1024", "attrs": {}, "inputs": { "x": { "dtype": "float32", "data": { "kind": "fillFloat32", "sinStep": 0.11, "cosStep": 0.17 }, "shape": [1, 8, 32, 32] }, "w": { "dtype": "float32", "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.13 }, "shape": [8, 128, 2, 2] }, "bias": { "dtype": "float32", "data": { "kind": "fillFloat32", "sinStep": 0.07, "cosStep": 0.23 }, "shape": [128] } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 128, 33, 33], "tolerance": 0.0001 } } }, { "name": "empty_input_spatial_dim_3d_nonempty_output", "provenance": { "notes": "A zero-depth input leaves a nonempty rank-5 output because the kernel is wider than the empty spatial extent. The contraction is empty, so every output is the additive identity." }, "attrs": {}, "inputs": { "x": { "dtype": "float32", "shape": [1, 1, 0, 3, 3] }, "w": { "dtype": "float32", "shape": [1, 1, 3, 3, 3], "data": { "kind": "constant", "value": 1.0 } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 1, 2, 5, 5], "data": { "kind": "constant", "value": 0.0 } } } }, { "name": "empty_input_spatial_dim_3d_nonempty_output_bias", "provenance": { "notes": "Bias is applied after an empty rank-5 contraction, so each nonempty output channel is exactly its bias value without reading X or W." }, "attrs": {}, "inputs": { "x": { "dtype": "float32", "shape": [1, 1, 0, 1, 1] }, "w": { "dtype": "float32", "shape": [1, 2, 2, 1, 1], "data": { "kind": "constant", "value": 1.0 } }, "bias": { "dtype": "float32", "shape": [2], "data": { "kind": "values", "values": [1.25, -2.5] } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 2, 1, 1, 1], "data": { "kind": "values", "values": [1.25, -2.5] }, "tolerance": 0 } } }, { "name": "empty_input_spatial_dim_2d_grouped_f16_nonempty_output", "provenance": { "notes": "The empty-reduction fill route also covers grouped rank-4 float16 without allocating or reading an im2col scratch buffer." }, "attrs": { "group": 2 }, "inputs": { "x": { "dtype": "float16", "shape": [1, 2, 0, 1] }, "w": { "dtype": "float16", "shape": [2, 1, 2, 1], "data": { "kind": "constant", "value": 1.0 } } }, "outputs": { "y": { "dtype": "float16", "shape": [1, 2, 1, 1], "data": { "kind": "constant", "value": 0.0 }, "tolerance": 0 } } }, { "name": "empty_input_spatial_dim_1d_f16_nonempty_output_bias", "provenance": { "notes": "The float16 bias-broadcast source is rendered explicitly: a zero-width rank-3 reduction returns one output position per channel containing only bias." }, "attrs": {}, "inputs": { "x": { "dtype": "float16", "shape": [1, 1, 0] }, "w": { "dtype": "float16", "shape": [1, 2, 2], "data": { "kind": "constant", "value": 1.0 } }, "bias": { "dtype": "float16", "shape": [2], "data": { "kind": "values", "values": [0.5, -0.75] } } }, "outputs": { "y": { "dtype": "float16", "shape": [1, 2, 1], "data": { "kind": "values", "values": [0.5, -0.75] }, "tolerance": 0 } } }, { "name": "zero_batch_dim_3d_empty_output", "attrs": {}, "inputs": { "x": { "dtype": "float32", "shape": [0, 1, 3, 3, 3] }, "w": { "dtype": "float32", "shape": [1, 2, 3, 3, 3] } }, "outputs": { "y": { "dtype": "float32", "shape": [0, 2, 5, 5, 5] } } }, { "name": "zero_batch_dim_grouped_empty_output", "attrs": { "group": 2 }, "inputs": { "x": { "dtype": "float32", "shape": [0, 4, 4, 4] }, "w": { "dtype": "float32", "shape": [4, 2, 2, 2] } }, "outputs": { "y": { "dtype": "float32", "shape": [0, 4, 5, 5] } } }, { "name": "grouped_dispatch_fold_depthwise_1x1_over_16m", "attrs": { "group": 64 }, "inputs": { "x": { "dtype": "float32", "shape": [1, 64, 512, 512] }, "w": { "dtype": "float32", "shape": [64, 1, 1, 1], "data": { "kind": "constant", "value": 1.0 } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 64, 512, 512] } } }, { "name": "grouped_2d_f16_bias_routing_gap", "attrs": { "group": 2, "strides": [2, 2], "pads": [1, 1, 1, 1] }, "inputs": { "x": { "dtype": "float16", "shape": [1, 4, 8, 8] }, "w": { "dtype": "float16", "shape": [4, 3, 3, 3] }, "bias": { "dtype": "float16", "shape": [6] } }, "outputs": { "y": { "dtype": "float16", "shape": [1, 6, 15, 15], "tolerance": 0.03 } } }, { "name": "convtranspose3d_depth_output_padding1_compact", "provenance": { "source": "ONNX ConvTranspose-22 volumetric output_padding semantics", "notes": "Covers a non-default depth entry in the exact output_padding list attribute." }, "attrs": { "strides": [2, 1, 1], "output_padding": [1, 0, 0] }, "inputs": { "x": { "dtype": "float32", "shape": [1, 1, 2, 1, 1], "data": { "kind": "values", "values": [1.0, 2.0] } }, "w": { "dtype": "float32", "shape": [1, 1, 2, 1, 1], "data": { "kind": "values", "values": [3.0, 4.0] } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 1, 5, 1, 1], "tolerance": 0.000001 } } }, { "name": "dispatch_cliff_batch_over_65535_bias_forces_nchw_scalar", "provenance": { "notes": "Batch 65536 exceeds maxComputeWorkgroupsPerDimension, so gemmDispatchFits is false and every col2im GEMM variant drops out; the scalar NCHW kernel with its bias epilogue is the only remaining f32 dense path." }, "attrs": {}, "inputs": { "x": { "dtype": "float32", "shape": [65536, 1, 1, 1], "data": { "kind": "fillFloat32", "sinStep": 0.0009, "cosStep": 0.0007 } }, "w": { "dtype": "float32", "shape": [1, 1, 1, 1], "data": { "kind": "constant", "value": 1.25 } }, "bias": { "dtype": "float32", "shape": [1], "data": { "kind": "constant", "value": 0.5 } } }, "outputs": { "y": { "dtype": "float32", "shape": [65536, 1, 1, 1], "tolerance": 0.00001 } } }, { "name": "dispatch_cliff_batch_over_65535_bias_f16_forces_nchw_scalar", "provenance": { "notes": "f16 companion of the batch dispatch cliff: with gemmDispatchFits false the tiled and subgroup-matrix col2im GEMMs are ineligible, and the stride-2 phase GEMM geometry does not apply, leaving the scalar f16 NCHW bias kernel." }, "attrs": {}, "inputs": { "x": { "dtype": "float16", "shape": [65536, 1, 1, 1], "data": { "kind": "fillFloat32", "sinStep": 0.0009, "cosStep": 0.0007 } }, "w": { "dtype": "float16", "shape": [1, 1, 1, 1], "data": { "kind": "constant", "value": 1.25 } }, "bias": { "dtype": "float16", "shape": [1], "data": { "kind": "constant", "value": 0.5 } } }, "outputs": { "y": { "dtype": "float16", "shape": [65536, 1, 1, 1], "tolerance": 0.002, "relTolerance": 0.01 } } }, { "name": "f16_grouped2d_stride1_no_bias", "provenance": { "notes": "Grouped f16 ConvTranspose at stride 1: the grouped stride-phase kernel requires strideH/strideW >= 2, so unit stride is what routes a grouped f16 request to the scalar grouped NCHW kernel." }, "attrs": { "group": 2 }, "inputs": { "x": { "dtype": "float16", "shape": [1, 2, 2, 2], "data": { "kind": "fillFloat32", "sinStep": 0.11, "cosStep": 0.17 } }, "w": { "dtype": "float16", "shape": [2, 1, 2, 2], "data": { "kind": "fillFloat32", "sinStep": 0.19, "cosStep": 0.13 } } }, "outputs": { "y": { "dtype": "float16", "shape": [1, 2, 3, 3], "tolerance": 0.01 } } }, { "name": "f16_grouped2d_stride1_bias", "provenance": { "notes": "Bias companion of the unit-stride grouped f16 case: the grouped stride-phase bias kernel is gated on stride >= 2, so the bias epilogue of the scalar grouped f16 NCHW kernel is only reachable at stride 1." }, "attrs": { "group": 2 }, "inputs": { "x": { "dtype": "float16", "shape": [1, 2, 2, 2], "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.19 } }, "w": { "dtype": "float16", "shape": [2, 1, 2, 2], "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.11 } }, "bias": { "dtype": "float16", "shape": [2], "data": { "kind": "fillFloat32", "sinStep": 0.07, "cosStep": 0.29 } } }, "outputs": { "y": { "dtype": "float16", "shape": [1, 2, 3, 3], "tolerance": 0.01 } } }, { "name": "convtranspose3d_subgroup_matrix_col2im_overlap_f32", "provenance": { "notes": "General rank-5 matrix-path coverage with K=IC=32, N=ID*IH*IW=64, and M=OC*KD*KH*KW=32. Constant operands make the complete 2x2x2 overlap multiplicity explicit while exercising weight reorder, subgroup-matrix contraction, and 3D col2im." }, "attrs": {}, "inputs": { "x": { "dtype": "float32", "shape": [1, 32, 4, 4, 4], "data": { "kind": "constant", "value": 1.0 } }, "w": { "dtype": "float32", "shape": [32, 4, 2, 2, 2], "data": { "kind": "constant", "value": 0.125 } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 4, 5, 5, 5], "tolerance": 0.0002, "relTolerance": 0.0002, "data": { "kind": "cycle", "values": [4.0, 8.0, 8.0, 8.0, 4.0, 8.0, 16.0, 16.0, 16.0, 8.0, 8.0, 16.0, 16.0, 16.0, 8.0, 8.0, 16.0, 16.0, 16.0, 8.0, 4.0, 8.0, 8.0, 8.0, 4.0, 8.0, 16.0, 16.0, 16.0, 8.0, 16.0, 32.0, 32.0, 32.0, 16.0, 16.0, 32.0, 32.0, 32.0, 16.0, 16.0, 32.0, 32.0, 32.0, 16.0, 8.0, 16.0, 16.0, 16.0, 8.0, 8.0, 16.0, 16.0, 16.0, 8.0, 16.0, 32.0, 32.0, 32.0, 16.0, 16.0, 32.0, 32.0, 32.0, 16.0, 16.0, 32.0, 32.0, 32.0, 16.0, 8.0, 16.0, 16.0, 16.0, 8.0, 8.0, 16.0, 16.0, 16.0, 8.0, 16.0, 32.0, 32.0, 32.0, 16.0, 16.0, 32.0, 32.0, 32.0, 16.0, 16.0, 32.0, 32.0, 32.0, 16.0, 8.0, 16.0, 16.0, 16.0, 8.0, 4.0, 8.0, 8.0, 8.0, 4.0, 8.0, 16.0, 16.0, 16.0, 8.0, 8.0, 16.0, 16.0, 16.0, 8.0, 8.0, 16.0, 16.0, 16.0, 8.0, 4.0, 8.0, 8.0, 8.0, 4.0] } } } }, { "name": "convtranspose3d_subgroup_matrix_bias_f32", "provenance": { "notes": "Bias companion for the aligned rank-5 matrix path. A pointwise volumetric kernel isolates the bias epilogue while preserving context-derived M/K/N eligibility." }, "attrs": {}, "inputs": { "x": { "dtype": "float32", "shape": [1, 32, 4, 4, 4], "data": { "kind": "constant", "value": 1.0 } }, "w": { "dtype": "float32", "shape": [32, 32, 1, 1, 1], "data": { "kind": "constant", "value": 0.125 } }, "bias": { "dtype": "float32", "shape": [32], "data": { "kind": "constant", "value": 0.5 } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 32, 4, 4, 4], "tolerance": 0.0002, "relTolerance": 0.0002, "data": { "kind": "constant", "value": 4.5 } } } }, { "name": "convtranspose3d_tiled_reg_large_spatial_f32", "provenance": { "notes": "Portable register-tiled rank-5 coverage with N=8*32*32 and M=32. Pointwise weights isolate the large matrix path and 3D tensor plumbing while tile eligibility remains manifest-derived." }, "attrs": {}, "inputs": { "x": { "dtype": "float32", "shape": [1, 32, 8, 32, 32], "data": { "kind": "constant", "value": 1.0 } }, "w": { "dtype": "float32", "shape": [32, 32, 1, 1, 1], "data": { "kind": "constant", "value": 0.03125 } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 32, 8, 32, 32], "tolerance": 0.0002, "relTolerance": 0.0002, "data": { "kind": "constant", "value": 1.0 } } } }, { "name": "convtranspose3d_tiled_bias_reg_large_spatial_f32", "provenance": { "notes": "Bias companion for the portable register-tiled rank-5 path, validating that bias stays in the output-stationary col2im epilogue rather than the intermediate GEMM." }, "attrs": {}, "inputs": { "x": { "dtype": "float32", "shape": [1, 32, 8, 32, 32], "data": { "kind": "constant", "value": 1.0 } }, "w": { "dtype": "float32", "shape": [32, 32, 1, 1, 1], "data": { "kind": "constant", "value": 0.03125 } }, "bias": { "dtype": "float32", "shape": [32], "data": { "kind": "constant", "value": 0.5 } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 32, 8, 32, 32], "tolerance": 0.0002, "relTolerance": 0.0002, "data": { "kind": "constant", "value": 1.5 } } } }, { "name": "convtranspose3d_implicit_sgmat_k3_pad1_f32", "provenance": { "notes": "Stride-1 k3 same-size decoder shape on the implicit forward-convolution route: tap-reversed weights, begin pads kernel-1-pad, K=IC*27=216 with a padded tail, and varying operand data so a gather or flip indexing error shows per position." }, "attrs": { "pads": [1, 1, 1, 1, 1, 1] }, "inputs": { "x": { "dtype": "float32", "shape": [1, 8, 12, 12, 12], "data": { "kind": "fillFloat32", "sinStep": 0.11, "cosStep": 0.23, "scale": 0.5 } }, "w": { "dtype": "float32", "shape": [8, 32, 3, 3, 3], "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.29, "scale": 0.25 } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 32, 12, 12, 12], "tolerance": 0.0005, "relTolerance": 0.0005 } } }, { "name": "convtranspose3d_implicit_sgmat_k3_nopad_bias_f32", "provenance": { "notes": "Zero-pad stride-1 k3 growth shape with bias: the forward equivalence uses full begin pads of kernel-1 on every axis and the bias epilogue lands on directly stored output tiles." }, "inputs": { "x": { "dtype": "float32", "shape": [1, 8, 10, 10, 10], "data": { "kind": "fillFloat32", "sinStep": 0.11, "cosStep": 0.23, "scale": 0.5 } }, "w": { "dtype": "float32", "shape": [8, 32, 3, 3, 3], "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.29, "scale": 0.25 } }, "bias": { "dtype": "float32", "shape": [32], "data": { "kind": "linspace", "start": -1.0, "end": 1.0 } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 32, 12, 12, 12], "tolerance": 0.0005, "relTolerance": 0.0005 } } }, { "name": "convtranspose3d_implicit_sgmat_asym_pads_f32", "provenance": { "notes": "Asymmetric begin/end pads give each spatial axis a different forward begin pad (kernel-1-pad per axis), pinning the per-axis pad plumbing of the implicit route." }, "attrs": { "pads": [1, 0, 1, 0, 1, 0] }, "inputs": { "x": { "dtype": "float32", "shape": [1, 8, 10, 10, 10], "data": { "kind": "fillFloat32", "sinStep": 0.11, "cosStep": 0.23, "scale": 0.5 } }, "w": { "dtype": "float32", "shape": [8, 32, 3, 3, 3], "data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.29, "scale": 0.25 } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 32, 11, 11, 11], "tolerance": 0.0005, "relTolerance": 0.0005 } } }, { "name": "exact_tiling_stride4_kernel4_gemm_bias", "provenance": { "notes": "Kernel == stride with no padding, no dilation and no output padding: the taps TILE the output rather than overlapping it, so col2im takes its collapsed single-tap path instead of the KH*KW gather. Shaped after Depth Anything V2's factor-4 reassemble (x [1,384,37,49], w [384,48,4,4]). Without a case in this quadrant the collapsed branch had zero coverage: poisoning it left all 163 ConvTranspose tests green." }, "attrs": { "strides": [4, 4] }, "inputs": { "x": { "dtype": "float32", "shape": [1, 16, 5, 7], "data": { "kind": "fillFloat32", "sinStep": 0.03, "cosStep": 0.07, "scale": 0.4 } }, "w": { "dtype": "float32", "shape": [16, 8, 4, 4], "data": { "kind": "fillFloat32", "sinStep": 0.05, "cosStep": 0.11, "scale": 0.4 } }, "bias": { "dtype": "float32", "shape": [8], "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.19, "scale": 0.3 } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 8, 20, 28], "tolerance": 0.0005 } } }, { "name": "exact_tiling_nonsquare_stride2x3_no_bias", "provenance": { "notes": "Kernel == stride on BOTH axes but with different strides per axis (2 x 3), so a kh/kw or inW/outW swap in the collapsed col2im tap cannot cancel out the way it would on a square kernel." }, "attrs": { "strides": [2, 3] }, "inputs": { "x": { "dtype": "float32", "shape": [1, 8, 4, 5], "data": { "kind": "fillFloat32", "sinStep": 0.023, "cosStep": 0.061, "scale": 0.4 } }, "w": { "dtype": "float32", "shape": [8, 6, 2, 3], "data": { "kind": "fillFloat32", "sinStep": 0.047, "cosStep": 0.089, "scale": 0.4 } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 6, 8, 15], "tolerance": 0.0005 } } }, { "name": "exact_tiling_stride2_kernel2_f16_bias", "provenance": { "notes": "The f16 im2col-GEMM family shares the same col2im shader, so the collapsed tap needs a case on that side of the dtype split too. Shaped after Depth Anything V2's factor-2 reassemble." }, "attrs": { "strides": [2, 2] }, "inputs": { "x": { "dtype": "float16", "shape": [1, 32, 8, 8], "data": { "kind": "fillFloat32", "sinStep": 0.03, "cosStep": 0.07, "scale": 0.4 } }, "w": { "dtype": "float16", "shape": [32, 16, 2, 2], "data": { "kind": "fillFloat32", "sinStep": 0.05, "cosStep": 0.11, "scale": 0.4 } }, "bias": { "dtype": "float16", "shape": [16], "data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.19, "scale": 0.3 } } }, "outputs": { "y": { "dtype": "float16", "shape": [1, 16, 16, 16], "tolerance": 0.03 } } }, { "name": "cols_gemm_2d_bias_m_and_n_tail", "provenance": { "notes": "An f32 rank-4 im2col-GEMM whose channel count is a multiple of 32 and whose BOTH gemm axes are ragged: gemmM = 12*3*3 = 108 tails a 32-row tile and gemmN = 9*11 = 99 tails a 64-column tile. Written to cover a subgroup-matrix 2D path that was then reverted, and kept because it is the shape that CAUGHT it: the shared sgmat kernel's materialized B load has no N guard, so this case read maxAbs 6.6 wrong while the same shape at N = 64 was exact." }, "attrs": { "strides": [2, 2], "pads": [1, 1, 1, 1] }, "inputs": { "x": { "dtype": "float32", "shape": [1, 32, 9, 11], "data": { "kind": "fillFloat32", "sinStep": 0.031, "cosStep": 0.067, "scale": 0.4 } }, "w": { "dtype": "float32", "shape": [32, 12, 3, 3], "data": { "kind": "fillFloat32", "sinStep": 0.053, "cosStep": 0.089, "scale": 0.4 } }, "bias": { "dtype": "float32", "shape": [12], "data": { "kind": "fillFloat32", "sinStep": 0.131, "cosStep": 0.197, "scale": 0.3 } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 12, 17, 21], "tolerance": 0.0005 } } }, { "name": "cols_gemm_2d_no_bias_m_aligned_n_below_tile", "provenance": { "notes": "The companion: gemmM = 16*4*4 = 256 is tile-aligned and gemmN = 5*6 = 30 is BELOW one column tile, the narrowest an N tail gets. Same provenance — it is half of the pair that showed a ragged N is not safe on the shared subgroup-matrix kernel." }, "attrs": { "strides": [4, 4] }, "inputs": { "x": { "dtype": "float32", "shape": [1, 64, 5, 6], "data": { "kind": "fillFloat32", "sinStep": 0.023, "cosStep": 0.061, "scale": 0.4 } }, "w": { "dtype": "float32", "shape": [64, 16, 4, 4], "data": { "kind": "fillFloat32", "sinStep": 0.047, "cosStep": 0.083, "scale": 0.4 } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 16, 20, 24], "tolerance": 0.0005 } } }, { "name": "f16_1d_bias", "provenance": { "notes": "Covers rank-3 f16 ConvTranspose with bias. Exact half-valued inputs keep bias-indexing errors observable without f16 rounding ambiguity." }, "attrs": {}, "inputs": { "x": { "dtype": "float16", "shape": [1, 2, 8], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/f16_1d_nobias_input_x" } } }, "w": { "dtype": "float16", "shape": [2, 3, 3], "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/f16_1d_nobias_input_w" } } }, "bias": { "dtype": "float16", "shape": [3], "data": { "kind": "values", "values": [0.25, -0.5, 1.5] } } }, "outputs": { "y": { "dtype": "float16", "shape": [1, 3, 10], "tolerance": 0.02 } } }, { "name": "f16_1d_grouped_nobias", "provenance": { "source": "onnxruntime/test/providers/cpu/nn/conv_transpose_op_test.cc", "test": "ConvTransposeTest.ConvTranspose_1D_OutputShape_1_group_2_for_transpose_path", "notes": "Covers grouped rank-3 f16 ConvTranspose without bias. Distinct per-group weights 2 and 3 make group-indexing errors observable." }, "attrs": { "group": 2 }, "inputs": { "x": { "dtype": "float16", "shape": [1, 2, 2], "data": { "kind": "values", "values": [1.0, 2.0, 3.0, 4.0] } }, "w": { "dtype": "float16", "shape": [2, 1, 1], "data": { "kind": "values", "values": [2.0, 3.0] } } }, "outputs": { "y": { "dtype": "float16", "shape": [1, 2, 2], "tolerance": 0.01 } } }, { "name": "f16_1d_grouped_bias", "provenance": { "source": "onnxruntime/test/providers/cpu/nn/conv_transpose_op_test.cc", "test": "ConvTransposeTest.ConvTranspose_1D_OutputShape_1_group_2_for_transpose_path", "notes": "Covers grouped rank-3 f16 ConvTranspose with per-output-channel bias. The two bias entries differ in sign and magnitude, making a wrong channel index observable." }, "attrs": { "group": 2 }, "inputs": { "x": { "dtype": "float16", "shape": [1, 2, 2], "data": { "kind": "values", "values": [1.0, 2.0, 3.0, 4.0] } }, "w": { "dtype": "float16", "shape": [2, 1, 1], "data": { "kind": "values", "values": [2.0, 3.0] } }, "bias": { "dtype": "float16", "shape": [2], "data": { "kind": "values", "values": [0.25, -0.5] } } }, "outputs": { "y": { "dtype": "float16", "shape": [1, 2, 2], "tolerance": 0.01 } } }, { "name": "zero_input_spatial_dim_3d_empty_output", "provenance": { "notes": "A zero input-depth dimension with a unit kernel produces a zero output-depth dimension. This exercises the direct rank-5 fallback when the GEMM column dimension is zero and the nonempty-output reduction does not apply." }, "attrs": {}, "inputs": { "x": { "dtype": "float32", "shape": [1, 1, 0, 2, 2], "data": { "kind": "values", "values": [] } }, "w": { "dtype": "float32", "shape": [1, 1, 1, 1, 1], "data": { "kind": "values", "values": [2.0] } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 1, 0, 2, 2], "tolerance": 0 } } }, { "name": "zero_input_spatial_dim_3d_empty_output_bias", "provenance": { "notes": "Bias does not make an output tensor with a zero spatial dimension nonempty. This is the bias-bearing sibling for the direct rank-5 zero-column fallback." }, "attrs": {}, "inputs": { "x": { "dtype": "float32", "shape": [1, 1, 0, 2, 2], "data": { "kind": "values", "values": [] } }, "w": { "dtype": "float32", "shape": [1, 1, 1, 1, 1], "data": { "kind": "values", "values": [2.0] } }, "bias": { "dtype": "float32", "shape": [1], "data": { "kind": "values", "values": [0.75] } } }, "outputs": { "y": { "dtype": "float32", "shape": [1, 1, 0, 2, 2], "tolerance": 0 } } } ] }