| { |
| "op": "ai.onnx.DeformConv", |
| "fixtureArrays": { |
| "onnx_backend_basic_deform_conv_without_padding_input_offset": [0.5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.10000000149011612, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] |
| }, |
| "cases": [ |
| { |
| "name": "group_aligned_offset_hoist_bias_mask", |
| "attrs": { "group": 2, "offset_group": 2, "pads": [1, 1, 1, 1] }, |
| "inputs": { |
| "x": { "dtype": "float32", "shape": [1, 4, 8, 8], "data": { "kind": "linspace", "start": -1.0, "end": 1.0 } }, |
| "w": { "dtype": "float32", "shape": [4, 2, 3, 3], "data": { "kind": "cycle", "values": [0.1, -0.05, 0.025] } }, |
| "offset": { |
| "dtype": "float32", |
| "shape": [1, 36, 8, 8], |
| "data": { "kind": "cycle", "values": [0.125, -0.25, 0.0, 0.25] } |
| }, |
| "bias": { "dtype": "float32", "shape": [4], "data": { "kind": "values", "values": [0.1, -0.2, 0.3, -0.4] } }, |
| "mask": { "dtype": "float32", "shape": [1, 18, 8, 8], "data": { "kind": "cycle", "values": [0.5, 0.75, 1.0] } } |
| }, |
| "outputs": { "y": { "dtype": "float32", "shape": [1, 4, 8, 8], "tolerance": 0.00001 } } |
| }, |
| { |
| "name": "group_aligned_offset_hoist_bias_mask_oc4", |
| "attrs": { "group": 2, "offset_group": 2, "pads": [1, 1, 1, 1] }, |
| "inputs": { |
| "x": { "dtype": "float32", "shape": [1, 8, 8, 8], "data": { "kind": "linspace", "start": -1.0, "end": 1.0 } }, |
| "w": { |
| "dtype": "float32", |
| "shape": [8, 4, 3, 3], |
| "data": { "kind": "cycle", "values": [0.1, -0.05, 0.025, -0.0125] } |
| }, |
| "offset": { |
| "dtype": "float32", |
| "shape": [1, 36, 8, 8], |
| "data": { "kind": "cycle", "values": [0.125, -0.25, 0.0, 0.25] } |
| }, |
| "bias": { "dtype": "float32", "shape": [8], "data": { "kind": "cycle", "values": [0.1, -0.2, 0.3, -0.4] } }, |
| "mask": { "dtype": "float32", "shape": [1, 18, 8, 8], "data": { "kind": "cycle", "values": [0.5, 0.75, 1.0] } } |
| }, |
| "outputs": { "y": { "dtype": "float32", "shape": [1, 8, 8, 8], "tolerance": 0.00001 } } |
| }, |
| { |
| "name": "group_aligned_offset_hoist_bias_mask_oc8", |
| "attrs": { "group": 2, "offset_group": 2, "pads": [1, 1, 1, 1] }, |
| "inputs": { |
| "x": { "dtype": "float32", "shape": [1, 8, 6, 6], "data": { "kind": "linspace", "start": -0.75, "end": 0.75 } }, |
| "w": { |
| "dtype": "float32", |
| "shape": [16, 4, 3, 3], |
| "data": { "kind": "cycle", "values": [0.08, -0.04, 0.02, -0.01] } |
| }, |
| "offset": { |
| "dtype": "float32", |
| "shape": [1, 36, 6, 6], |
| "data": { "kind": "cycle", "values": [0.125, -0.125, 0.0] } |
| }, |
| "bias": { "dtype": "float32", "shape": [16], "data": { "kind": "cycle", "values": [0.1, -0.1, 0.05, -0.05] } }, |
| "mask": { "dtype": "float32", "shape": [1, 18, 6, 6], "data": { "kind": "cycle", "values": [0.5, 0.75, 1.0] } } |
| }, |
| "outputs": { "y": { "dtype": "float32", "shape": [1, 16, 6, 6], "tolerance": 0.00001 } } |
| }, |
| { |
| "name": "group_aligned_offset_hoist_bias_mask_oc16", |
| "attrs": { "group": 1, "offset_group": 1, "pads": [1, 1, 1, 1] }, |
| "inputs": { |
| "x": { "dtype": "float32", "shape": [1, 4, 6, 6], "data": { "kind": "linspace", "start": -0.5, "end": 0.5 } }, |
| "w": { |
| "dtype": "float32", |
| "shape": [16, 4, 3, 3], |
| "data": { "kind": "cycle", "values": [0.06, -0.03, 0.015, -0.0075] } |
| }, |
| "offset": { |
| "dtype": "float32", |
| "shape": [1, 18, 6, 6], |
| "data": { "kind": "cycle", "values": [0.2, -0.1, 0.0] } |
| }, |
| "bias": { "dtype": "float32", "shape": [16], "data": { "kind": "cycle", "values": [0.08, -0.08, 0.04, -0.04] } }, |
| "mask": { "dtype": "float32", "shape": [1, 9, 6, 6], "data": { "kind": "cycle", "values": [0.6, 0.8, 1.0] } } |
| }, |
| "outputs": { "y": { "dtype": "float32", "shape": [1, 16, 6, 6], "tolerance": 0.00001 } } |
| }, |
| { |
| "name": "fractional_offset_preserves_subnormal_bilinear_sample_gpu_gap", |
| "provenance": { |
| "notes": "A fractional deformable offset performs bilinear interpolation; a positive subnormal contribution remains valid ONNX output and should not be flushed to zero." |
| }, |
| "inputs": { |
| "x": { |
| "dtype": "float32", |
| "shape": [1, 1, 2, 2], |
| "data": { "kind": "values", "values": [4e-40, 0.0, 0.0, 0.0] } |
| }, |
| "w": { "dtype": "float32", "shape": [1, 1, 2, 2], "data": { "kind": "values", "values": [1.0, 0.0, 0.0, 0.0] } }, |
| "offset": { |
| "dtype": "float32", |
| "shape": [1, 8, 1, 1], |
| "data": { "kind": "values", "values": [0.5, 0.5, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0] } |
| } |
| }, |
| "outputs": { "y": { "dtype": "float32", "shape": [1, 1, 1, 1], "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_channel_heavy_1x1", |
| "inputs": { |
| "x": { "dtype": "float32", "shape": [1, 1, 1, 1], "data": { "kind": "constant", "value": 1.0 } }, |
| "w": { |
| "dtype": "float32", |
| "shape": [8388608, 1, 1, 1], |
| "data": { "kind": "linspace", "start": -1.0, "end": 1.0 } |
| }, |
| "offset": { "dtype": "float32", "shape": [1, 2, 1, 1], "data": { "kind": "constant", "value": 0.0 } } |
| }, |
| "outputs": { "y": { "dtype": "float32", "shape": [1, 8388608, 1, 1], "tolerance": 0.00001 } } |
| }, |
| { |
| "name": "zero_offsets_matches_conv", |
| "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, 0.0, 0.0, -1.0] } |
| }, |
| "offset": { "dtype": "float32", "shape": [1, 8, 2, 2], "data": { "kind": "constant", "value": 0.0 } } |
| }, |
| "outputs": { "y": { "dtype": "float32", "shape": [1, 1, 2, 2], "tolerance": 0.00001 } } |
| }, |
| { |
| "name": "ort_asymmetric_padding_bias_mask", |
| "provenance": { |
| "source": "onnxruntime/test/providers/cpu/nn/deform_conv_op_test.cc", |
| "test": "DeformConvTest.AsymmetricPadding" |
| }, |
| "attrs": { "pads": [1, 0, 0, 1] }, |
| "inputs": { |
| "x": { "dtype": "float32", "shape": [1, 1, 3, 3], "data": { "kind": "constant", "value": 0.1 } }, |
| "w": { "dtype": "float32", "shape": [1, 1, 2, 2], "data": { "kind": "constant", "value": 0.1 } }, |
| "offset": { "dtype": "float32", "shape": [1, 8, 3, 3], "data": { "kind": "constant", "value": 0.0 } }, |
| "bias": { "dtype": "float32", "shape": [1], "data": { "kind": "constant", "value": 0.0 } }, |
| "mask": { "dtype": "float32", "shape": [1, 4, 3, 3], "data": { "kind": "constant", "value": 1.0 } } |
| }, |
| "outputs": { |
| "y": { |
| "dtype": "float32", |
| "shape": [1, 1, 3, 3], |
| "tolerance": 0.00001, |
| "data": { "kind": "values", "values": [0.02, 0.02, 0.01, 0.04, 0.04, 0.02, 0.04, 0.04, 0.02] } |
| } |
| } |
| }, |
| { |
| "name": "fractional_offsets_mask_bias", |
| "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": [0.25, 0.5, -0.75, 1.0] } |
| }, |
| "offset": { |
| "dtype": "float32", |
| "shape": [1, 8, 2, 2], |
| "data": { |
| "kind": "values", |
| "values": [0.5, 0.0, 0.0, -0.5, 0.0, 0.5, -0.5, 0.0, 0.0, 0.25, 0.25, 0.0, -0.25, 0.0, 0.0, -0.25, 0.5, 0.5, 0.0, 0.0, 0.0, -0.5, -0.5, 0.0, 0.0, 0.0, 0.5, 0.0, 0.0, 0.5, -0.5, -0.5] |
| } |
| }, |
| "bias": { "dtype": "float32", "shape": [1], "data": { "kind": "values", "values": [0.125] } }, |
| "mask": { |
| "dtype": "float32", |
| "shape": [1, 4, 2, 2], |
| "data": { |
| "kind": "values", |
| "values": [1.0, 0.5, 0.75, 1.0, 0.5, 1.0, 1.0, 0.25, 1.0, 1.0, 0.5, 0.5, 0.25, 0.75, 1.0, 1.0] |
| } |
| } |
| }, |
| "outputs": { "y": { "dtype": "float32", "shape": [1, 1, 2, 2], "tolerance": 0.00001 } } |
| }, |
| { |
| "name": "out_of_bounds_offsets_zero_fill_ort", |
| "provenance": { |
| "source": "onnxruntime/test/providers/cpu/nn/deform_conv_op_test.cc", |
| "test": "DeformConvTest.OutOfBoundsSampling", |
| "notes": "Projection onto a 3x3 input with large positive offsets; it preserves ORT's out-of-bounds sampling-to-zero behavior." |
| }, |
| "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, 1, 1], "data": { "kind": "values", "values": [1.0] } }, |
| "offset": { "dtype": "float32", "shape": [1, 2, 3, 3], "data": { "kind": "constant", "value": 10.0 } } |
| }, |
| "outputs": { "y": { "dtype": "float32", "shape": [1, 1, 3, 3], "tolerance": 0.00001 } } |
| }, |
| { |
| "name": "mask_zeros_preserve_bias", |
| "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, 1, 1], "data": { "kind": "values", "values": [7.0] } }, |
| "offset": { "dtype": "float32", "shape": [1, 2, 2, 2], "data": { "kind": "constant", "value": 0.0 } }, |
| "bias": { "dtype": "float32", "shape": [1], "data": { "kind": "values", "values": [0.5] } }, |
| "mask": { "dtype": "float32", "shape": [1, 1, 2, 2], "data": { "kind": "constant", "value": 0.0 } } |
| }, |
| "outputs": { "y": { "dtype": "float32", "shape": [1, 1, 2, 2], "tolerance": 0.00001 } } |
| }, |
| { |
| "name": "group2_offset_group2_zero_offsets", |
| "attrs": { "group": 2, "offset_group": 2 }, |
| "inputs": { |
| "x": { |
| "dtype": "float32", |
| "shape": [1, 2, 2, 2], |
| "data": { "kind": "values", "values": [1.0, 2.0, 3.0, 4.0, 10.0, 20.0, 30.0, 40.0] } |
| }, |
| "w": { "dtype": "float32", "shape": [2, 1, 1, 1], "data": { "kind": "values", "values": [2.0, -0.5] } }, |
| "offset": { "dtype": "float32", "shape": [1, 4, 2, 2], "data": { "kind": "constant", "value": 0.0 } } |
| }, |
| "outputs": { "y": { "dtype": "float32", "shape": [1, 2, 2, 2], "tolerance": 0.00001 } } |
| }, |
| { |
| "name": "ort_minimal_bilinear_bias_mask", |
| "provenance": { |
| "source": "onnxruntime/test/providers/cpu/nn/deform_conv_op_test.cc", |
| "test": "DeformConvTest.MinimalBilinear" |
| }, |
| "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, 1, 1], "data": { "kind": "values", "values": [1.0] } }, |
| "offset": { |
| "dtype": "float32", |
| "shape": [1, 2, 2, 2], |
| "data": { "kind": "values", "values": [0.5, 0.0, 0.0, 0.0, 0.5, -1.0, 0.0, 0.0] } |
| }, |
| "bias": { "dtype": "float32", "shape": [1], "data": { "kind": "values", "values": [0.0] } }, |
| "mask": { "dtype": "float32", "shape": [1, 1, 2, 2], "data": { "kind": "constant", "value": 1.0 } } |
| }, |
| "outputs": { "y": { "dtype": "float32", "shape": [1, 1, 2, 2], "tolerance": 0.00001 } } |
| }, |
| { |
| "name": "ort_forward_with_mask_and_bias_grouped", |
| "provenance": { |
| "source": "onnxruntime/test/providers/cpu/nn/deform_conv_op_test.cc", |
| "test": "DeformConvTest.ForwardWithMaskAndBias" |
| }, |
| "attrs": { "group": 2, "offset_group": 2 }, |
| "inputs": { |
| "x": { "dtype": "float32", "shape": [2, 4, 3, 3], "data": { "kind": "constant", "value": 0.1 } }, |
| "w": { "dtype": "float32", "shape": [2, 2, 2, 2], "data": { "kind": "constant", "value": 0.1 } }, |
| "offset": { "dtype": "float32", "shape": [2, 16, 2, 2], "data": { "kind": "constant", "value": 0.0 } }, |
| "bias": { "dtype": "float32", "shape": [2], "data": { "kind": "values", "values": [0.5, -0.5] } }, |
| "mask": { "dtype": "float32", "shape": [2, 8, 2, 2], "data": { "kind": "constant", "value": 1.0 } } |
| }, |
| "outputs": { "y": { "dtype": "float32", "shape": [2, 2, 2, 2], "tolerance": 0.0001 } } |
| }, |
| { |
| "name": "non_square_kernel_zero_offset_ort", |
| "provenance": { |
| "source": "onnxruntime/test/providers/cpu/nn/deform_conv_op_test.cc", |
| "test": "DeformConvTest.NonSquareKernel" |
| }, |
| "attrs": { "kernel_shape": [2, 3] }, |
| "inputs": { |
| "x": { "dtype": "float32", "shape": [1, 1, 4, 5], "data": { "kind": "constant", "value": 0.1 } }, |
| "w": { "dtype": "float32", "shape": [1, 1, 2, 3], "data": { "kind": "constant", "value": 0.1 } }, |
| "offset": { "dtype": "float32", "shape": [1, 12, 3, 3], "data": { "kind": "constant", "value": 0.0 } }, |
| "bias": { "dtype": "float32", "shape": [1], "data": { "kind": "values", "values": [0.0] } }, |
| "mask": { "dtype": "float32", "shape": [1, 6, 3, 3], "data": { "kind": "constant", "value": 1.0 } } |
| }, |
| "outputs": { "y": { "dtype": "float32", "shape": [1, 1, 3, 3], "tolerance": 0.00001 } } |
| }, |
| { |
| "name": "asymmetric_stride_zero_offset_ort", |
| "provenance": { |
| "source": "onnxruntime/test/providers/cpu/nn/deform_conv_op_test.cc", |
| "test": "DeformConvTest.AsymmetricStride" |
| }, |
| "attrs": { "strides": [2, 1] }, |
| "inputs": { |
| "x": { "dtype": "float32", "shape": [1, 1, 5, 4], "data": { "kind": "constant", "value": 0.1 } }, |
| "w": { "dtype": "float32", "shape": [1, 1, 2, 2], "data": { "kind": "constant", "value": 0.1 } }, |
| "offset": { "dtype": "float32", "shape": [1, 8, 2, 3], "data": { "kind": "constant", "value": 0.0 } }, |
| "bias": { "dtype": "float32", "shape": [1], "data": { "kind": "values", "values": [0.0] } }, |
| "mask": { "dtype": "float32", "shape": [1, 4, 2, 3], "data": { "kind": "constant", "value": 1.0 } } |
| }, |
| "outputs": { "y": { "dtype": "float32", "shape": [1, 1, 2, 3], "tolerance": 0.00001 } } |
| }, |
| { |
| "name": "dilation_gt1_zero_offset_ort", |
| "provenance": { |
| "source": "onnxruntime/test/providers/cpu/nn/deform_conv_op_test.cc", |
| "test": "DeformConvTest.DilationGt1" |
| }, |
| "attrs": { "dilations": [2, 2] }, |
| "inputs": { |
| "x": { "dtype": "float32", "shape": [1, 1, 5, 5], "data": { "kind": "constant", "value": 0.1 } }, |
| "w": { "dtype": "float32", "shape": [1, 1, 2, 2], "data": { "kind": "constant", "value": 0.1 } }, |
| "offset": { "dtype": "float32", "shape": [1, 8, 3, 3], "data": { "kind": "constant", "value": 0.0 } }, |
| "bias": { "dtype": "float32", "shape": [1], "data": { "kind": "values", "values": [0.0] } }, |
| "mask": { "dtype": "float32", "shape": [1, 4, 3, 3], "data": { "kind": "constant", "value": 1.0 } } |
| }, |
| "outputs": { "y": { "dtype": "float32", "shape": [1, 1, 3, 3], "tolerance": 0.00001 } } |
| }, |
| { |
| "name": "decoupled_groups_offset_group1_ort", |
| "provenance": { |
| "source": "onnxruntime/test/providers/cpu/nn/deform_conv_op_test.cc", |
| "test": "DeformConvTest.DecoupledGroups" |
| }, |
| "attrs": { "group": 2, "offset_group": 1 }, |
| "inputs": { |
| "x": { "dtype": "float32", "shape": [1, 4, 3, 3], "data": { "kind": "constant", "value": 0.1 } }, |
| "w": { "dtype": "float32", "shape": [2, 2, 2, 2], "data": { "kind": "constant", "value": 0.1 } }, |
| "offset": { "dtype": "float32", "shape": [1, 8, 2, 2], "data": { "kind": "constant", "value": 0.0 } }, |
| "bias": { "dtype": "float32", "shape": [2], "data": { "kind": "values", "values": [0.0, 0.0] } }, |
| "mask": { "dtype": "float32", "shape": [1, 4, 2, 2], "data": { "kind": "constant", "value": 1.0 } } |
| }, |
| "outputs": { "y": { "dtype": "float32", "shape": [1, 2, 2, 2], "tolerance": 0.00001 } } |
| }, |
| { |
| "name": "offset_at_pixel_centers_ort", |
| "provenance": { |
| "source": "onnxruntime/test/providers/cpu/nn/deform_conv_op_test.cc", |
| "test": "DeformConvTest.OffsetAtPixelCenters" |
| }, |
| "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": [0.25, 0.25, 0.25, 0.25] } |
| }, |
| "offset": { "dtype": "float32", "shape": [1, 8, 1, 1], "data": { "kind": "constant", "value": 0.5 } }, |
| "bias": { "dtype": "float32", "shape": [1], "data": { "kind": "values", "values": [0.0] } }, |
| "mask": { "dtype": "float32", "shape": [1, 4, 1, 1], "data": { "kind": "constant", "value": 1.0 } } |
| }, |
| "outputs": { "y": { "dtype": "float32", "shape": [1, 1, 1, 1], "tolerance": 0.00001 } } |
| }, |
| { |
| "name": "tiny_offset_near_zero_ort", |
| "provenance": { |
| "source": "onnxruntime/test/providers/cpu/nn/deform_conv_op_test.cc", |
| "test": "DeformConvTest.TinyOffset" |
| }, |
| "inputs": { |
| "x": { "dtype": "float32", "shape": [1, 1, 1, 1], "data": { "kind": "values", "values": [1.0] } }, |
| "w": { "dtype": "float32", "shape": [1, 1, 1, 1], "data": { "kind": "values", "values": [1.0] } }, |
| "offset": { |
| "dtype": "float32", |
| "shape": [1, 2, 1, 1], |
| "data": { "kind": "values", "values": [0.000001, 0.000001] } |
| }, |
| "bias": { "dtype": "float32", "shape": [1], "data": { "kind": "values", "values": [0.0] } }, |
| "mask": { "dtype": "float32", "shape": [1, 1, 1, 1], "data": { "kind": "values", "values": [1.0] } } |
| }, |
| "outputs": { "y": { "dtype": "float32", "shape": [1, 1, 1, 1], "tolerance": 0.0001 } } |
| }, |
| { |
| "name": "ort_opset22_fractional_offset", |
| "provenance": { |
| "source": "onnxruntime/test/providers/cpu/nn/deform_conv_op_test.cc", |
| "test": "DeformConvTest.Opset22" |
| }, |
| "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, 1, 1], "data": { "kind": "values", "values": [1.0] } }, |
| "offset": { |
| "dtype": "float32", |
| "shape": [1, 2, 2, 2], |
| "data": { "kind": "values", "values": [0.5, 0.0, 0.0, 0.0, 0.5, 0.0, 0.0, 0.0] } |
| }, |
| "bias": { "dtype": "float32", "shape": [1], "data": { "kind": "values", "values": [0.0] } }, |
| "mask": { "dtype": "float32", "shape": [1, 1, 2, 2], "data": { "kind": "constant", "value": 1.0 } } |
| }, |
| "outputs": { "y": { "dtype": "float32", "shape": [1, 1, 2, 2], "tolerance": 0.00001 } } |
| }, |
| { |
| "name": "ort_groups_with_nonzero_offset", |
| "provenance": { |
| "source": "onnxruntime/test/providers/cpu/nn/deform_conv_expected_gen.py", |
| "test": "DeformConvTest.GroupsWithNonZeroOffset", |
| "notes": "Expected values generated with torchvision.ops.deform_conv2d and materialized in deform_conv_op_test.cc." |
| }, |
| "attrs": { "group": 2, "offset_group": 2 }, |
| "inputs": { |
| "x": { |
| "dtype": "float32", |
| "shape": [1, 4, 3, 3], |
| "data": { |
| "kind": "values", |
| "values": [0.296112, 0.516562, 0.251671, 0.688557, 0.073972, 0.866522, 0.13658, 0.102479, 0.184056, 0.726447, 0.315254, 0.687107, 0.075635, 0.196638, 0.316412, 0.40174, 0.118568, 0.827395, 0.382084, 0.660494, 0.853572, 0.593153, 0.636725, 0.982629, 0.274495, 0.658376, 0.277542, 0.857325, 0.899328, 0.039014, 0.926823, 0.738757, 0.717884, 0.705837, 0.91565, 0.43398] |
| } |
| }, |
| "w": { |
| "dtype": "float32", |
| "shape": [2, 2, 2, 2], |
| "data": { |
| "kind": "values", |
| "values": [-1.182045, -0.287745, -0.604301, 0.600237, -1.420473, -0.223828, 0.430555, -0.898857, -0.017858, 0.426403, -0.765741, -0.054514, -0.732053, 1.234742, 1.186221, -0.220099] |
| } |
| }, |
| "offset": { |
| "dtype": "float32", |
| "shape": [1, 16, 2, 2], |
| "data": { |
| "kind": "values", |
| "values": [-0.388483, -0.934346, -0.499144, -1.086653, 0.962421, 0.249208, -0.484502, -2.092915, 0.098284, -0.093507, 0.266215, -0.585035, -0.343038, -0.682148, -0.988689, -1.70183, -1.22029, 1.313853, 1.0533, 0.138805, -0.204445, -2.268529, -0.913328, -0.420363, -0.659559, -0.797928, 0.183831, 0.229347, 0.617743, -0.287578, 0.821824, 0.151178, -0.044382, 1.623557, -2.322871, 1.087831, -0.063545, -0.448641, -1.27847, -1.144004, -0.15264, 0.116741, 0.44026, -1.446546, -0.558082, -0.051696, -0.908273, 0.350683, -0.394809, 0.489227, -0.216815, -1.747165, 1.722842, 0.773806, 0.40463, -1.646126, -0.595084, -0.711218, 0.622965, -1.372881, -0.128065, -1.283835, -0.29012, 1.276741] |
| } |
| }, |
| "bias": { "dtype": "float32", "shape": [2], "data": { "kind": "values", "values": [0.983955, 0.204512] } }, |
| "mask": { |
| "dtype": "float32", |
| "shape": [1, 8, 2, 2], |
| "data": { |
| "kind": "values", |
| "values": [-0.031861, -0.478956, 0.766809, 0.027468, 0.04747, -0.923866, -1.060737, -2.324446, -2.062818, 0.006375, -0.989555, 0.701609, -0.982238, 0.277031, 0.645495, -0.895681, 0.492753, -0.014078, -0.274663, -0.764091, -0.587157, 1.195165, -1.209575, -0.556008, -0.077105, 1.277377, -1.459629, -2.159528, -0.706709, -0.922245, 3.895372, -0.602697] |
| } |
| } |
| }, |
| "outputs": { "y": { "dtype": "float32", "shape": [1, 2, 2, 2], "tolerance": 0.0001 } } |
| }, |
| { |
| "name": "ort_large_batch_bias_mask", |
| "provenance": { |
| "source": "onnxruntime/test/providers/cpu/nn/deform_conv_op_test.cc", |
| "test": "DeformConvTest.LargeBatchSize" |
| }, |
| "inputs": { |
| "x": { "dtype": "float32", "shape": [64, 1, 3, 3], "data": { "kind": "constant", "value": 0.1 } }, |
| "w": { "dtype": "float32", "shape": [1, 1, 2, 2], "data": { "kind": "constant", "value": 0.1 } }, |
| "offset": { "dtype": "float32", "shape": [64, 8, 2, 2], "data": { "kind": "constant", "value": 0.0 } }, |
| "bias": { "dtype": "float32", "shape": [1], "data": { "kind": "values", "values": [0.0] } }, |
| "mask": { "dtype": "float32", "shape": [64, 4, 2, 2], "data": { "kind": "constant", "value": 1.0 } } |
| }, |
| "outputs": { "y": { "dtype": "float32", "shape": [64, 1, 2, 2], "tolerance": 0.00001 } } |
| }, |
| { |
| "name": "ort_mask_with_zeros", |
| "provenance": { |
| "source": "onnxruntime/test/providers/cpu/nn/deform_conv_op_test.cc", |
| "test": "DeformConvTest.MaskWithZeros" |
| }, |
| "inputs": { |
| "x": { "dtype": "float32", "shape": [1, 1, 3, 3], "data": { "kind": "constant", "value": 0.1 } }, |
| "w": { "dtype": "float32", "shape": [1, 1, 2, 2], "data": { "kind": "constant", "value": 0.1 } }, |
| "offset": { "dtype": "float32", "shape": [1, 8, 2, 2], "data": { "kind": "constant", "value": 0.0 } }, |
| "bias": { "dtype": "float32", "shape": [1], "data": { "kind": "values", "values": [0.0] } }, |
| "mask": { "dtype": "float32", "shape": [1, 4, 2, 2], "data": { "kind": "constant", "value": 0.0 } } |
| }, |
| "outputs": { "y": { "dtype": "float32", "shape": [1, 1, 2, 2], "tolerance": 0.00001 } } |
| }, |
| { |
| "name": "kernel7x7_uniform_ort", |
| "provenance": { |
| "source": "onnxruntime/test/providers/cpu/nn/deform_conv_op_test.cc", |
| "test": "DeformConvTest.Kernel7x7" |
| }, |
| "inputs": { |
| "x": { "dtype": "float32", "shape": [1, 1, 9, 9], "data": { "kind": "constant", "value": 0.1 } }, |
| "w": { "dtype": "float32", "shape": [1, 1, 7, 7], "data": { "kind": "constant", "value": 0.1 } }, |
| "offset": { "dtype": "float32", "shape": [1, 98, 3, 3], "data": { "kind": "constant", "value": 0.0 } }, |
| "bias": { "dtype": "float32", "shape": [1], "data": { "kind": "values", "values": [0.0] } }, |
| "mask": { "dtype": "float32", "shape": [1, 49, 3, 3], "data": { "kind": "constant", "value": 1.0 } } |
| }, |
| "outputs": { "y": { "dtype": "float32", "shape": [1, 1, 3, 3], "tolerance": 0.00001 } } |
| }, |
| { |
| "name": "group1_offset_group2_zero_offset_ort", |
| "provenance": { |
| "source": "onnxruntime/test/providers/cpu/nn/deform_conv_op_test.cc", |
| "test": "DeformConvTest.Group1OffsetGroup2" |
| }, |
| "attrs": { "group": 1, "offset_group": 2 }, |
| "inputs": { |
| "x": { "dtype": "float32", "shape": [1, 4, 3, 3], "data": { "kind": "constant", "value": 0.1 } }, |
| "w": { "dtype": "float32", "shape": [2, 4, 2, 2], "data": { "kind": "constant", "value": 0.1 } }, |
| "offset": { "dtype": "float32", "shape": [1, 16, 2, 2], "data": { "kind": "constant", "value": 0.0 } }, |
| "bias": { "dtype": "float32", "shape": [2], "data": { "kind": "values", "values": [0.0, 0.0] } }, |
| "mask": { "dtype": "float32", "shape": [1, 8, 2, 2], "data": { "kind": "constant", "value": 1.0 } } |
| }, |
| "outputs": { "y": { "dtype": "float32", "shape": [1, 2, 2, 2], "tolerance": 0.00001 } } |
| }, |
| { |
| "name": "ort_optional_inputs_omitted_fractional_offsets", |
| "provenance": { |
| "source": "onnxruntime/test/providers/cpu/nn/deform_conv_op_test.cc", |
| "test": "DeformConvTest.OptionalBiasOmitted", |
| "notes": "Adapted to omit both optional bias and unity mask; ONNX defaults make this equivalent to ORT's zero-bias, unit-mask minimal case." |
| }, |
| "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, 1, 1], "data": { "kind": "values", "values": [1.0] } }, |
| "offset": { |
| "dtype": "float32", |
| "shape": [1, 2, 2, 2], |
| "data": { "kind": "values", "values": [0.5, 0.0, 0.0, 0.0, 0.5, -1.0, 0.0, 0.0] } |
| } |
| }, |
| "outputs": { "y": { "dtype": "float32", "shape": [1, 1, 2, 2], "tolerance": 0.00001 } } |
| }, |
| { |
| "name": "ort_mask_present_bias_omitted", |
| "provenance": { |
| "source": "onnxruntime/test/providers/cpu/nn/deform_conv_op_test.cc", |
| "test": "DeformConvTest.OptionalBiasOmitted", |
| "notes": "Exact optional-input ordering case: B is omitted while mask is present, so the ONNX node must keep an empty B slot." |
| }, |
| "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, 1, 1], "data": { "kind": "values", "values": [1.0] } }, |
| "offset": { |
| "dtype": "float32", |
| "shape": [1, 2, 2, 2], |
| "data": { "kind": "values", "values": [0.5, 0.0, 0.0, 0.0, 0.5, -1.0, 0.0, 0.0] } |
| }, |
| "mask": { "dtype": "float32", "shape": [1, 1, 2, 2], "data": { "kind": "constant", "value": 1.0 } } |
| }, |
| "outputs": { |
| "y": { |
| "dtype": "float32", |
| "shape": [1, 1, 2, 2], |
| "tolerance": 0.00001, |
| "data": { "kind": "values", "values": [2.5, 1.0, 3.0, 4.0] } |
| } |
| } |
| }, |
| { |
| "name": "ort_bias_present_mask_omitted", |
| "provenance": { |
| "source": "onnxruntime/test/providers/cpu/nn/deform_conv_op_test.cc", |
| "test": "DeformConvTest.ForwardNoMask", |
| "notes": "Covers the valid ONNX form where B is present but mask is omitted; mask defaults to one." |
| }, |
| "inputs": { |
| "x": { "dtype": "float32", "shape": [1, 2, 3, 3], "data": { "kind": "constant", "value": 0.1 } }, |
| "w": { "dtype": "float32", "shape": [2, 2, 2, 2], "data": { "kind": "constant", "value": 0.1 } }, |
| "offset": { "dtype": "float32", "shape": [1, 8, 2, 2], "data": { "kind": "constant", "value": 0.0 } }, |
| "bias": { "dtype": "float32", "shape": [2], "data": { "kind": "values", "values": [0.0, 0.0] } } |
| }, |
| "outputs": { |
| "y": { |
| "dtype": "float32", |
| "shape": [1, 2, 2, 2], |
| "tolerance": 0.0001, |
| "data": { "kind": "values", "values": [0.08, 0.08, 0.08, 0.08, 0.08, 0.08, 0.08, 0.08] } |
| } |
| } |
| }, |
| { |
| "name": "ort_empty_batch_no_bias_no_mask", |
| "provenance": { |
| "source": "onnxruntime/test/providers/cpu/nn/deform_conv_op_test.cc", |
| "test": "DeformConvTest.EmptyBatch", |
| "notes": "Adapted to omit optional zero bias and unity mask; output shape with N=0 is unchanged." |
| }, |
| "inputs": { |
| "x": { "dtype": "float32", "shape": [0, 2, 3, 3], "data": { "kind": "values", "values": [] } }, |
| "w": { "dtype": "float32", "shape": [2, 2, 2, 2], "data": { "kind": "constant", "value": 0.1 } }, |
| "offset": { "dtype": "float32", "shape": [0, 8, 2, 2], "data": { "kind": "values", "values": [] } } |
| }, |
| "outputs": { "y": { "dtype": "float32", "shape": [0, 2, 2, 2], "tolerance": 0.00001 } } |
| }, |
| { |
| "name": "ort_output_pixels_tail_no_bias_no_mask", |
| "provenance": { |
| "source": "onnxruntime/test/providers/cpu/nn/deform_conv_op_test.cc", |
| "test": "DeformConvTest.OutputPixelsNotMultipleOf8_AoSoATail", |
| "notes": "Adapted to omit optional zero bias and unity mask." |
| }, |
| "inputs": { |
| "x": { "dtype": "float32", "shape": [1, 1, 3, 3], "data": { "kind": "constant", "value": 0.1 } }, |
| "w": { "dtype": "float32", "shape": [1, 1, 1, 1], "data": { "kind": "constant", "value": 0.1 } }, |
| "offset": { "dtype": "float32", "shape": [1, 2, 3, 3], "data": { "kind": "constant", "value": 0.0 } } |
| }, |
| "outputs": { "y": { "dtype": "float32", "shape": [1, 1, 3, 3], "tolerance": 0.00001 } } |
| }, |
| { |
| "name": "ort_prime_batch_seven_no_bias_no_mask", |
| "provenance": { |
| "source": "onnxruntime/test/providers/cpu/nn/deform_conv_op_test.cc", |
| "test": "DeformConvTest.PrimeBatchSizeSeven", |
| "notes": "Adapted to omit optional zero bias and unity mask." |
| }, |
| "inputs": { |
| "x": { "dtype": "float32", "shape": [7, 1, 3, 3], "data": { "kind": "constant", "value": 0.1 } }, |
| "w": { "dtype": "float32", "shape": [1, 1, 2, 2], "data": { "kind": "constant", "value": 0.1 } }, |
| "offset": { "dtype": "float32", "shape": [7, 8, 2, 2], "data": { "kind": "constant", "value": 0.0 } } |
| }, |
| "outputs": { "y": { "dtype": "float32", "shape": [7, 1, 2, 2], "tolerance": 0.00001 } } |
| }, |
| { |
| "name": "ort_extreme_aspect_ratio_no_bias_no_mask", |
| "provenance": { |
| "source": "onnxruntime/test/providers/cpu/nn/deform_conv_op_test.cc", |
| "test": "DeformConvTest.ExtremeAspectRatio", |
| "notes": "Adapted to omit optional zero bias and unity mask." |
| }, |
| "inputs": { |
| "x": { "dtype": "float32", "shape": [1, 1, 1, 100], "data": { "kind": "constant", "value": 0.1 } }, |
| "w": { "dtype": "float32", "shape": [1, 1, 1, 3], "data": { "kind": "constant", "value": 0.1 } }, |
| "offset": { "dtype": "float32", "shape": [1, 6, 1, 98], "data": { "kind": "constant", "value": 0.0 } } |
| }, |
| "outputs": { "y": { "dtype": "float32", "shape": [1, 1, 1, 98], "tolerance": 0.00001 } } |
| }, |
| { |
| "name": "ort_chunk_tail_partial_grouped_identity_no_bias_no_mask", |
| "provenance": { |
| "source": "onnxruntime/test/providers/cpu/nn/deform_conv_op_test.cc", |
| "test": "DeformConvTest.ChunkTailPartialWithGroups" |
| }, |
| "attrs": { "group": 2, "offset_group": 1 }, |
| "inputs": { |
| "x": { |
| "dtype": "float32", |
| "shape": [33, 2, 1, 1], |
| "data": { |
| "kind": "values", |
| "values": [1.0, 2000.0, 2.0, 2001.0, 3.0, 2002.0, 4.0, 2003.0, 5.0, 2004.0, 6.0, 2005.0, 7.0, 2006.0, 8.0, 2007.0, 9.0, 2008.0, 10.0, 2009.0, 11.0, 2010.0, 12.0, 2011.0, 13.0, 2012.0, 14.0, 2013.0, 15.0, 2014.0, 16.0, 2015.0, 17.0, 2016.0, 18.0, 2017.0, 19.0, 2018.0, 20.0, 2019.0, 21.0, 2020.0, 22.0, 2021.0, 23.0, 2022.0, 24.0, 2023.0, 25.0, 2024.0, 26.0, 2025.0, 27.0, 2026.0, 28.0, 2027.0, 29.0, 2028.0, 30.0, 2029.0, 31.0, 2030.0, 32.0, 2031.0, 33.0, 2032.0] |
| } |
| }, |
| "w": { "dtype": "float32", "shape": [2, 1, 1, 1], "data": { "kind": "values", "values": [1.0, 1.0] } }, |
| "offset": { "dtype": "float32", "shape": [33, 2, 1, 1], "data": { "kind": "constant", "value": 0.0 } } |
| }, |
| "outputs": { "y": { "dtype": "float32", "shape": [33, 2, 1, 1], "tolerance": 0.00001 } } |
| }, |
| { |
| "name": "onnx_backend_basic_deform_conv_without_padding", |
| "provenance": { |
| "source": "cmake/external/onnx/onnx/backend/test/data/node/test_basic_deform_conv_without_padding" |
| }, |
| "attrs": {}, |
| "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, 1, 2, 2], "data": { "kind": "values", "values": [1.0, 1.0, 1.0, 1.0] } }, |
| "offset": { |
| "dtype": "float32", |
| "shape": [1, 8, 2, 2], |
| "data": { |
| "kind": "values", |
| "values": { "$ref": "#/fixtureArrays/onnx_backend_basic_deform_conv_without_padding_input_offset" } |
| } |
| } |
| }, |
| "outputs": { "y": { "dtype": "float32", "shape": [1, 1, 2, 2], "tolerance": 0.0001 } } |
| }, |
| { |
| "name": "onnx_backend_basic_deform_conv_with_padding", |
| "provenance": { "source": "cmake/external/onnx/onnx/backend/test/data/node/test_basic_deform_conv_with_padding" }, |
| "attrs": { "pads": [1, 1, 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, 1, 2, 2], "data": { "kind": "values", "values": [1.0, 1.0, 1.0, 1.0] } }, |
| "offset": { |
| "dtype": "float32", |
| "shape": [1, 8, 4, 4], |
| "data": { |
| "kind": "values", |
| "values": [0.5, 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.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, 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.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, 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.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, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.10000000149011612, 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.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, 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.0, 0.0, 0.0, 0.0] |
| } |
| } |
| }, |
| "outputs": { "y": { "dtype": "float32", "shape": [1, 1, 4, 4], "tolerance": 0.0001 } } |
| }, |
| { |
| "name": "onnx_backend_deform_conv_with_mask_bias", |
| "provenance": { "source": "cmake/external/onnx/onnx/backend/test/data/node/test_deform_conv_with_mask_bias" }, |
| "attrs": {}, |
| "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, 1, 2, 2], "data": { "kind": "values", "values": [1.0, 1.0, 1.0, 1.0] } }, |
| "offset": { |
| "dtype": "float32", |
| "shape": [1, 8, 2, 2], |
| "data": { |
| "kind": "values", |
| "values": { "$ref": "#/fixtureArrays/onnx_backend_basic_deform_conv_without_padding_input_offset" } |
| } |
| }, |
| "bias": { "dtype": "float32", "shape": [1], "data": { "kind": "values", "values": [1.0] } }, |
| "mask": { |
| "dtype": "float32", |
| "shape": [1, 4, 2, 2], |
| "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, 0.20000000298023224, 1.0, 1.0, 1.0, 1.0] |
| } |
| } |
| }, |
| "outputs": { "y": { "dtype": "float32", "shape": [1, 1, 2, 2], "tolerance": 0.0001 } } |
| }, |
| { |
| "name": "onnx_backend_deform_conv_with_multiple_offset_groups", |
| "provenance": { |
| "source": "cmake/external/onnx/onnx/backend/test/data/node/test_deform_conv_with_multiple_offset_groups" |
| }, |
| "attrs": { "offset_group": 2 }, |
| "inputs": { |
| "x": { |
| "dtype": "float32", |
| "shape": [1, 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, 8.0, 7.0, 6.0, 5.0, 4.0, 3.0, 2.0, 1.0, 0.0] |
| } |
| }, |
| "w": { |
| "dtype": "float32", |
| "shape": [1, 2, 2, 2], |
| "data": { "kind": "values", "values": [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0] } |
| }, |
| "offset": { |
| "dtype": "float32", |
| "shape": [1, 16, 2, 2], |
| "data": { |
| "kind": "values", |
| "values": [0.5, 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.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, 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.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, 0.0, 0.0, -0.10000000149011612, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0] |
| } |
| } |
| }, |
| "outputs": { "y": { "dtype": "float32", "shape": [1, 1, 2, 2], "tolerance": 0.0001 } } |
| }, |
| { |
| "name": "stacked_padH_and_padTop_no_bias_no_mask", |
| "attrs": { "pads": [2, 0, 1, 0] }, |
| "inputs": { |
| "x": { |
| "dtype": "float32", |
| "shape": [1, 1, 3, 3], |
| "data": { "kind": "fillFloat32", "sinStep": 0.5, "cosStep": 0.7, "scale": 1.0 } |
| }, |
| "w": { |
| "dtype": "float32", |
| "shape": [1, 1, 2, 2], |
| "data": { "kind": "fillFloat32", "sinStep": 0.3, "cosStep": 0.9, "scale": 0.5 } |
| }, |
| "offset": { "dtype": "float32", "shape": [1, 8, 5, 2], "data": { "kind": "constant", "value": 0.0 } } |
| }, |
| "outputs": { "y": { "dtype": "float32", "shape": [1, 1, 5, 2], "tolerance": 0.00001 } } |
| }, |
| { |
| "name": "bilinear_exact_lower_oob_boundary", |
| "inputs": { |
| "x": { "dtype": "float32", "shape": [1, 1, 1, 1], "data": { "kind": "values", "values": [5.0] } }, |
| "w": { "dtype": "float32", "shape": [1, 1, 1, 1], "data": { "kind": "values", "values": [1.0] } }, |
| "offset": { "dtype": "float32", "shape": [1, 2, 1, 1], "data": { "kind": "values", "values": [-1.0, 0.0] } } |
| }, |
| "outputs": { |
| "y": { |
| "dtype": "float32", |
| "shape": [1, 1, 1, 1], |
| "tolerance": 0, |
| "data": { "kind": "values", "values": [0.0] } |
| } |
| } |
| }, |
| { |
| "name": "bilinear_exact_upper_oob_boundary", |
| "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, 1, 1], "data": { "kind": "values", "values": [1.0] } }, |
| "offset": { |
| "dtype": "float32", |
| "shape": [1, 2, 2, 2], |
| "data": { "kind": "values", "values": [2.0, 2.0, 2.0, 2.0, 0.0, 0.0, 0.0, 0.0] } |
| } |
| }, |
| "outputs": { |
| "y": { |
| "dtype": "float32", |
| "shape": [1, 1, 2, 2], |
| "tolerance": 0, |
| "data": { "kind": "values", "values": [0.0, 0.0, 0.0, 0.0] } |
| } |
| } |
| }, |
| { |
| "name": "group_aligned_offset_hoist_plain_oc4", |
| "attrs": { "group": 2, "offset_group": 2, "pads": [1, 1, 1, 1] }, |
| "inputs": { |
| "x": { "dtype": "float32", "shape": [1, 8, 8, 8], "data": { "kind": "linspace", "start": -1.0, "end": 1.0 } }, |
| "w": { |
| "dtype": "float32", |
| "shape": [8, 4, 3, 3], |
| "data": { "kind": "cycle", "values": [0.1, -0.05, 0.025, -0.0125] } |
| }, |
| "offset": { |
| "dtype": "float32", |
| "shape": [1, 36, 8, 8], |
| "data": { "kind": "cycle", "values": [0.125, -0.25, 0.0, 0.25] } |
| } |
| }, |
| "outputs": { "y": { "dtype": "float32", "shape": [1, 8, 8, 8], "tolerance": 0.00001 } } |
| } |
| ] |
| } |
|
|