| { |
| "op": "ai.onnx.ConvInteger", |
| "fixtureArrays": { |
| "ort_stride_padding_input_x": [10, 11, 12, 13, 14, 15, 16, 20, 21, 22, 23, 24, 25, 26, 30, 31, 32, 33, 34, 35, 36, 40, 41, 42, 43, 44, 45, 46, 50, 51, 52, 53, 54, 55, 56, 60, 61, 62, 63, 64, 65, 66, 70, 71, 72, 73, 74, 75, 76], |
| "ort_with_group_2d_u8u8_input_x": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28], |
| "ort_padded_3d_u8u8_output_y": [1, 3, 5, 3, 5, 12, 16, 9, 11, 24, 28, 15, 7, 15, 17, 9, 11, 24, 28, 15, 28, 60, 68, 36, 40, 84, 92, 48, 23, 48, 52, 27, 29, 60, 64, 33, 64, 132, 140, 72, 76, 156, 164, 84, 41, 84, 88, 45, 19, 39, 41, 21, 41, 84, 88, 45, 47, 96, 100, 51, 25, 51, 53, 27], |
| "dp4a_pointwise_u8s8_c8_batched_input_x": [0, 255, 128, 127, 56, 77, 3, 100, 200, 42, 5, 19, 64, 88, 33, 7, 125, 90, 211, 16], |
| "unaligned_kernel_small_numel_scalar_path_input_w": [11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30], |
| "same_upper_stride2_autopad_input_x": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16] |
| }, |
| "cases": [ |
| { |
| "name": "dispatch_cliff_nchw2d_scalar_1x1", |
| "attrs": { "kernel_shape": [1, 1], "strides": [1, 1] }, |
| "inputs": { |
| "x": { "dtype": "uint8", "shape": [1, 1, 64, 64], "data": { "kind": "cycle", "values": [1, 2, 3, 4, 5] } }, |
| "w": { "dtype": "uint8", "shape": [4096, 1, 1, 1], "data": { "kind": "cycle", "values": [2, 1, 3] } }, |
| "x_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "constant", "value": 0 } }, |
| "w_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "constant", "value": 0 } } |
| }, |
| "outputs": { "y": { "dtype": "int32", "shape": [1, 4096, 64, 64], "tolerance": 0 } } |
| }, |
| { |
| "name": "uint8_padding", |
| "attrs": { "strides": [1, 1], "pads": [1, 1, 1, 1] }, |
| "inputs": { |
| "x": { |
| "dtype": "uint8", |
| "shape": [1, 1, 3, 3], |
| "data": { "kind": "values", "values": [128, 129, 130, 131, 132, 133, 134, 135, 136] } |
| }, |
| "w": { "dtype": "uint8", "shape": [1, 1, 2, 2], "data": { "kind": "values", "values": [127, 128, 129, 130] } }, |
| "x_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [128] } }, |
| "w_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [128] } } |
| }, |
| "outputs": { "y": { "dtype": "int32", "shape": [1, 1, 4, 4] } } |
| }, |
| { |
| "name": "int8_grouped", |
| "attrs": { "group": 2 }, |
| "inputs": { |
| "x": { |
| "dtype": "int8", |
| "shape": [1, 2, 3, 3], |
| "data": { "kind": "values", "values": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18] } |
| }, |
| "w": { |
| "dtype": "int8", |
| "shape": [2, 1, 2, 2], |
| "data": { "kind": "values", "values": [1, 0, 0, 1, -1, 1, 1, -1] } |
| }, |
| "x_zero_point": { "dtype": "int8", "shape": [1], "data": { "kind": "values", "values": [0] } }, |
| "w_zero_point": { "dtype": "int8", "shape": [1], "data": { "kind": "values", "values": [0] } } |
| }, |
| "outputs": { "y": { "dtype": "int32", "shape": [1, 2, 2, 2] } } |
| }, |
| { |
| "name": "ort_without_padding_u8u8", |
| "provenance": { |
| "source": "onnxruntime/test/providers/cpu/nn/conv_integer_test.cc", |
| "test": "ConvIntegerTest.WithoutPadding_2D_u8u8" |
| }, |
| "inputs": { |
| "x": { |
| "dtype": "uint8", |
| "shape": [1, 1, 3, 3], |
| "data": { "kind": "values", "values": [2, 3, 4, 5, 6, 7, 8, 9, 10] } |
| }, |
| "w": { "dtype": "uint8", "shape": [1, 1, 2, 2], "data": { "kind": "values", "values": [2, 2, 2, 2] } }, |
| "x_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [1] } }, |
| "w_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [1] } } |
| }, |
| "outputs": { "y": { "dtype": "int32", "shape": [1, 1, 2, 2], "tolerance": 0 } }, |
| "attrs": {} |
| }, |
| { |
| "name": "ort_with_padding_u8u8", |
| "provenance": { |
| "source": "onnxruntime/test/providers/cpu/nn/conv_integer_test.cc", |
| "test": "ConvIntegerTest.WithPadding_2D_u8u8" |
| }, |
| "attrs": { "pads": [1, 1, 1, 1] }, |
| "inputs": { |
| "x": { |
| "dtype": "uint8", |
| "shape": [1, 1, 3, 3], |
| "data": { "kind": "values", "values": [2, 3, 4, 5, 6, 7, 8, 9, 10] } |
| }, |
| "w": { "dtype": "uint8", "shape": [1, 1, 2, 2], "data": { "kind": "values", "values": [2, 2, 2, 2] } }, |
| "x_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [1] } }, |
| "w_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [1] } } |
| }, |
| "outputs": { "y": { "dtype": "int32", "shape": [1, 1, 4, 4], "tolerance": 0 } } |
| }, |
| { |
| "name": "ort_pointwise_u8u8", |
| "provenance": { |
| "source": "onnxruntime/test/providers/cpu/nn/conv_integer_test.cc", |
| "test": "ConvIntegerTest.Pointwise_2D_u8u8" |
| }, |
| "inputs": { |
| "x": { |
| "dtype": "uint8", |
| "shape": [1, 1, 3, 3], |
| "data": { "kind": "values", "values": [2, 3, 4, 5, 6, 7, 8, 9, 10] } |
| }, |
| "w": { "dtype": "uint8", "shape": [1, 1, 1, 1], "data": { "kind": "values", "values": [5] } }, |
| "x_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [1] } }, |
| "w_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [1] } } |
| }, |
| "outputs": { "y": { "dtype": "int32", "shape": [1, 1, 3, 3], "tolerance": 0 } }, |
| "attrs": {} |
| }, |
| { |
| "name": "ort_without_padding_u8s8", |
| "provenance": { |
| "source": "onnxruntime/test/providers/cpu/nn/conv_integer_test.cc", |
| "test": "ConvIntegerTest.WithoutPadding_2D_u8s8" |
| }, |
| "inputs": { |
| "x": { |
| "dtype": "uint8", |
| "shape": [1, 1, 3, 3], |
| "data": { "kind": "values", "values": [2, 3, 4, 5, 6, 7, 8, 9, 10] } |
| }, |
| "w": { "dtype": "int8", "shape": [1, 1, 2, 2], "data": { "kind": "values", "values": [-9, -9, -9, -9] } }, |
| "x_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [1] } }, |
| "w_zero_point": { "dtype": "int8", "shape": [1], "data": { "kind": "values", "values": [-10] } } |
| }, |
| "outputs": { "y": { "dtype": "int32", "shape": [1, 1, 2, 2], "tolerance": 0 } }, |
| "attrs": {} |
| }, |
| { |
| "name": "ort_with_padding_u8s8", |
| "provenance": { |
| "source": "onnxruntime/test/providers/cpu/nn/conv_integer_test.cc", |
| "test": "ConvIntegerTest.WithPadding_2D_u8s8" |
| }, |
| "attrs": { "pads": [1, 1, 1, 1] }, |
| "inputs": { |
| "x": { |
| "dtype": "uint8", |
| "shape": [1, 1, 3, 3], |
| "data": { "kind": "values", "values": [2, 3, 4, 5, 6, 7, 8, 9, 10] } |
| }, |
| "w": { "dtype": "int8", "shape": [1, 1, 2, 2], "data": { "kind": "values", "values": [-9, -9, -9, -9] } }, |
| "x_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [1] } }, |
| "w_zero_point": { "dtype": "int8", "shape": [1], "data": { "kind": "values", "values": [-10] } } |
| }, |
| "outputs": { "y": { "dtype": "int32", "shape": [1, 1, 4, 4], "tolerance": 0 } } |
| }, |
| { |
| "name": "ort_without_padding_s8s8", |
| "provenance": { |
| "source": "onnxruntime/test/providers/cpu/nn/conv_integer_test.cc", |
| "test": "ConvIntegerTest.WithoutPadding_2D_s8s8" |
| }, |
| "inputs": { |
| "x": { |
| "dtype": "int8", |
| "shape": [1, 1, 3, 3], |
| "data": { "kind": "values", "values": [-1, 2, -3, 4, -5, 6, -7, 8, -9] } |
| }, |
| "w": { "dtype": "int8", "shape": [1, 1, 2, 2], "data": { "kind": "values", "values": [1, -2, 3, -4] } }, |
| "x_zero_point": { "dtype": "int8", "shape": [1], "data": { "kind": "values", "values": [0] } }, |
| "w_zero_point": { "dtype": "int8", "shape": [1], "data": { "kind": "values", "values": [0] } } |
| }, |
| "outputs": { "y": { "dtype": "int32", "shape": [1, 1, 2, 2], "tolerance": 0 } }, |
| "attrs": {} |
| }, |
| { |
| "name": "ort_without_padding_s8u8", |
| "provenance": { |
| "source": "onnxruntime/test/providers/cpu/nn/conv_integer_test.cc", |
| "test": "ConvIntegerTest.WithoutPadding_2D_s8u8" |
| }, |
| "inputs": { |
| "x": { |
| "dtype": "int8", |
| "shape": [1, 1, 3, 3], |
| "data": { "kind": "values", "values": [-1, 2, -3, 4, -5, 6, -7, 8, -9] } |
| }, |
| "w": { "dtype": "uint8", "shape": [1, 1, 2, 2], "data": { "kind": "values", "values": [1, 2, 3, 4] } }, |
| "x_zero_point": { "dtype": "int8", "shape": [1], "data": { "kind": "values", "values": [0] } }, |
| "w_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [0] } } |
| }, |
| "outputs": { "y": { "dtype": "int32", "shape": [1, 1, 2, 2], "tolerance": 0 } }, |
| "attrs": {} |
| }, |
| { |
| "name": "ort_with_padding_s8u8", |
| "provenance": { |
| "source": "onnxruntime/test/providers/cpu/nn/conv_integer_test.cc", |
| "test": "ConvIntegerTest.WithPadding_2D_s8u8" |
| }, |
| "attrs": { "pads": [1, 1, 1, 1] }, |
| "inputs": { |
| "x": { |
| "dtype": "int8", |
| "shape": [1, 1, 3, 3], |
| "data": { "kind": "values", "values": [-1, 2, -3, 4, -5, 6, -7, 8, -9] } |
| }, |
| "w": { "dtype": "uint8", "shape": [1, 1, 2, 2], "data": { "kind": "values", "values": [1, 2, 3, 4] } }, |
| "x_zero_point": { "dtype": "int8", "shape": [1], "data": { "kind": "values", "values": [0] } }, |
| "w_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [0] } } |
| }, |
| "outputs": { "y": { "dtype": "int32", "shape": [1, 1, 4, 4], "tolerance": 0 } } |
| }, |
| { |
| "name": "ort_stride2_padding_u8u8", |
| "provenance": { |
| "source": "onnxruntime/test/providers/cpu/nn/conv_integer_test.cc", |
| "test": "ConvIntegerTest.WithStride2_2D_u8u8" |
| }, |
| "attrs": { "strides": [2, 2], "pads": [1, 1, 1, 1] }, |
| "inputs": { |
| "x": { |
| "dtype": "uint8", |
| "shape": [1, 1, 7, 7], |
| "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/ort_stride_padding_input_x" } } |
| }, |
| "w": { |
| "dtype": "uint8", |
| "shape": [1, 1, 3, 3], |
| "data": { "kind": "values", "values": [11, 12, 11, 12, 13, 12, 11, 12, 11] } |
| }, |
| "x_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [10] } }, |
| "w_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [10] } } |
| }, |
| "outputs": { "y": { "dtype": "int32", "shape": [1, 1, 4, 4], "tolerance": 0 } } |
| }, |
| { |
| "name": "ort_with_group_2d_u8u8", |
| "provenance": { |
| "source": "onnxruntime/test/providers/cpu/nn/conv_integer_test.cc", |
| "test": "ConvIntegerTest.WithGroup_2D_u8u8" |
| }, |
| "attrs": { "group": 3, "pads": [1, 1, 1, 1] }, |
| "inputs": { |
| "x": { |
| "dtype": "uint8", |
| "shape": [1, 3, 3, 3], |
| "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/ort_with_group_2d_u8u8_input_x" } } |
| }, |
| "w": { |
| "dtype": "uint8", |
| "shape": [3, 1, 2, 2], |
| "data": { "kind": "values", "values": [11, 12, 12, 11, 13, 14, 14, 13, 15, 16, 16, 15] } |
| }, |
| "x_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [1] } }, |
| "w_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [10] } } |
| }, |
| "outputs": { "y": { "dtype": "int32", "shape": [1, 3, 4, 4], "tolerance": 0 } } |
| }, |
| { |
| "name": "ort_with_group_2d_u8s8", |
| "provenance": { |
| "source": "onnxruntime/test/providers/cpu/nn/conv_integer_test.cc", |
| "test": "ConvIntegerTest.WithGroup_2D_u8s8" |
| }, |
| "attrs": { "group": 3, "pads": [1, 1, 1, 1] }, |
| "inputs": { |
| "x": { |
| "dtype": "uint8", |
| "shape": [1, 3, 3, 3], |
| "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/ort_with_group_2d_u8u8_input_x" } } |
| }, |
| "w": { |
| "dtype": "int8", |
| "shape": [3, 1, 2, 2], |
| "data": { "kind": "values", "values": [-9, -8, -8, -9, -7, -6, -6, -7, -5, -4, -4, -5] } |
| }, |
| "x_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [1] } }, |
| "w_zero_point": { "dtype": "int8", "shape": [1], "data": { "kind": "values", "values": [-10] } } |
| }, |
| "outputs": { "y": { "dtype": "int32", "shape": [1, 3, 4, 4], "tolerance": 0 } } |
| }, |
| { |
| "name": "ort_stride2_padding_u8s8", |
| "provenance": { |
| "source": "onnxruntime/test/providers/cpu/nn/conv_integer_test.cc", |
| "test": "ConvIntegerTest.WithStride2_2D_u8s8" |
| }, |
| "attrs": { "strides": [2, 2], "pads": [1, 1, 1, 1] }, |
| "inputs": { |
| "x": { |
| "dtype": "uint8", |
| "shape": [1, 1, 7, 7], |
| "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/ort_stride_padding_input_x" } } |
| }, |
| "w": { |
| "dtype": "int8", |
| "shape": [1, 1, 3, 3], |
| "data": { "kind": "values", "values": [-9, -8, -9, -8, -7, -8, -9, -8, -9] } |
| }, |
| "x_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [10] } }, |
| "w_zero_point": { "dtype": "int8", "shape": [1], "data": { "kind": "values", "values": [-10] } } |
| }, |
| "outputs": { "y": { "dtype": "int32", "shape": [1, 1, 4, 4], "tolerance": 0 } } |
| }, |
| { |
| "name": "ort_with_padding_2d_s8s8", |
| "provenance": { |
| "source": "onnxruntime/test/providers/cpu/nn/conv_integer_test.cc", |
| "test": "ConvIntegerTest.WithPadding_2D_s8s8" |
| }, |
| "attrs": { "pads": [1, 1, 1, 1] }, |
| "inputs": { |
| "x": { |
| "dtype": "int8", |
| "shape": [1, 1, 3, 3], |
| "data": { "kind": "values", "values": [-1, 2, -3, 4, -5, 6, -7, 8, -9] } |
| }, |
| "w": { "dtype": "int8", "shape": [1, 1, 2, 2], "data": { "kind": "values", "values": [1, -2, 3, -4] } }, |
| "x_zero_point": { "dtype": "int8", "shape": [1], "data": { "kind": "values", "values": [0] } }, |
| "w_zero_point": { "dtype": "int8", "shape": [1], "data": { "kind": "values", "values": [0] } } |
| }, |
| "outputs": { "y": { "dtype": "int32", "shape": [1, 1, 4, 4], "tolerance": 0 } } |
| }, |
| { |
| "name": "ort_with_group_2d_s8s8", |
| "provenance": { |
| "source": "onnxruntime/test/providers/cpu/nn/conv_integer_test.cc", |
| "test": "ConvIntegerTest.WithGroup_2D_s8s8" |
| }, |
| "attrs": { "group": 3, "pads": [1, 1, 1, 1] }, |
| "inputs": { |
| "x": { |
| "dtype": "int8", |
| "shape": [1, 3, 3, 3], |
| "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/ort_with_group_2d_u8u8_input_x" } } |
| }, |
| "w": { |
| "dtype": "int8", |
| "shape": [3, 1, 2, 2], |
| "data": { "kind": "values", "values": [-9, -8, -8, -9, -7, -6, -6, -7, -5, -4, -4, -5] } |
| }, |
| "x_zero_point": { "dtype": "int8", "shape": [1], "data": { "kind": "values", "values": [1] } }, |
| "w_zero_point": { "dtype": "int8", "shape": [1], "data": { "kind": "values", "values": [-10] } } |
| }, |
| "outputs": { "y": { "dtype": "int32", "shape": [1, 3, 4, 4], "tolerance": 0 } } |
| }, |
| { |
| "name": "ort_with_group_2d_s8u8", |
| "provenance": { |
| "source": "onnxruntime/test/providers/cpu/nn/conv_integer_test.cc", |
| "test": "ConvIntegerTest.WithGroup_2D_s8u8" |
| }, |
| "attrs": { "group": 3, "pads": [1, 1, 1, 1] }, |
| "inputs": { |
| "x": { |
| "dtype": "int8", |
| "shape": [1, 3, 3, 3], |
| "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/ort_with_group_2d_u8u8_input_x" } } |
| }, |
| "w": { |
| "dtype": "uint8", |
| "shape": [3, 1, 2, 2], |
| "data": { "kind": "values", "values": [11, 12, 12, 11, 13, 14, 14, 13, 15, 16, 16, 15] } |
| }, |
| "x_zero_point": { "dtype": "int8", "shape": [1], "data": { "kind": "values", "values": [1] } }, |
| "w_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [10] } } |
| }, |
| "outputs": { "y": { "dtype": "int32", "shape": [1, 3, 4, 4], "tolerance": 0 } } |
| }, |
| { |
| "name": "ort_stride2_padding_s8s8", |
| "provenance": { |
| "source": "onnxruntime/test/providers/cpu/nn/conv_integer_test.cc", |
| "test": "ConvIntegerTest.WithStride2_2D_s8s8" |
| }, |
| "attrs": { "strides": [2, 2], "pads": [1, 1, 1, 1] }, |
| "inputs": { |
| "x": { |
| "dtype": "int8", |
| "shape": [1, 1, 7, 7], |
| "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/ort_stride_padding_input_x" } } |
| }, |
| "w": { |
| "dtype": "int8", |
| "shape": [1, 1, 3, 3], |
| "data": { "kind": "values", "values": [-9, -8, -9, -8, -7, -8, -9, -8, -9] } |
| }, |
| "x_zero_point": { "dtype": "int8", "shape": [1], "data": { "kind": "values", "values": [10] } }, |
| "w_zero_point": { "dtype": "int8", "shape": [1], "data": { "kind": "values", "values": [-10] } } |
| }, |
| "outputs": { "y": { "dtype": "int32", "shape": [1, 1, 4, 4], "tolerance": 0 } } |
| }, |
| { |
| "name": "ort_stride2_padding_s8u8", |
| "provenance": { |
| "source": "onnxruntime/test/providers/cpu/nn/conv_integer_test.cc", |
| "test": "ConvIntegerTest.WithStride2_2D_s8u8" |
| }, |
| "attrs": { "strides": [2, 2], "pads": [1, 1, 1, 1] }, |
| "inputs": { |
| "x": { |
| "dtype": "int8", |
| "shape": [1, 1, 7, 7], |
| "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/ort_stride_padding_input_x" } } |
| }, |
| "w": { |
| "dtype": "uint8", |
| "shape": [1, 1, 3, 3], |
| "data": { "kind": "values", "values": [11, 12, 11, 12, 13, 12, 11, 12, 11] } |
| }, |
| "x_zero_point": { "dtype": "int8", "shape": [1], "data": { "kind": "values", "values": [10] } }, |
| "w_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [10] } } |
| }, |
| "outputs": { "y": { "dtype": "int32", "shape": [1, 1, 4, 4], "tolerance": 0 } } |
| }, |
| { |
| "name": "ort_no_x_zero_point", |
| "provenance": { |
| "source": "onnxruntime/test/providers/cpu/nn/conv_integer_test.cc", |
| "test": "ConvIntegerTest.NoXZeroPoint", |
| "notes": "Exercises the independent optional x_zero_point input; its omitted value defaults to zero while w_zero_point remains nonzero." |
| }, |
| "inputs": { |
| "x": { |
| "dtype": "uint8", |
| "shape": [1, 1, 3, 3], |
| "data": { "kind": "values", "values": [2, 3, 4, 5, 6, 7, 8, 9, 10] } |
| }, |
| "w": { "dtype": "uint8", "shape": [1, 1, 2, 2], "data": { "kind": "values", "values": [2, 2, 2, 2] } }, |
| "w_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [1] } } |
| }, |
| "outputs": { |
| "y": { |
| "dtype": "int32", |
| "shape": [1, 1, 2, 2], |
| "tolerance": 0, |
| "data": { "kind": "values", "values": [16, 20, 28, 32] } |
| } |
| }, |
| "attrs": {} |
| }, |
| { |
| "name": "ort_no_w_zero_point", |
| "provenance": { |
| "source": "onnxruntime/test/providers/cpu/nn/conv_integer_test.cc", |
| "test": "ConvIntegerTest.NoWZeroPoint", |
| "notes": "Exercises the independent optional w_zero_point input; its omitted value defaults to zero while x_zero_point remains nonzero." |
| }, |
| "inputs": { |
| "x": { |
| "dtype": "uint8", |
| "shape": [1, 1, 3, 3], |
| "data": { "kind": "values", "values": [2, 3, 4, 5, 6, 7, 8, 9, 10] } |
| }, |
| "w": { "dtype": "uint8", "shape": [1, 1, 2, 2], "data": { "kind": "values", "values": [2, 2, 2, 2] } }, |
| "x_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [1] } } |
| }, |
| "outputs": { |
| "y": { |
| "dtype": "int32", |
| "shape": [1, 1, 2, 2], |
| "tolerance": 0, |
| "data": { "kind": "values", "values": [24, 32, 48, 56] } |
| } |
| }, |
| "attrs": {} |
| }, |
| { |
| "name": "ort_stride3_asymmetric_padding_u8u8", |
| "provenance": { |
| "source": "onnxruntime/test/providers/cpu/nn/conv_integer_test.cc", |
| "test": "ConvIntegerTest.WithStride3_2D_u8u8" |
| }, |
| "attrs": { "strides": [3, 3], "pads": [2, 2, 1, 1] }, |
| "inputs": { |
| "x": { |
| "dtype": "uint8", |
| "shape": [1, 1, 7, 7], |
| "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/ort_stride_padding_input_x" } } |
| }, |
| "w": { |
| "dtype": "uint8", |
| "shape": [1, 1, 3, 3], |
| "data": { "kind": "values", "values": [11, 12, 11, 12, 13, 12, 11, 12, 11] } |
| }, |
| "x_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [10] } }, |
| "w_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [10] } } |
| }, |
| "outputs": { "y": { "dtype": "int32", "shape": [1, 1, 3, 3] } } |
| }, |
| { |
| "name": "ort_stride3_asymmetric_padding_u8s8", |
| "provenance": { |
| "source": "onnxruntime/test/providers/cpu/nn/conv_integer_test.cc", |
| "test": "ConvIntegerTest.WithStride3_2D_u8s8" |
| }, |
| "attrs": { "strides": [3, 3], "pads": [2, 2, 1, 1] }, |
| "inputs": { |
| "x": { |
| "dtype": "uint8", |
| "shape": [1, 1, 7, 7], |
| "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/ort_stride_padding_input_x" } } |
| }, |
| "w": { |
| "dtype": "int8", |
| "shape": [1, 1, 3, 3], |
| "data": { "kind": "values", "values": [-9, -8, -9, -8, -7, -8, -9, -8, -9] } |
| }, |
| "x_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [10] } }, |
| "w_zero_point": { "dtype": "int8", "shape": [1], "data": { "kind": "values", "values": [-10] } } |
| }, |
| "outputs": { "y": { "dtype": "int32", "shape": [1, 1, 3, 3] } } |
| }, |
| { |
| "name": "ort_stride3_asymmetric_padding_s8s8", |
| "provenance": { |
| "source": "onnxruntime/test/providers/cpu/nn/conv_integer_test.cc", |
| "test": "ConvIntegerTest.WithStride3_2D_s8s8" |
| }, |
| "attrs": { "strides": [3, 3], "pads": [2, 2, 1, 1] }, |
| "inputs": { |
| "x": { |
| "dtype": "int8", |
| "shape": [1, 1, 7, 7], |
| "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/ort_stride_padding_input_x" } } |
| }, |
| "w": { |
| "dtype": "int8", |
| "shape": [1, 1, 3, 3], |
| "data": { "kind": "values", "values": [-9, -8, -9, -8, -7, -8, -9, -8, -9] } |
| }, |
| "x_zero_point": { "dtype": "int8", "shape": [1], "data": { "kind": "values", "values": [10] } }, |
| "w_zero_point": { "dtype": "int8", "shape": [1], "data": { "kind": "values", "values": [-10] } } |
| }, |
| "outputs": { "y": { "dtype": "int32", "shape": [1, 1, 3, 3] } } |
| }, |
| { |
| "name": "ort_stride3_asymmetric_padding_s8u8", |
| "provenance": { |
| "source": "onnxruntime/test/providers/cpu/nn/conv_integer_test.cc", |
| "test": "ConvIntegerTest.WithStride3_2D_s8u8" |
| }, |
| "attrs": { "strides": [3, 3], "pads": [2, 2, 1, 1] }, |
| "inputs": { |
| "x": { |
| "dtype": "int8", |
| "shape": [1, 1, 7, 7], |
| "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/ort_stride_padding_input_x" } } |
| }, |
| "w": { |
| "dtype": "uint8", |
| "shape": [1, 1, 3, 3], |
| "data": { "kind": "values", "values": [11, 12, 11, 12, 13, 12, 11, 12, 11] } |
| }, |
| "x_zero_point": { "dtype": "int8", "shape": [1], "data": { "kind": "values", "values": [10] } }, |
| "w_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [10] } } |
| }, |
| "outputs": { "y": { "dtype": "int32", "shape": [1, 1, 3, 3] } } |
| }, |
| { |
| "name": "ort_padded_3d_u8u8", |
| "attrs": { "pads": [1, 1, 1, 1, 1, 1] }, |
| "provenance": { |
| "source": "onnxruntime/test/providers/cpu/nn/conv_integer_test.cc", |
| "test": "ConvIntegerTest.WithPadding_3D_u8u8" |
| }, |
| "inputs": { |
| "x": { |
| "dtype": "uint8", |
| "shape": [1, 1, 3, 3, 3], |
| "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/ort_with_group_2d_u8u8_input_x" } } |
| }, |
| "w": { |
| "dtype": "uint8", |
| "shape": [1, 1, 2, 2, 2], |
| "data": { "kind": "values", "values": [11, 11, 11, 11, 11, 11, 11, 11] } |
| }, |
| "x_zero_point": { "dtype": "uint8", "shape": [], "data": { "kind": "values", "values": [1] } }, |
| "w_zero_point": { "dtype": "uint8", "shape": [], "data": { "kind": "values", "values": [10] } } |
| }, |
| "outputs": { |
| "y": { |
| "dtype": "int32", |
| "shape": [1, 1, 4, 4, 4], |
| "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/ort_padded_3d_u8u8_output_y" } }, |
| "tolerance": 0 |
| } |
| } |
| }, |
| { |
| "name": "ort_padded_3d_u8s8", |
| "attrs": { "pads": [1, 1, 1, 1, 1, 1] }, |
| "provenance": { |
| "source": "onnxruntime/test/providers/cpu/nn/conv_integer_test.cc", |
| "test": "ConvIntegerTest.WithPadding_3D_u8s8", |
| "notes": "ORT's mixed uint8/int8 3D padding case." |
| }, |
| "inputs": { |
| "x": { |
| "dtype": "uint8", |
| "shape": [1, 1, 3, 3, 3], |
| "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/ort_with_group_2d_u8u8_input_x" } } |
| }, |
| "w": { |
| "dtype": "int8", |
| "shape": [1, 1, 2, 2, 2], |
| "data": { "kind": "values", "values": [-9, -9, -9, -9, -9, -9, -9, -9] } |
| }, |
| "x_zero_point": { "dtype": "uint8", "shape": [], "data": { "kind": "values", "values": [1] } }, |
| "w_zero_point": { "dtype": "int8", "shape": [], "data": { "kind": "values", "values": [-10] } } |
| }, |
| "outputs": { |
| "y": { |
| "dtype": "int32", |
| "shape": [1, 1, 4, 4, 4], |
| "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/ort_padded_3d_u8u8_output_y" } }, |
| "tolerance": 0 |
| } |
| } |
| }, |
| { |
| "name": "ort_padded_3d_s8s8", |
| "attrs": { "pads": [1, 1, 1, 1, 1, 1] }, |
| "provenance": { |
| "source": "onnxruntime/test/providers/cpu/nn/conv_integer_test.cc", |
| "test": "ConvIntegerTest.WithPadding_3D_s8s8", |
| "notes": "ORT's signed 3D padding case." |
| }, |
| "inputs": { |
| "x": { |
| "dtype": "int8", |
| "shape": [1, 1, 3, 3, 3], |
| "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/ort_with_group_2d_u8u8_input_x" } } |
| }, |
| "w": { |
| "dtype": "int8", |
| "shape": [1, 1, 2, 2, 2], |
| "data": { "kind": "values", "values": [-9, -9, -9, -9, -9, -9, -9, -9] } |
| }, |
| "x_zero_point": { "dtype": "int8", "shape": [], "data": { "kind": "values", "values": [1] } }, |
| "w_zero_point": { "dtype": "int8", "shape": [], "data": { "kind": "values", "values": [-10] } } |
| }, |
| "outputs": { |
| "y": { |
| "dtype": "int32", |
| "shape": [1, 1, 4, 4, 4], |
| "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/ort_padded_3d_u8u8_output_y" } }, |
| "tolerance": 0 |
| } |
| } |
| }, |
| { |
| "name": "ort_pointwise_3d_u8u8", |
| "provenance": { |
| "source": "onnxruntime/test/providers/cpu/nn/conv_integer_test.cc", |
| "test": "ConvIntegerTest.Pointwise_3D_u8u8" |
| }, |
| "inputs": { |
| "x": { |
| "dtype": "uint8", |
| "shape": [1, 1, 3, 3, 3], |
| "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/ort_with_group_2d_u8u8_input_x" } } |
| }, |
| "w": { "dtype": "uint8", "shape": [1, 1, 1, 1, 1], "data": { "kind": "values", "values": [5] } }, |
| "x_zero_point": { "dtype": "uint8", "shape": [], "data": { "kind": "values", "values": [1] } }, |
| "w_zero_point": { "dtype": "uint8", "shape": [], "data": { "kind": "values", "values": [1] } } |
| }, |
| "outputs": { |
| "y": { |
| "dtype": "int32", |
| "shape": [1, 1, 3, 3, 3], |
| "data": { |
| "kind": "values", |
| "values": [4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48, 52, 56, 60, 64, 68, 72, 76, 80, 84, 88, 92, 96, 100, 104, 108] |
| }, |
| "tolerance": 0 |
| } |
| }, |
| "attrs": {} |
| }, |
| { |
| "name": "onnx_backend_convinteger_with_padding", |
| "attrs": { "pads": [1, 1, 1, 1] }, |
| "inputs": { |
| "x": { |
| "dtype": "uint8", |
| "shape": [1, 1, 3, 3], |
| "data": { "kind": "values", "values": [2, 3, 4, 5, 6, 7, 8, 9, 10] } |
| }, |
| "w": { |
| "dtype": "uint8", |
| "shape": [2, 1, 2, 2], |
| "data": { "kind": "values", "values": [1, 1, 1, 1, 1, 1, 1, 1] } |
| }, |
| "x_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [1] } }, |
| "w_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [0] } } |
| }, |
| "outputs": { "y": { "dtype": "int32", "shape": [1, 2, 4, 4] } }, |
| "provenance": { "source": "cmake/external/onnx/onnx/backend/test/data/node/test_convinteger_with_padding" } |
| }, |
| { |
| "name": "onnx_backend_convinteger_without_padding", |
| "inputs": { |
| "x": { |
| "dtype": "uint8", |
| "shape": [1, 1, 3, 3], |
| "data": { "kind": "values", "values": [2, 3, 4, 5, 6, 7, 8, 9, 10] } |
| }, |
| "w": { "dtype": "uint8", "shape": [1, 1, 2, 2], "data": { "kind": "values", "values": [1, 1, 1, 1] } }, |
| "x_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [1] } }, |
| "w_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [0] } } |
| }, |
| "outputs": { "y": { "dtype": "int32", "shape": [1, 1, 2, 2] } }, |
| "provenance": { "source": "cmake/external/onnx/onnx/backend/test/data/node/test_convinteger_without_padding" }, |
| "attrs": {} |
| }, |
| { |
| "name": "dp4a_pointwise_u8s8_c34_tail", |
| "provenance": { |
| "notes": "Pins the widened-storage DP4A tail route for a realistic pointwise projection whose channel count is not divisible by four." |
| }, |
| "inputs": { |
| "x": { |
| "dtype": "uint8", |
| "shape": [1, 34, 2, 3], |
| "data": { "kind": "cycle", "values": [0, 255, 128, 127, 56, 77, 3, 100, 200, 42, 5, 19, 64] } |
| }, |
| "w": { |
| "dtype": "int8", |
| "shape": [5, 34, 1, 1], |
| "data": { "kind": "cycle", "values": [-77, 3, 100, -100, 42, -5, 19, -64, 88, -33, 7, 125, -90, -128, 127] } |
| }, |
| "x_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [113] } }, |
| "w_zero_point": { "dtype": "int8", "shape": [1], "data": { "kind": "values", "values": [-7] } } |
| }, |
| "outputs": { "y": { "dtype": "int32", "shape": [1, 5, 2, 3], "tolerance": 0 } }, |
| "attrs": {} |
| }, |
| { |
| "name": "dp4a_pointwise_u8s8_c8_batched", |
| "inputs": { |
| "x": { |
| "dtype": "uint8", |
| "shape": [2, 8, 3, 5], |
| "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/dp4a_pointwise_u8s8_c8_batched_input_x" } } |
| }, |
| "w": { |
| "dtype": "int8", |
| "shape": [6, 8, 1, 1], |
| "data": { |
| "kind": "cycle", |
| "values": [-77, 3, 100, -100, 42, -5, 19, -64, 88, -33, 7, 125, -90, -128, 127, 0, -1, 56] |
| } |
| }, |
| "x_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [113] } }, |
| "w_zero_point": { "dtype": "int8", "shape": [1], "data": { "kind": "values", "values": [-7] } } |
| }, |
| "outputs": { "y": { "dtype": "int32", "shape": [2, 6, 3, 5], "tolerance": 0 } }, |
| "attrs": {} |
| }, |
| { |
| "name": "dp4a_pointwise_s8u8_c12_tails", |
| "inputs": { |
| "x": { |
| "dtype": "int8", |
| "shape": [1, 12, 7, 11], |
| "data": { |
| "kind": "cycle", |
| "values": [-128, 127, 0, -1, 56, -77, 3, 100, -100, 42, -5, 19, -64, 88, -33, 7, 125, -90] |
| } |
| }, |
| "w": { |
| "dtype": "uint8", |
| "shape": [9, 12, 1, 1], |
| "data": { |
| "kind": "cycle", |
| "values": [19, 64, 88, 33, 7, 125, 90, 128, 127, 0, 1, 56, 77, 3, 100, 255, 42, 5] |
| } |
| }, |
| "x_zero_point": { "dtype": "int8", "shape": [1], "data": { "kind": "values", "values": [5] } }, |
| "w_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [120] } } |
| }, |
| "outputs": { "y": { "dtype": "int32", "shape": [1, 9, 7, 11], "tolerance": 0 } }, |
| "attrs": {} |
| }, |
| { |
| "name": "empty_zero_dim", |
| "attrs": { "strides": [1, 1], "pads": [1, 1, 1, 1] }, |
| "inputs": { |
| "x": { "dtype": "uint8", "shape": [0, 1, 3, 3], "data": { "kind": "values", "values": [] } }, |
| "w": { "dtype": "uint8", "shape": [1, 1, 2, 2], "data": { "kind": "constant", "value": 1 } }, |
| "x_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "constant", "value": 0 } }, |
| "w_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "constant", "value": 0 } } |
| }, |
| "outputs": { "y": { "dtype": "int32", "shape": [0, 1, 4, 4], "tolerance": 0 } } |
| }, |
| { |
| "name": "ort_caseB_empty", |
| "attrs": { "strides": [1, 1], "pads": [1, 1, 1, 1] }, |
| "inputs": { |
| "x": { "dtype": "uint8", "shape": [1, 1, 0, 3], "data": { "kind": "values", "values": [] } }, |
| "w": { "dtype": "uint8", "shape": [1, 1, 2, 2], "data": { "kind": "values", "values": [127, 128, 129, 130] } }, |
| "x_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [128] } }, |
| "w_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [128] } } |
| }, |
| "outputs": { |
| "y": { |
| "dtype": "int32", |
| "shape": [1, 1, 1, 4], |
| "data": { "kind": "values", "values": [0, 0, 0, 0] }, |
| "tolerance": 0.001 |
| } |
| } |
| }, |
| { |
| "name": "dilation2_2d_u8u8", |
| "attrs": { "dilations": [2, 2] }, |
| "inputs": { |
| "x": { |
| "dtype": "uint8", |
| "shape": [1, 1, 5, 5], |
| "data": { |
| "kind": "values", |
| "values": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25] |
| } |
| }, |
| "w": { |
| "dtype": "uint8", |
| "shape": [1, 1, 3, 3], |
| "data": { "kind": "values", "values": [1, 1, 1, 1, 1, 1, 1, 1, 1] } |
| }, |
| "x_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [2] } }, |
| "w_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [0] } } |
| }, |
| "outputs": { "y": { "dtype": "int32", "shape": [1, 1, 1, 1], "tolerance": 0 } } |
| }, |
| { |
| "name": "dilation2_2d_u8s8_multichannel", |
| "attrs": { "dilations": [2, 2] }, |
| "inputs": { |
| "x": { |
| "dtype": "uint8", |
| "shape": [1, 8, 9, 9], |
| "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/dp4a_pointwise_u8s8_c8_batched_input_x" } } |
| }, |
| "w": { |
| "dtype": "int8", |
| "shape": [16, 8, 3, 3], |
| "data": { "kind": "cycle", "values": [-4, -3, -2, -1, 0, 1, 2, 3, 4, -2, 1, -1, 2, 0, 3, -3] } |
| }, |
| "x_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [100] } }, |
| "w_zero_point": { "dtype": "int8", "shape": [1], "data": { "kind": "values", "values": [0] } } |
| }, |
| "outputs": { "y": { "dtype": "int32", "shape": [1, 16, 5, 5], "tolerance": 0 } } |
| }, |
| { |
| "name": "group2_in_channels_per_group2_u8s8", |
| "attrs": { "group": 2 }, |
| "inputs": { |
| "x": { |
| "dtype": "uint8", |
| "shape": [1, 4, 5, 5], |
| "data": { |
| "kind": "cycle", |
| "values": [3, 7, 12, 19, 25, 31, 44, 50, 8, 16, 22, 37, 41, 5, 18, 29, 33, 47, 11, 24] |
| } |
| }, |
| "w": { |
| "dtype": "int8", |
| "shape": [4, 2, 3, 3], |
| "data": { "kind": "cycle", "values": [-3, -2, -1, 0, 1, 2, 3, -1, 2, -2, 1, -3, 0, 3, -1, 1] } |
| }, |
| "x_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [10] } }, |
| "w_zero_point": { "dtype": "int8", "shape": [1], "data": { "kind": "values", "values": [-1] } } |
| }, |
| "outputs": { "y": { "dtype": "int32", "shape": [1, 4, 3, 3], "tolerance": 0 } } |
| }, |
| { |
| "name": "dp4a_pointwise_c4_aligned_u8s8", |
| "inputs": { |
| "x": { |
| "dtype": "uint8", |
| "shape": [1, 4, 8, 8], |
| "data": { "kind": "cycle", "values": { "$ref": "#/fixtureArrays/dp4a_pointwise_u8s8_c8_batched_input_x" } } |
| }, |
| "w": { |
| "dtype": "int8", |
| "shape": [8, 4, 1, 1], |
| "data": { |
| "kind": "cycle", |
| "values": [-77, 3, 100, -100, 42, -5, 19, -64, 88, -33, 7, 125, -90, -128, 127, 0] |
| } |
| }, |
| "x_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [120] } }, |
| "w_zero_point": { "dtype": "int8", "shape": [1], "data": { "kind": "values", "values": [-3] } } |
| }, |
| "outputs": { "y": { "dtype": "int32", "shape": [1, 8, 8, 8], "tolerance": 0 } }, |
| "attrs": {} |
| }, |
| { |
| "name": "dp4a_im2col_u8s8_oc64_c16_3x3_24x24", |
| "inputs": { |
| "x": { |
| "dtype": "uint8", |
| "shape": [1, 16, 24, 24], |
| "data": { "kind": "cycle", "values": [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 8] } |
| }, |
| "w": { |
| "dtype": "int8", |
| "shape": [64, 16, 3, 3], |
| "data": { "kind": "cycle", "values": [2, -1, 3, -2, 1, 4, -3, 2, 0] } |
| }, |
| "x_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "cycle", "values": [2] } }, |
| "w_zero_point": { "dtype": "int8", "shape": [1], "data": { "kind": "cycle", "values": [1] } } |
| }, |
| "outputs": { "y": { "dtype": "int32", "shape": [1, 64, 22, 22] } }, |
| "attrs": {} |
| }, |
| { |
| "name": "per_channel_w_zero_point_u8s8_3x3", |
| "inputs": { |
| "x": { |
| "dtype": "uint8", |
| "shape": [1, 4, 5, 5], |
| "data": { "kind": "cycle", "values": [10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160] } |
| }, |
| "w": { |
| "dtype": "int8", |
| "shape": [4, 4, 3, 3], |
| "data": { |
| "kind": "cycle", |
| "values": [-4, 3, -2, 1, 0, -1, 2, -3, 4, -1, 2, -2, 3, 0, -3, 1, 2, -4, 3, -1, 0, 1, -2, 4, -3, 2, 1, -1, 3, -4, 2, 0, -2, 4, -1, 3] |
| } |
| }, |
| "x_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [128] } }, |
| "w_zero_point": { "dtype": "int8", "shape": [4], "data": { "kind": "values", "values": [0, 2, -3, 5] } } |
| }, |
| "outputs": { "y": { "dtype": "int32", "shape": [1, 4, 3, 3], "tolerance": 0 } }, |
| "attrs": {} |
| }, |
| { |
| "name": "per_channel_w_zero_point_int8_pointwise", |
| "inputs": { |
| "x": { |
| "dtype": "int8", |
| "shape": [1, 8, 4, 4], |
| "data": { "kind": "cycle", "values": [-50, 25, -10, 40, -30, 15, 50, -20, 35, -45, 5, -15, 20, -35, 45, -5] } |
| }, |
| "w": { |
| "dtype": "int8", |
| "shape": [6, 8, 1, 1], |
| "data": { |
| "kind": "cycle", |
| "values": [3, -2, 5, -4, 1, -3, 6, -1, 4, -5, 2, -6, 7, -7, -2, 3, -4, 5, 1, -1, 3, -3, 2, -2] |
| } |
| }, |
| "x_zero_point": { "dtype": "int8", "shape": [1], "data": { "kind": "values", "values": [0] } }, |
| "w_zero_point": { "dtype": "int8", "shape": [6], "data": { "kind": "values", "values": [0, 1, -2, 3, -1, 2] } } |
| }, |
| "outputs": { "y": { "dtype": "int32", "shape": [1, 6, 4, 4], "tolerance": 0 } }, |
| "attrs": {} |
| }, |
| { |
| "name": "unaligned_kernel_small_numel_scalar_path", |
| "attrs": { "strides": [2, 2], "pads": [1, 1, 1, 1] }, |
| "inputs": { |
| "x": { |
| "dtype": "uint8", |
| "shape": [2, 6, 9, 9], |
| "data": { |
| "kind": "cycle", |
| "values": [10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180] |
| } |
| }, |
| "w": { |
| "dtype": "uint8", |
| "shape": [8, 6, 3, 3], |
| "data": { |
| "kind": "cycle", |
| "values": { "$ref": "#/fixtureArrays/unaligned_kernel_small_numel_scalar_path_input_w" } |
| } |
| }, |
| "x_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [128] } }, |
| "w_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [16] } } |
| }, |
| "outputs": { "y": { "dtype": "int32", "shape": [2, 8, 5, 5], "tolerance": 0 } } |
| }, |
| { |
| "name": "group_conv_unequal_per_channel_zero_point_u8u8", |
| "attrs": { "group": 2 }, |
| "inputs": { |
| "x": { |
| "dtype": "uint8", |
| "shape": [1, 4, 5, 5], |
| "data": { "kind": "cycle", "values": [5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80] } |
| }, |
| "w": { |
| "dtype": "uint8", |
| "shape": [4, 2, 3, 3], |
| "data": { |
| "kind": "cycle", |
| "values": { "$ref": "#/fixtureArrays/unaligned_kernel_small_numel_scalar_path_input_w" } |
| } |
| }, |
| "x_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [10] } }, |
| "w_zero_point": { "dtype": "uint8", "shape": [4], "data": { "kind": "values", "values": [10, 15, 12, 20] } } |
| }, |
| "outputs": { "y": { "dtype": "int32", "shape": [1, 4, 3, 3], "tolerance": 0 } } |
| }, |
| { |
| "name": "same_upper_stride2_autopad", |
| "provenance": { |
| "source": "ONNX Runtime ConvInteger-10 CPUExecutionProvider", |
| "notes": "ConvInteger inherits Conv auto_pad semantics. This fixture exercises the exact SAME_UPPER spelling and the derived asymmetric bottom/right padding for a stride-2 output." |
| }, |
| "attrs": { "auto_pad": "SAME_UPPER", "strides": [2, 2] }, |
| "inputs": { |
| "x": { |
| "dtype": "uint8", |
| "shape": [1, 1, 4, 4], |
| "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/same_upper_stride2_autopad_input_x" } } |
| }, |
| "w": { "dtype": "uint8", "shape": [1, 1, 3, 3], "data": { "kind": "constant", "value": 1 } }, |
| "x_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [0] } }, |
| "w_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [0] } } |
| }, |
| "outputs": { |
| "y": { |
| "dtype": "int32", |
| "shape": [1, 1, 2, 2], |
| "data": { "kind": "values", "values": [54, 45, 72, 54] }, |
| "tolerance": 0 |
| } |
| } |
| }, |
| { |
| "name": "optional_zero_points_omitted", |
| "provenance": { |
| "source": "ONNX Runtime ConvInteger-10 CPUExecutionProvider", |
| "notes": "Both ConvInteger zero-point inputs are optional and independently default to zero." |
| }, |
| "inputs": { |
| "x": { "dtype": "uint8", "shape": [1, 1, 2, 2], "data": { "kind": "values", "values": [1, 2, 3, 4] } }, |
| "w": { "dtype": "uint8", "shape": [1, 1, 1, 1], "data": { "kind": "values", "values": [2] } } |
| }, |
| "outputs": { |
| "y": { |
| "dtype": "int32", |
| "shape": [1, 1, 2, 2], |
| "data": { "kind": "values", "values": [2, 4, 6, 8] }, |
| "tolerance": 0 |
| } |
| }, |
| "attrs": {} |
| }, |
| { |
| "name": "conv1d_u8u8_scalar_zero_points", |
| "provenance": { |
| "source": "ONNX Runtime ConvInteger-10 CPUExecutionProvider", |
| "notes": "ConvInteger is defined for N-dimensional convolution and rank-3 NCW is a realistic quantized audio shape." |
| }, |
| "inputs": { |
| "x": { "dtype": "uint8", "shape": [1, 1, 6], "data": { "kind": "values", "values": [10, 12, 13, 8, 15, 16] } }, |
| "w": { "dtype": "uint8", "shape": [1, 1, 3], "data": { "kind": "values", "values": [3, 1, 4] } }, |
| "x_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [10] } }, |
| "w_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [2] } } |
| }, |
| "outputs": { |
| "y": { |
| "dtype": "int32", |
| "shape": [1, 1, 4], |
| "data": { "kind": "values", "values": [4, -5, 15, 5] }, |
| "tolerance": 0 |
| } |
| }, |
| "attrs": {} |
| }, |
| { |
| "name": "conv1d_x_zero_point_only", |
| "provenance": { |
| "source": "ONNX ConvInteger-10 optional-input contract", |
| "notes": "Exercises rank-3 NCW convolution with x_zero_point present and w_zero_point independently omitted." |
| }, |
| "inputs": { |
| "x": { "dtype": "uint8", "shape": [1, 1, 4], "data": { "kind": "values", "values": [10, 12, 13, 8] } }, |
| "w": { "dtype": "uint8", "shape": [1, 1, 2], "data": { "kind": "values", "values": [3, 1] } }, |
| "x_zero_point": { "dtype": "uint8", "shape": [], "data": { "kind": "values", "values": [10] } } |
| }, |
| "outputs": { |
| "y": { "dtype": "int32", "shape": [1, 1, 3], "data": { "kind": "values", "values": [2, 9, 7] }, "tolerance": 0 } |
| }, |
| "attrs": {} |
| }, |
| { |
| "name": "conv1d_w_zero_point_only", |
| "provenance": { |
| "source": "ONNX ConvInteger-10 optional-input contract", |
| "notes": "Exercises rank-3 NCW convolution with w_zero_point present and x_zero_point independently omitted." |
| }, |
| "inputs": { |
| "x": { "dtype": "uint8", "shape": [1, 1, 4], "data": { "kind": "values", "values": [10, 12, 13, 8] } }, |
| "w": { "dtype": "uint8", "shape": [1, 1, 2], "data": { "kind": "values", "values": [3, 1] } }, |
| "w_zero_point": { "dtype": "uint8", "shape": [], "data": { "kind": "values", "values": [2] } } |
| }, |
| "outputs": { |
| "y": { |
| "dtype": "int32", |
| "shape": [1, 1, 3], |
| "data": { "kind": "values", "values": [-2, -1, 5] }, |
| "tolerance": 0 |
| } |
| }, |
| "attrs": {} |
| }, |
| { |
| "name": "conv1d_zero_points_omitted", |
| "provenance": { |
| "source": "ONNX ConvInteger-10 optional-input contract", |
| "notes": "Completes the rank-3 NCW optional-presence matrix with both zero points omitted and defaulting to zero." |
| }, |
| "inputs": { |
| "x": { "dtype": "uint8", "shape": [1, 1, 4], "data": { "kind": "values", "values": [10, 12, 13, 8] } }, |
| "w": { "dtype": "uint8", "shape": [1, 1, 2], "data": { "kind": "values", "values": [3, 1] } } |
| }, |
| "outputs": { |
| "y": { |
| "dtype": "int32", |
| "shape": [1, 1, 3], |
| "data": { "kind": "values", "values": [42, 49, 47] }, |
| "tolerance": 0 |
| } |
| }, |
| "attrs": {} |
| }, |
| { |
| "name": "per_channel_w_zero_point_without_x_zero_point", |
| "provenance": { |
| "source": "ONNX ConvInteger-10 optional-input contract", |
| "notes": "Exercises a per-output-channel w_zero_point while x_zero_point independently defaults to zero." |
| }, |
| "inputs": { |
| "x": { "dtype": "uint8", "shape": [1, 1, 2, 2], "data": { "kind": "values", "values": [1, 2, 3, 4] } }, |
| "w": { "dtype": "uint8", "shape": [2, 1, 1, 1], "data": { "kind": "values", "values": [3, 4] } }, |
| "w_zero_point": { "dtype": "uint8", "shape": [2], "data": { "kind": "values", "values": [1, 2] } } |
| }, |
| "outputs": { |
| "y": { |
| "dtype": "int32", |
| "shape": [1, 2, 2, 2], |
| "data": { "kind": "values", "values": [2, 4, 6, 8, 2, 4, 6, 8] }, |
| "tolerance": 0 |
| } |
| }, |
| "attrs": {} |
| }, |
| { |
| "name": "conv3d_zero_points_omitted", |
| "provenance": { |
| "source": "ONNX ConvInteger-10 optional-input contract", |
| "notes": "Exercises rank-5 NCDHW convolution with both independent zero-point inputs omitted." |
| }, |
| "inputs": { |
| "x": { "dtype": "uint8", "shape": [1, 1, 2, 1, 1], "data": { "kind": "values", "values": [2, 5] } }, |
| "w": { "dtype": "uint8", "shape": [1, 1, 1, 1, 1], "data": { "kind": "values", "values": [3] } } |
| }, |
| "outputs": { |
| "y": { |
| "dtype": "int32", |
| "shape": [1, 1, 2, 1, 1], |
| "data": { "kind": "values", "values": [6, 15] }, |
| "tolerance": 0 |
| } |
| }, |
| "attrs": {} |
| }, |
| { |
| "name": "conv3d_x_zero_point_only", |
| "provenance": { |
| "source": "ONNX ConvInteger-10 optional-input contract", |
| "notes": "Exercises rank-5 NCDHW convolution with x_zero_point present and w_zero_point omitted." |
| }, |
| "inputs": { |
| "x": { "dtype": "uint8", "shape": [1, 1, 2, 1, 1], "data": { "kind": "values", "values": [2, 5] } }, |
| "w": { "dtype": "uint8", "shape": [1, 1, 1, 1, 1], "data": { "kind": "values", "values": [3] } }, |
| "x_zero_point": { "dtype": "uint8", "shape": [], "data": { "kind": "values", "values": [1] } } |
| }, |
| "outputs": { |
| "y": { |
| "dtype": "int32", |
| "shape": [1, 1, 2, 1, 1], |
| "data": { "kind": "values", "values": [3, 12] }, |
| "tolerance": 0 |
| } |
| }, |
| "attrs": {} |
| }, |
| { |
| "name": "conv3d_w_zero_point_only", |
| "provenance": { |
| "source": "ONNX ConvInteger-10 optional-input contract", |
| "notes": "Exercises rank-5 NCDHW convolution with w_zero_point present and x_zero_point omitted." |
| }, |
| "inputs": { |
| "x": { "dtype": "uint8", "shape": [1, 1, 2, 1, 1], "data": { "kind": "values", "values": [2, 5] } }, |
| "w": { "dtype": "uint8", "shape": [1, 1, 1, 1, 1], "data": { "kind": "values", "values": [3] } }, |
| "w_zero_point": { "dtype": "uint8", "shape": [], "data": { "kind": "values", "values": [2] } } |
| }, |
| "outputs": { |
| "y": { |
| "dtype": "int32", |
| "shape": [1, 1, 2, 1, 1], |
| "data": { "kind": "values", "values": [2, 5] }, |
| "tolerance": 0 |
| } |
| }, |
| "attrs": {} |
| }, |
| { |
| "name": "conv3d_depth_dilation2_compact", |
| "provenance": { |
| "source": "ONNX ConvInteger-10 volumetric dilation semantics", |
| "notes": "Covers a non-default depth dilation. Existing 3D fixtures varied data types and padding but kept dilationD=1." |
| }, |
| "attrs": { "strides": [1, 1, 1], "dilations": [2, 1, 1] }, |
| "inputs": { |
| "x": { |
| "dtype": "uint8", |
| "shape": [1, 1, 4, 2, 2], |
| "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/same_upper_stride2_autopad_input_x" } } |
| }, |
| "w": { "dtype": "uint8", "shape": [1, 1, 2, 1, 1], "data": { "kind": "values", "values": [1, 2] } }, |
| "x_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [0] } }, |
| "w_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [0] } } |
| }, |
| "outputs": { |
| "y": { |
| "dtype": "int32", |
| "shape": [1, 1, 2, 2, 2], |
| "data": { "kind": "values", "values": [19, 22, 25, 28, 31, 34, 37, 40] } |
| } |
| } |
| }, |
| { |
| "name": "dp4a_im2col_3d_u8s8_b1c4m8_4x8x8_k3", |
| "provenance": { |
| "source": "ONNX ConvInteger-10 volumetric convolution", |
| "notes": "Locks the shared 3-D im2col-to-DP4A route with zero-point-filled spatial padding." |
| }, |
| "attrs": { "pads": [1, 1, 1, 1, 1, 1] }, |
| "inputs": { |
| "x": { |
| "dtype": "uint8", |
| "shape": [1, 4, 4, 8, 8], |
| "data": { "kind": "cycle", "values": [0, 17, 63, 127, 128, 191, 255] } |
| }, |
| "w": { |
| "dtype": "int8", |
| "shape": [8, 4, 3, 3, 3], |
| "data": { "kind": "cycle", "values": [-127, -31, -1, 0, 7, 63, 126] } |
| }, |
| "x_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [127] } }, |
| "w_zero_point": { "dtype": "int8", "shape": [1], "data": { "kind": "values", "values": [-3] } } |
| }, |
| "outputs": { "y": { "dtype": "int32", "shape": [1, 8, 4, 8, 8], "tolerance": 0 } } |
| }, |
| { |
| "name": "same_lower_stride2_autopad", |
| "provenance": { |
| "source": "ONNX Runtime ConvInteger-10 CPUExecutionProvider", |
| "notes": "ONNX auto_pad SAME_LOWER puts the odd padding element at the START of the axis, so unlike its SAME_UPPER twin this case has a non-zero leading pad and fails if the kernel is handed the explicit pad attributes instead of the derived ones." |
| }, |
| "attrs": { "auto_pad": "SAME_LOWER", "strides": [2, 2] }, |
| "inputs": { |
| "x": { |
| "dtype": "uint8", |
| "shape": [1, 1, 4, 4], |
| "data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/same_upper_stride2_autopad_input_x" } } |
| }, |
| "w": { "dtype": "uint8", "shape": [1, 1, 3, 3], "data": { "kind": "constant", "value": 1 } }, |
| "x_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [0] } }, |
| "w_zero_point": { "dtype": "uint8", "shape": [1], "data": { "kind": "values", "values": [0] } } |
| }, |
| "outputs": { "y": { "dtype": "int32", "shape": [1, 1, 2, 2], "tolerance": 0 } } |
| } |
| ] |
| } |
|
|