Skip to content

Commit 27c9ca7

Browse files
authored
[ONNX] Switched to ONNX 1.15.0 (openvinotoolkit#20929)
* [ONNX] Switched to ONNX 1.15.0 * Updated usage of ONNX serialization API * Updated xfailed lists * Updated xfailed lists * Added xfailed ML-operators * Added xfailed float8 cases * Fixing mo tests * Reverted legacy tests * Sets default opset version in layer tests * Skipped test which breaks moving on 1.15 * Updated xfailed list * Fixed typo and added more tests to skipped * Added xfailed tests * Reduced opset due to need to work on onnx 1.13 * Removed unnecessary xfails * Skipped misaligned tests * WA for old compiler build
1 parent 224eb79 commit 27c9ca7

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

80 files changed

+478
-201
lines changed

conan.lock

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
"opencl-icd-loader/2023.04.17#5f73dd9f0c023d416a7f162e320b9c77%1692732261.088",
1111
"opencl-headers/2023.04.17#3d98f2d12a67c2400de6f11d5335b5a6%1683936272.16",
1212
"opencl-clhpp-headers/2023.04.17#7c62fcc7ac2559d4839150d2ebaac5c8%1685450803.672",
13-
"onnx/1.14.1#d95f4e64bedf3dc6898253847ac69005%1693130309.828",
13+
"onnx/1.15.0#54b6d944e6995300bc7bcdd3a3206d74%1698840505.336",
1414
"onetbb/2021.10.0#cbb2fc43088070b48f6e4339bc8fa0e1%1693812561.235",
1515
"ittapi/3.24.0#9246125f13e7686dee2b0c992b71db94%1682969872.743",
1616
"hwloc/2.9.2#1c63e2eccac57048ae226e6c946ebf0e%1688677682.002",

conanfile.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ opencl-icd-loader/[>=2023.04.17]
88
rapidjson/[>=1.1.0]
99
xbyak/[>=6.62]
1010
snappy/[>=1.1.7]
11-
onnx/1.14.1
11+
onnx/1.15.0
1212
pybind11/[>=2.10.1]
1313
flatbuffers/[>=22.9.24]
1414

src/bindings/python/constraints.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,4 +21,4 @@ paddlepaddle==2.5.2
2121
tensorflow>=1.15.5,<2.15.0
2222
six~=1.16.0
2323
protobuf>=3.18.1,<4.0.0
24-
onnx==1.14.1
24+
onnx==1.15.0

src/bindings/python/tests_compatibility/__init__.py

+15-1
Original file line numberDiff line numberDiff line change
@@ -157,13 +157,14 @@ def xfail_test(reason="Mark the test as expected to fail", strict=True):
157157
xfail_issue_90649 = xfail_test(reason="RuntimeError: OV does not support the following ONNX operations:"
158158
"BlackmanWindow, DFT, HammingWindow, HannWindow, LayerNormalization, "
159159
"MelWeightMatrix, SequenceMap, STFT")
160-
xfail_issue_91151 = xfail_test(reason="RuntimeError: model input (shape={3,4}) and blob (shape=(1)) are incompatible")
160+
skip_issue_91151 = pytest.mark.skip(reason="RuntimeError: model input (shape={3,4}) and blob (shape=(1)) are incompatible") # Need to enable after bumping to 1.15
161161
xfail_issue_91490 = xfail_test(reason="y has zero dimension which is not allowed")
162162
xfail_issue_101965 = xfail_test(reason="Mismatch with numpy-based expected results.")
163163
xfail_issue_113506 = xfail_test(reason="Unsupported operation of type: LSTMSequence Node expects 7 inputs. Actual: 8")
164164

165165
skip_dynamic_model = pytest.mark.skip(reason="CPU plug-in can't load a model with dynamic output shapes via legacy API")
166166

167+
# ONNX 1.14
167168
xfail_issue_119896 = xfail_test(reason="Unsupported element type: FLOAT8")
168169
xfail_issue_119900 = xfail_test(reason="While validating ONNX node '<Node(Resize): Y>': "
169170
"half_pixel_symmetric - this type of coordinate transformation mode "
@@ -176,3 +177,16 @@ def xfail_test(reason="Mark the test as expected to fail", strict=True):
176177
xfail_issue_119922 = xfail_test(reason="ai.onnx.ml operators domain isn't supported")
177178
xfail_issue_119925 = xfail_test(reason="AveragePool AssertionError: Not equal to tolerance rtol=0.001, atol=1e-07")
178179
xfail_issue_119926 = xfail_test(reason="ROIAlign AssertionError: Not equal to tolerance rtol=0.001, atol=1e-07")
180+
181+
# ONNX 1.15
182+
xfail_issue_125485 = xfail_test(reason="AffineGrid operation is not supported")
183+
xfail_issue_125486 = xfail_test(reason="Gelu operation is not supported")
184+
xfail_issue_125488 = xfail_test(reason="ImageDecoder operation is not supported")
185+
xfail_issue_125487 = xfail_test(reason="GridSample doesn't support cubic and linear modes, and 4D tensor")
186+
skip_issue_125489 = pytest.mark.skip(reason="IsInf changed behavior since opset-20") # Need to enable after opset-20 will be released
187+
xfail_issue_125491 = xfail_test(reason="AveragePool mismatch with differences in shapes")
188+
xfail_issue_125492 = xfail_test(reason="DFT mismatch")
189+
xfail_issue_125493 = xfail_test(reason="Reduce* mismatch")
190+
xfail_issue_125495 = xfail_test(reason="ReduceMin/Max doesn't support boolean")
191+
xfail_issue_127812 = xfail_test(reason="Reduce* doesn't support zero dimensions")
192+
skip_misalignment = pytest.mark.skip(reason="Misalignment between onnx versions") # Need to enable after bumping to 1.15

src/bindings/python/tests_compatibility/test_onnx/test_backend.py

+127-2
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@
4444
xfail_issue_82038,
4545
xfail_issue_82039,
4646
xfail_issue_90649,
47-
xfail_issue_91151,
47+
skip_issue_91151,
4848
xfail_issue_91490,
4949
xfail_issue_101965,
5050
skip_bitwise_ui64,
@@ -73,6 +73,17 @@
7373
xfail_issue_119922,
7474
xfail_issue_119925,
7575
xfail_issue_119926,
76+
xfail_issue_125485,
77+
xfail_issue_125486,
78+
xfail_issue_125488,
79+
xfail_issue_125487,
80+
skip_issue_125489,
81+
xfail_issue_125491,
82+
xfail_issue_125492,
83+
xfail_issue_125493,
84+
xfail_issue_125495,
85+
xfail_issue_127812,
86+
skip_misalignment,
7687
)
7788
from tests_compatibility.test_onnx.utils.onnx_backend import OpenVinoTestBackend
7889

@@ -186,6 +197,20 @@ def expect_fail(test_case_path, xfail): # type: (str) -> None
186197
"OnnxBackendNodeModelTest.test_castlike_STRING_to_FLOAT_expanded_cpu",
187198
"OnnxBackendNodeModelTest.test_equal_string_broadcast_cpu",
188199
"OnnxBackendNodeModelTest.test_equal_string_cpu",
200+
"OnnxBackendNodeModelTest.test_regex_full_match_basic_cpu",
201+
"OnnxBackendNodeModelTest.test_regex_full_match_email_domain_cpu",
202+
"OnnxBackendNodeModelTest.test_regex_full_match_empty_cpu",
203+
"OnnxBackendNodeModelTest.test_string_concat_broadcasting_cpu",
204+
"OnnxBackendNodeModelTest.test_string_concat_cpu",
205+
"OnnxBackendNodeModelTest.test_string_concat_empty_string_cpu",
206+
"OnnxBackendNodeModelTest.test_string_concat_utf8_cpu",
207+
"OnnxBackendNodeModelTest.test_string_concat_zero_dimensional_cpu",
208+
"OnnxBackendNodeModelTest.test_string_split_basic_cpu",
209+
"OnnxBackendNodeModelTest.test_string_split_consecutive_delimiters_cpu",
210+
"OnnxBackendNodeModelTest.test_string_split_empty_string_delimiter_cpu",
211+
"OnnxBackendNodeModelTest.test_string_split_empty_tensor_cpu",
212+
"OnnxBackendNodeModelTest.test_string_split_maxsplit_cpu",
213+
"OnnxBackendNodeModelTest.test_string_split_no_delimiter_cpu",
189214
),
190215
(
191216
xfail_issue_33595,
@@ -485,7 +510,7 @@ def expect_fail(test_case_path, xfail): # type: (str) -> None
485510
"OnnxBackendNodeModelTest.test_stft_with_window_cpu",
486511
),
487512
(
488-
xfail_issue_91151,
513+
skip_issue_91151,
489514
"OnnxBackendNodeModelTest.test_castlike_BFLOAT16_to_FLOAT_cpu",
490515
"OnnxBackendNodeModelTest.test_castlike_FLOAT_to_BFLOAT16_cpu",
491516
),
@@ -765,6 +790,8 @@ def expect_fail(test_case_path, xfail): # type: (str) -> None
765790
"OnnxBackendNodeModelTest.test_dequantizelinear_e5m2_cpu",
766791
"OnnxBackendNodeModelTest.test_quantizelinear_e4m3fn_cpu",
767792
"OnnxBackendNodeModelTest.test_quantizelinear_e5m2_cpu",
793+
"OnnxBackendNodeModelTest.test_dequantizelinear_e4m3fn_float16_cpu",
794+
"OnnxBackendNodeModelTest.test_dequantizelinear_e4m3fn_zero_point_cpu",
768795
),
769796
(
770797
xfail_issue_119900,
@@ -797,6 +824,10 @@ def expect_fail(test_case_path, xfail): # type: (str) -> None
797824
xfail_issue_119922,
798825
"OnnxBackendNodeModelTest.test_ai_onnx_ml_array_feature_extractor_cpu",
799826
"OnnxBackendNodeModelTest.test_ai_onnx_ml_binarizer_cpu",
827+
"OnnxBackendNodeModelTest.test_ai_onnx_ml_label_encoder_string_int_cpu",
828+
"OnnxBackendNodeModelTest.test_ai_onnx_ml_label_encoder_string_int_no_default_cpu",
829+
"OnnxBackendNodeModelTest.test_ai_onnx_ml_label_encoder_tensor_mapping_cpu",
830+
"OnnxBackendNodeModelTest.test_ai_onnx_ml_label_encoder_tensor_value_only_mapping_cpu",
800831
),
801832
(
802833
xfail_issue_119925,
@@ -806,6 +837,100 @@ def expect_fail(test_case_path, xfail): # type: (str) -> None
806837
xfail_issue_119926,
807838
"OnnxBackendNodeModelTest.test_roialign_mode_max_cpu",
808839
),
840+
(
841+
xfail_issue_125485,
842+
"OnnxBackendNodeModelTest.test_affine_grid_2d_align_corners_cpu",
843+
"OnnxBackendNodeModelTest.test_affine_grid_2d_align_corners_expanded_cpu",
844+
"OnnxBackendNodeModelTest.test_affine_grid_2d_cpu",
845+
"OnnxBackendNodeModelTest.test_affine_grid_2d_expanded_cpu",
846+
"OnnxBackendNodeModelTest.test_affine_grid_3d_align_corners_cpu",
847+
"OnnxBackendNodeModelTest.test_affine_grid_3d_align_corners_expanded_cpu",
848+
"OnnxBackendNodeModelTest.test_affine_grid_3d_cpu",
849+
"OnnxBackendNodeModelTest.test_affine_grid_3d_expanded_cpu",
850+
),
851+
(
852+
xfail_issue_125486,
853+
"OnnxBackendNodeModelTest.test_gelu_default_1_cpu",
854+
"OnnxBackendNodeModelTest.test_gelu_default_2_cpu",
855+
"OnnxBackendNodeModelTest.test_gelu_tanh_1_cpu",
856+
"OnnxBackendNodeModelTest.test_gelu_tanh_2_cpu",
857+
),
858+
(
859+
xfail_issue_125488,
860+
"OnnxBackendNodeModelTest.test_image_decoder_decode_bmp_rgb_cpu",
861+
"OnnxBackendNodeModelTest.test_image_decoder_decode_jpeg2k_rgb_cpu",
862+
"OnnxBackendNodeModelTest.test_image_decoder_decode_jpeg_bgr_cpu",
863+
"OnnxBackendNodeModelTest.test_image_decoder_decode_jpeg_grayscale_cpu",
864+
"OnnxBackendNodeModelTest.test_image_decoder_decode_jpeg_rgb_cpu",
865+
"OnnxBackendNodeModelTest.test_image_decoder_decode_png_rgb_cpu",
866+
"OnnxBackendNodeModelTest.test_image_decoder_decode_pnm_rgb_cpu",
867+
"OnnxBackendNodeModelTest.test_image_decoder_decode_tiff_rgb_cpu",
868+
"OnnxBackendNodeModelTest.test_image_decoder_decode_webp_rgb_cpu",
869+
),
870+
(
871+
xfail_issue_125487,
872+
"OnnxBackendNodeModelTest.test_gridsample_aligncorners_true_cpu",
873+
"OnnxBackendNodeModelTest.test_gridsample_bicubic_align_corners_0_additional_1_cpu",
874+
"OnnxBackendNodeModelTest.test_gridsample_bicubic_align_corners_1_additional_1_cpu",
875+
"OnnxBackendNodeModelTest.test_gridsample_bicubic_cpu",
876+
"OnnxBackendNodeModelTest.test_gridsample_bilinear_align_corners_0_additional_1_cpu",
877+
"OnnxBackendNodeModelTest.test_gridsample_bilinear_align_corners_1_additional_1_cpu",
878+
"OnnxBackendNodeModelTest.test_gridsample_bilinear_cpu",
879+
"OnnxBackendNodeModelTest.test_gridsample_cpu",
880+
"OnnxBackendNodeModelTest.test_gridsample_volumetric_bilinear_align_corners_0_cpu",
881+
"OnnxBackendNodeModelTest.test_gridsample_volumetric_bilinear_align_corners_1_cpu",
882+
"OnnxBackendNodeModelTest.test_gridsample_volumetric_nearest_align_corners_0_cpu",
883+
"OnnxBackendNodeModelTest.test_gridsample_volumetric_nearest_align_corners_1_cpu",
884+
),
885+
(
886+
skip_issue_125489,
887+
"OnnxBackendNodeModelTest.test_isinf_float16_cpu",
888+
),
889+
(
890+
xfail_issue_125491,
891+
"OnnxBackendNodeModelTest.test_averagepool_3d_dilations_large_count_include_pad_is_0_ceil_mode_is_False_cpu",
892+
"OnnxBackendNodeModelTest.test_averagepool_3d_dilations_large_count_include_pad_is_0_ceil_mode_is_True_cpu",
893+
"OnnxBackendNodeModelTest.test_averagepool_3d_dilations_large_count_include_pad_is_1_ceil_mode_is_False_cpu",
894+
"OnnxBackendNodeModelTest.test_averagepool_3d_dilations_large_count_include_pad_is_1_ceil_mode_is_True_cpu",
895+
"OnnxBackendNodeModelTest.test_averagepool_3d_dilations_small_cpu",
896+
),
897+
(
898+
xfail_issue_125492,
899+
"OnnxBackendNodeModelTest.test_dft_axis_opset19_cpu",
900+
"OnnxBackendNodeModelTest.test_dft_inverse_opset19_cpu",
901+
"OnnxBackendNodeModelTest.test_dft_opset19_cpu",
902+
),
903+
(
904+
xfail_issue_125493,
905+
"OnnxBackendNodeModelTest.test_reduce_l1_empty_set_cpu",
906+
"OnnxBackendNodeModelTest.test_reduce_l2_empty_set_cpu",
907+
"OnnxBackendNodeModelTest.test_reduce_log_sum_empty_set_cpu",
908+
"OnnxBackendNodeModelTest.test_reduce_log_sum_exp_empty_set_cpu",
909+
"OnnxBackendNodeModelTest.test_reduce_min_empty_set_cpu",
910+
"OnnxBackendNodeModelTest.test_reduce_prod_empty_set_cpu",
911+
"OnnxBackendNodeModelTest.test_reduce_sum_square_empty_set_cpu",
912+
),
913+
(
914+
xfail_issue_125495,
915+
"OnnxBackendNodeModelTest.test_reduce_max_bool_inputs_cpu",
916+
"OnnxBackendNodeModelTest.test_reduce_min_bool_inputs_cpu",
917+
),
918+
(
919+
xfail_issue_127812,
920+
"OnnxBackendNodeModelTest.test_reduce_l1_empty_set_expanded_cpu",
921+
"OnnxBackendNodeModelTest.test_reduce_l2_empty_set_expanded_cpu",
922+
"OnnxBackendNodeModelTest.test_reduce_log_sum_empty_set_cpu",
923+
"OnnxBackendNodeModelTest.test_reduce_log_sum_exp_empty_set_cpu",
924+
"OnnxBackendNodeModelTest.test_reduce_sum_empty_set_cpu",
925+
"OnnxBackendNodeModelTest.test_reduce_sum_empty_set_non_reduced_axis_zero_cpu",
926+
"OnnxBackendNodeModelTest.test_reduce_sum_square_empty_set_expanded_cpu",
927+
),
928+
(
929+
skip_misalignment,
930+
"OnnxBackendNodeModelTest.test_gelu_default_2_expanded_cpu",
931+
"OnnxBackendNodeModelTest.test_reduce_log_sum_empty_set_expanded_cpu",
932+
"OnnxBackendNodeModelTest.test_reduce_log_sum_exp_empty_set_expanded_cpu",
933+
),
809934
]
810935

811936
for test_group in tests_expected_to_fail:

src/frontends/onnx/tests/__init__.py

+15-3
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ def xfail_test(reason="Mark the test as expected to fail", strict=True):
4242
xfail_issue_33581 = xfail_test(reason="RuntimeError: OV does not support the following ONNX operations: "
4343
"GatherElements")
4444
xfail_issue_90649 = xfail_test(reason="RuntimeError: OV does not support the following ONNX operations:"
45-
"BlackmanWindow, DFT, HammingWindow, HannWindow, LayerNormalization, "
45+
"DFT, LayerNormalization, "
4646
"MelWeightMatrix, SequenceMap, STFT")
4747
xfail_issue_35923 = xfail_test(reason="RuntimeError: PReLU without weights is not supported")
4848
xfail_issue_38091 = xfail_test(reason="AssertionError: Mismatched elements")
@@ -147,12 +147,13 @@ def xfail_test(reason="Mark the test as expected to fail", strict=True):
147147
"CPU plugin: Input image format UNSPECIFIED is not supported yet...")
148148

149149
xfail_issue_86911 = xfail_test(reason="LSTM_Seq_len_unpacked - AssertionError: zoo models results mismatch")
150-
xfail_issue_91151 = xfail_test(reason="RuntimeError: model input (shape={3,4}) and blob (shape=(1)) are incompatible")
150+
skip_issue_91151 = pytest.mark.skip(reason="RuntimeError: model input (shape={3,4}) and blob (shape=(1)) are incompatible") # Need to enable after bumping to 1.15
151151
xfail_issue_101965 = xfail_test(reason="Mismatch with numpy-based expected results.")
152152
xfail_issue_113506 = xfail_test(reason="Unsupported operation of type: LSTMSequence Node expects 7 inputs. Actual: 8")
153153

154154
skip_dynamic_model = pytest.mark.skip(reason="CPU plug-in can't load a model with dynamic output shapes via legacy API")
155155

156+
# ONNX 1.14
156157
xfail_issue_119896 = xfail_test(reason="Unsupported element type: FLOAT8")
157158
xfail_issue_119900 = xfail_test(reason="While validating ONNX node '<Node(Resize): Y>': "
158159
"half_pixel_symmetric - this type of coordinate transformation mode "
@@ -165,11 +166,22 @@ def xfail_test(reason="Mark the test as expected to fail", strict=True):
165166
xfail_issue_119922 = xfail_test(reason="ai.onnx.ml operators domain isn't supported")
166167
xfail_issue_119925 = xfail_test(reason="AveragePool AssertionError: Not equal to tolerance rtol=0.001, atol=1e-07")
167168
xfail_issue_119926 = xfail_test(reason="ROIAlign AssertionError: Not equal to tolerance rtol=0.001, atol=1e-07")
169+
170+
# ONNX 1.15
171+
xfail_issue_125485 = xfail_test(reason="AffineGrid operation is not supported")
172+
xfail_issue_125486 = xfail_test(reason="Gelu operation is not supported")
173+
xfail_issue_125488 = xfail_test(reason="ImageDecoder operation is not supported")
174+
skip_issue_125487 = pytest.mark.skip(reason="GridSample doesn't support cubic and linear modes, and 4D tensor") # Need to enable after bumping to 1.15
175+
skip_issue_125489 = pytest.mark.skip(reason="IsInf changed behavior since opset-20") # Need to enable after opset-20 will be released
176+
xfail_issue_125491 = xfail_test(reason="AveragePool mismatch with differences in shapes")
177+
xfail_issue_125492 = xfail_test(reason="DFT mismatch")
178+
xfail_issue_125493 = xfail_test(reason="Reduce* mismatch")
179+
xfail_issue_125495 = xfail_test(reason="ReduceMin/Max doesn't support boolean")
168180
xfail_issue_122776 = xfail_test(reason="test_mish_expanded_cpu - "
169181
"Not equal to tolerance")
170182
xfail_issue_122775 = xfail_test(reason="test_resize_downsample_scales_linear_cpu - "
171183
"Not equal to tolerance")
172-
184+
skip_misalignment = pytest.mark.skip(reason="Misalignment between onnx versions") # Need to enable after bumping to 1.15
173185
skip_issue_127649 = pytest.mark.skip(reason="Not equal to tolerance rtol=0.001, atol=1e-07 - "
174186
"Mismatched elements: 1 / 1000 (0.1%)")
175187

src/frontends/onnx/tests/onnx_prototxt_converter.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -58,12 +58,12 @@ def _get_output_file_path(path, extension):
5858

5959
def save_model(proto, f, format=None, save_as_external_data=False, all_tensors_to_one_file=True, location=None, size_threshold=1024, convert_attribute=False):
6060
if isinstance(proto, bytes):
61-
proto = onnx._deserialize(proto, onnx.ModelProto())
61+
proto = onnx.serialization.registry.get("protobuf").serialize_proto(proto, onnx.ModelProto())
6262

6363
if save_as_external_data:
6464
convert_model_to_external_data(proto, all_tensors_to_one_file, location, size_threshold, convert_attribute)
6565

66-
s = onnx._serialize(proto)
66+
s = onnx.serialization.registry.get("protobuf").serialize_proto(proto)
6767
onnx._save_bytes(s, f)
6868

6969

0 commit comments

Comments
 (0)