Add backend tests to ONNX OpenVino CI (#1972)
authorRafal Blaczkowski <rafal.blaczkowski@intel.com>
Mon, 14 Sep 2020 11:07:47 +0000 (13:07 +0200)
committerGitHub <noreply@github.com>
Mon, 14 Sep 2020 11:07:47 +0000 (13:07 +0200)
ngraph/python/tests/__init__.py
ngraph/python/tests/test_onnx/test_backend.py [new file with mode: 0644]
ngraph/python/tests/test_onnx/utils/onnx_backend.py
ngraph/python/tox.ini

index 2853a4e..822d99b 100644 (file)
@@ -31,9 +31,14 @@ def xfail_test(reason="Mark the test as expected to fail", strict=True):
     return pytest.mark.xfail(reason=reason, strict=strict)
 
 
-xfail_issue_34314 = xfail_test(reason="RuntimeError: RNNCell operation has a form that is not "
-                               "supported.RNNCell_21204 should be converted to RNNCellIE operation")
 skip_segfault = pytest.mark.skip(reason="Segmentation fault error")
+xfail_issue_33540 = xfail_test(reason="RuntimeError: GRUCell operation has a form that is not supported "
+                                      "GRUCell_<number> should be converted to GRUCellIE operation")
+xfail_issue_33616 = xfail_test(reason="Add ceil_mode for Max and Avg pooling (reference implementation)")
+xfail_issue_34310 = xfail_test(reason="RuntimeError: Error of validate layer: LSTMSequence_<number> with "
+                                      "type: LSTMSequence. Layer is not instance of RNNLayer class")
+xfail_issue_34314 = xfail_test(reason="RuntimeError: RNNCell operation has a form that is not "
+                               "supported.RNNCell_<number> should be converted to RNNCellIE operation")
 xfail_issue_34323 = xfail_test(reason="RuntimeError: data [value] doesn't exist")
 xfail_issue_34327 = xfail_test(reason="RuntimeError: '<value>' layer has different "
                                       "IN and OUT channels number")
@@ -59,11 +64,11 @@ xfail_issue_35925 = xfail_test(reason="Assertion error - reduction ops results m
 xfail_issue_35926 = xfail_test(reason="RuntimeError: [NOT_IMPLEMENTED] Input image format I64 is "
                                       "not supported yet...")
 xfail_issue_35927 = xfail_test(reason="RuntimeError: B has zero dimension that is not allowable")
-xfail_issue_35929 = xfail_test(reason="CRuntimeError: Incorrect precision f64!")
+xfail_issue_35929 = xfail_test(reason="RuntimeError: Incorrect precision f64!")
 xfail_issue_35930 = xfail_test(reason="onnx.onnx_cpp2py_export.checker.ValidationError: "
                                       "Required attribute 'to' is missing.")
 xfail_issue_35932 = xfail_test(reason="Assertion error - logsoftmax results mismatch")
-xfail_issue_36437 = xfail_test(reason="RuntimeError: Cannot find blob with name: y")
+xfail_issue_36437 = xfail_test(reason="RuntimeError: Cannot find blob with name: <value>")
 xfail_issue_36476 = xfail_test(reason="RuntimeError: [NOT_IMPLEMENTED] Input image format U32 is "
                                "not supported yet...")
 xfail_issue_36478 = xfail_test(reason="RuntimeError: [NOT_IMPLEMENTED] Input image format U64 is "
@@ -74,13 +79,112 @@ xfail_issue_36480 = xfail_test(reason="RuntimeError: [NOT_FOUND] Unsupported pro
 xfail_issue_36481 = xfail_test(reason="TypeError: _get_node_factory() takes from 0 to 1 positional "
                                "arguments but 2 were given")
 xfail_issue_36483 = xfail_test(reason="RuntimeError: Unsupported primitive of type: "
-                               "Ceiling name: Ceiling_22669")
+                               "Ceiling name: <value>")
 xfail_issue_36485 = xfail_test(reason="RuntimeError: Check 'm_group >= 1' failed at "
                                "/openvino/ngraph/core/src/op/shuffle_channels.cpp:77:")
 xfail_issue_36486 = xfail_test(reason="RuntimeError: HardSigmoid operation should be converted "
                                       "to HardSigmoid_IE")
 xfail_issue_36487 = xfail_test(reason="Assertion error - mvn operator computation mismatch")
-
+xfail_issue_38084 = xfail_test(reason="RuntimeError: AssertionFailed: layer->get_output_partial_shape(i) "
+                                      "is_static() nGraph NonZero operation with name: result cannot be"
+                                      "converted to NonZero layer with name: result because output"
+                                      "with index 0 contains dynamic shapes: {2,?}. Try to use "
+                                      "CNNNetwork::reshape() method in order to specialize shapes "
+                                      "before the conversion.")
+xfail_issue_38085 = xfail_test(reason="RuntimeError: Interpolate operation should be converted to Interp")
+xfail_issue_38086 = xfail_test(reason="RuntimeError: Quantize layer input '<value>' doesn't have blobs")
+xfail_issue_38087 = xfail_test(reason="RuntimeError: Cannot cast to tensor desc. Format is unsupported!")
+xfail_issue_38088 = xfail_test(reason="RuntimeError: Check '((axis >= axis_range_min) && "
+                                      "(axis <= axis_range_max))' failed at "
+                                      "/openvino/ngraph/core/src/validation_util.cpp:913: "
+                                      "Split Parameter axis <value> out of the tensor rank range <value>.")
+xfail_issue_38089 = xfail_test(reason="RuntimeError: Node 2 contains empty child edge for index 0")
+xfail_issue_38090 = xfail_test(reason="AssertionError: Items types are not equal")
+xfail_issue_38091 = xfail_test(reason="AssertionError: Mismatched elements")
+xfail_issue_38699 = xfail_test(reason="RuntimeError: nGraph does not support the following ONNX operations:"
+                                      "ai.onnx.preview.training.Gradient")
+xfail_issue_38700 = xfail_test(reason="RuntimeError: nGraph does not support different sequence operations:"
+                                      "ConcatFromSequence, SequenceConstruct, SequenceAt, SplitToSequence,"
+                                      "SequenceEmpty, SequenceInsert, SequenceErase, SequenceLength ")
+xfail_issue_38701 = xfail_test(reason="RuntimeError: unsupported element type: STRING")
+xfail_issue_38702 = xfail_test(reason="RuntimeError: nGraph does not support the following ONNX operations:"
+                                      "Unique")
+xfail_issue_38704 = xfail_test(reason="RuntimeError: nGraph does not support the following ONNX operations:"
+                                      "TfIdfVectorizer")
+xfail_issue_38705 = xfail_test(reason="IndexError: deque::_M_range_check: __n (which is 0)"
+                                      ">= this->size() (which is 0)")
+xfail_issue_38706 = xfail_test(reason="RuntimeError: output_3.0 has zero dimension which is not allowed")
+xfail_issue_38707 = xfail_test(reason="RuntimeError: nGraph does not support the following ONNX operations:"
+                                      "SoftmaxCrossEntropyLoss")
+xfail_issue_38708 = xfail_test(reason="RuntimeError: While validating ONNX node '<Node(Slice): y>': "
+                                      "Axes input must be constant")
+xfail_issue_38709 = xfail_test(reason="RuntimeError: nGraph does not support the following ONNX operations:"
+                                      "Scan")
+xfail_issue_38710 = xfail_test(reason="RuntimeError: roi has zero dimension which is not allowed")
+xfail_issue_38711 = xfail_test(reason="RuntimeError: nGraph does not support the following ONNX operations:"
+                                      "GatherElements")
+xfail_issue_38712 = xfail_test(reason="RuntimeError: Check '(fmod == 1) "
+                                      "While validating ONNX node '<Node(Mod): z>': "
+                                      "Only 'fmod=1' mode is supported for mod operator.")
+xfail_issue_38713 = xfail_test(reason="RuntimeError: nGraph does not support the following ONNX operations:"
+                                      "ai.onnx.preview.training.Momentum")
+xfail_issue_38714 = xfail_test(reason="RuntimeError: While validating ONNX node '<Node(Resize): Y>'"
+                                      "Check 'element::Type::merge(element_type, element_type,"
+                                      "node->get_input_element_type(i))' "
+                                      "While validating node 'v1::<name> (sizes[0]:i64{4},"
+                                      "Convert_29306[0]:f32{4}) -> (dynamic?)' with friendly_name '<name>':"
+                                      "Argument element types are inconsistent.")
+xfail_issue_38715 = xfail_test(reason="RuntimeError: While validating ONNX node '<Node(OneHot): y>':"
+                                      "While validating node 'v1::OneHot OneHot_<number>"
+                                      "(Convert_13525[0]:i64{3}, depth[0]:f32{},"
+                                      "Squeeze_13532[0]:i32{}, Squeeze_13529[0]:i32{}) -> (dynamic?)'"
+                                      "with friendly_name 'OneHot_13534':"
+                                      "Depth must be integral element type.")
+xfail_issue_38716 = xfail_test(reason="RuntimeError: nGraph does not support the following ONNX operations:"
+                                      "MaxUnpool")
+xfail_issue_38717 = xfail_test(reason="RuntimeError: nGraph does not support the following ONNX operations:"
+                                      "GreaterOrEqual")
+xfail_issue_38718 = xfail_test(reason="nGraph does not support the following ONNX operations:"
+                                      "IsNaN and isInf")
+xfail_issue_38719 = xfail_test(reason="nGraph does not support the following ONNX operations: GatherND")
+xfail_issue_38720 = xfail_test(reason="nGraph does not support the following ONNX operations:"
+                                      "DynamicQuantizeLinear")
+xfail_issue_38721 = xfail_test(reason="RuntimeError: While validating ONNX node '<Node(Pow): z>': "
+                                      "While validating node 'v1::Power Power_<number>"
+                                      "(x[0]:f32{3}, y[0]:i64{3}) -> (dynamic?)' with friendly_name "
+                                      "'Power_<number>': Argument element types are inconsistent.")
+xfail_issue_38722 = xfail_test(reason="RuntimeError: While validating ONNX nodes MatMulInteger"
+                                      "and QLinearMatMul"
+                                      "Input0 scale and input0 zero point shape must be same and 1")
+xfail_issue_38723 = xfail_test(reason="RuntimeError: nGraph does not support the following ONNX operations:"
+                                      "QLinearConv")
+xfail_issue_38724 = xfail_test(reason="RuntimeError: While validating ONNX node '<Node(Resize): Y>':"
+                                      "tf_crop_and_resize - this type of coordinate transformation mode"
+                                      "is not supported. Choose one of the following modes:"
+                                      "tf_half_pixel_for_nn, asymmetric, align_corners, pytorch_half_pixel,"
+                                      "half_pixel")
+xfail_issue_38725 = xfail_test(reason="RuntimeError: While validating ONNX node '<Node(Loop):"
+                                      "value info has no element type specified")
+xfail_issue_38726 = xfail_test(reason="RuntimeError: nGraph does not support the following ONNX operations:"
+                                      "LessOrEqual")
+xfail_issue_38727 = xfail_test(reason="RuntimeError: nGraph does not support the following ONNX operations:"
+                                      "Einsum")
+xfail_issue_38728 = xfail_test(reason="RuntimeError: nGraph does not support the following ONNX operations:"
+                                      "Det")
+xfail_issue_38729 = xfail_test(reason="RuntimeError: nGraph does not support the following ONNX operations:"
+                                      "Compress")
+xfail_issue_38731 = xfail_test(reason="RuntimeError: nGraph does not support the following ONNX operations:"
+                                      "BitShift")
+xfail_issue_38732 = xfail_test(reason="RuntimeError: nGraph does not support the following ONNX operations:"
+                                      "ConvInteger")
+xfail_issue_38733 = xfail_test(reason="RuntimeError: nGraph does not support the following ONNX operations:"
+                                      "Celu")
+xfail_issue_38734 = xfail_test(reason="RuntimeError: nGraph does not support the following ONNX operations:"
+                                      "ai.onnx.preview.training.Adam")
+xfail_issue_38735 = xfail_test(reason="RuntimeError: nGraph does not support the following ONNX operations:"
+                                      "ai.onnx.preview.training.Adagrad")
+xfail_issue_38736 = xfail_test(reason="RuntimeError: nGraph does not support the following ONNX operations:"
+                                      "NegativeLogLikelihoodLoss")
 
 # Model Zoo issues:
 xfail_issue_36533 = xfail_test(reason="AssertionError: zoo models results mismatch")
diff --git a/ngraph/python/tests/test_onnx/test_backend.py b/ngraph/python/tests/test_onnx/test_backend.py
new file mode 100644 (file)
index 0000000..425f320
--- /dev/null
@@ -0,0 +1,693 @@
+# ******************************************************************************
+# Copyright 2018-2020 Intel Corporation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ******************************************************************************
+
+from __future__ import absolute_import
+from __future__ import division
+from __future__ import print_function
+from __future__ import unicode_literals
+
+import logging
+
+import onnx.backend.test
+
+from tests.test_onnx.utils.onnx_backend import OpenVinoTestBackend
+from tests import (BACKEND_NAME,
+                   xfail_issue_33540,
+                   xfail_issue_34314,
+                   xfail_issue_35926,
+                   xfail_issue_38084,
+                   xfail_issue_33616,
+                   xfail_issue_38085,
+                   xfail_issue_38086,
+                   xfail_issue_38087,
+                   xfail_issue_35893,
+                   xfail_issue_35923,
+                   xfail_issue_35914,
+                   xfail_issue_36483,
+                   xfail_issue_34323,
+                   xfail_issue_35915,
+                   xfail_issue_34310,
+                   xfail_issue_36476,
+                   xfail_issue_36478,
+                   xfail_issue_36437,
+                   xfail_issue_38088,
+                   xfail_issue_38089,
+                   xfail_issue_38090,
+                   xfail_issue_38091,
+                   xfail_issue_35929,
+                   xfail_issue_38699,
+                   xfail_issue_38700,
+                   xfail_issue_38701,
+                   xfail_issue_38702,
+                   xfail_issue_38704,
+                   xfail_issue_38705,
+                   xfail_issue_38706,
+                   xfail_issue_38736,
+                   xfail_issue_38707,
+                   xfail_issue_38708,
+                   xfail_issue_38709,
+                   xfail_issue_38710,
+                   xfail_issue_38711,
+                   xfail_issue_38712,
+                   xfail_issue_38713,
+                   xfail_issue_38714,
+                   xfail_issue_38715,
+                   xfail_issue_38716,
+                   xfail_issue_38717,
+                   xfail_issue_38718,
+                   xfail_issue_38719,
+                   xfail_issue_38720,
+                   xfail_issue_38721,
+                   xfail_issue_38722,
+                   xfail_issue_38723,
+                   xfail_issue_38724,
+                   xfail_issue_38725,
+                   xfail_issue_38726,
+                   xfail_issue_38727,
+                   xfail_issue_38728,
+                   xfail_issue_38729,
+                   xfail_issue_38731,
+                   xfail_issue_38732,
+                   xfail_issue_38733,
+                   xfail_issue_38734,
+                   xfail_issue_38735)
+
+
+def expect_fail(test_case_path, xfail):  # type: (str) -> None
+    """Mark the test as expected to fail."""
+    module_name, test_name = test_case_path.split(".")
+    module = globals().get(module_name)
+    if hasattr(module, test_name):
+        xfail(getattr(module, test_name))
+    else:
+        logging.getLogger().warning("Could not mark test as XFAIL, not found: %s", test_case_path)
+
+
+OpenVinoTestBackend.backend_name = BACKEND_NAME
+
+# This is a pytest magic variable to load extra plugins
+# Uncomment the line below to enable the ONNX compatibility report
+# pytest_plugins = "onnx.backend.test.report",
+
+# import all test cases at global scope to make them visible to python.unittest
+backend_test = onnx.backend.test.BackendTest(OpenVinoTestBackend, __name__)
+
+skip_tests_general = [
+    # Big model tests (see test_zoo_models.py):
+    "test_bvlc_alexnet",
+    "test_densenet121",
+    "test_inception_v1",
+    "test_inception_v2",
+    "test_resnet50",
+    "test_shufflenet",
+    "test_squeezenet",
+    "test_vgg19",
+    "test_zfnet512",
+]
+
+for test in skip_tests_general:
+    backend_test.exclude(test)
+
+# NOTE: ALL backend_test.exclude CALLS MUST BE PERFORMED BEFORE THE CALL TO globals().update
+
+OnnxBackendNodeModelTest = None
+OnnxBackendSimpleModelTest = None
+OnnxBackendPyTorchOperatorModelTest = None
+OnnxBackendPyTorchConvertedModelTest = None
+globals().update(backend_test.enable_report().test_cases)
+
+tests_expected_to_fail = [
+    (xfail_issue_34314,
+        "OnnxBackendNodeModelTest.test_rnn_seq_length_cpu",
+        "OnnxBackendNodeModelTest.test_simple_rnn_defaults_cpu",
+        "OnnxBackendNodeModelTest.test_simple_rnn_with_initial_bias_cpu"),
+    (xfail_issue_33540,
+        "OnnxBackendNodeModelTest.test_gru_defaults_cpu",
+        "OnnxBackendNodeModelTest.test_gru_seq_length_cpu",
+        "OnnxBackendNodeModelTest.test_gru_with_initial_bias_cpu"),
+    (xfail_issue_35926,
+        "OnnxBackendNodeModelTest.test_expand_dim_changed_cpu",
+        "OnnxBackendNodeModelTest.test_expand_dim_unchanged_cpu",
+        "OnnxBackendSimpleModelTest.test_expand_shape_model1_cpu",
+        "OnnxBackendSimpleModelTest.test_expand_shape_model2_cpu",
+        "OnnxBackendSimpleModelTest.test_expand_shape_model3_cpu",
+        "OnnxBackendSimpleModelTest.test_expand_shape_model4_cpu",
+        "OnnxBackendNodeModelTest.test_reshape_extended_dims_cpu",
+        "OnnxBackendNodeModelTest.test_reshape_negative_dim_cpu",
+        "OnnxBackendNodeModelTest.test_reshape_one_dim_cpu",
+        "OnnxBackendNodeModelTest.test_reshape_reduced_dims_cpu",
+        "OnnxBackendNodeModelTest.test_reshape_negative_extended_dims_cpu",
+        "OnnxBackendNodeModelTest.test_reshape_reordered_all_dims_cpu",
+        "OnnxBackendNodeModelTest.test_reshape_reordered_last_dims_cpu",
+        "OnnxBackendNodeModelTest.test_reshape_zero_and_negative_dim_cpu",
+        "OnnxBackendNodeModelTest.test_reshape_zero_dim_cpu",
+        "OnnxBackendNodeModelTest.test_tile_cpu",
+        "OnnxBackendNodeModelTest.test_tile_precomputed_cpu",
+        "OnnxBackendNodeModelTest.test_constantofshape_float_ones_cpu",
+        "OnnxBackendNodeModelTest.test_constantofshape_int_zeros_cpu",
+        "OnnxBackendNodeModelTest.test_scatter_with_axis_cpu",
+        "OnnxBackendNodeModelTest.test_scatter_without_axis_cpu",
+        "OnnxBackendNodeModelTest.test_nonmaxsuppression_center_point_box_format_cpu",
+        "OnnxBackendNodeModelTest.test_nonmaxsuppression_flipped_coordinates_cpu",
+        "OnnxBackendNodeModelTest.test_nonmaxsuppression_identical_boxes_cpu",
+        "OnnxBackendNodeModelTest.test_nonmaxsuppression_limit_output_size_cpu",
+        "OnnxBackendNodeModelTest.test_nonmaxsuppression_single_box_cpu",
+        "OnnxBackendNodeModelTest.test_nonmaxsuppression_suppress_by_IOU_and_scores_cpu",
+        "OnnxBackendNodeModelTest.test_nonmaxsuppression_suppress_by_IOU_cpu",
+        "OnnxBackendNodeModelTest.test_nonmaxsuppression_two_batches_cpu",
+        "OnnxBackendNodeModelTest.test_nonmaxsuppression_two_classes_cpu",
+        "OnnxBackendNodeModelTest.test_slice_default_axes_cpu",
+        "OnnxBackendNodeModelTest.test_roialign_cpu",
+        "OnnxBackendNodeModelTest.test_scatter_elements_with_axis_cpu",
+        "OnnxBackendNodeModelTest.test_scatter_elements_with_negative_indices_cpu",
+        "OnnxBackendNodeModelTest.test_scatter_elements_without_axis_cpu",
+        "OnnxBackendNodeModelTest.test_constant_pad_cpu",
+        "OnnxBackendNodeModelTest.test_edge_pad_cpu",
+        "OnnxBackendNodeModelTest.test_reflect_pad_cpu",
+        "OnnxBackendNodeModelTest.test_top_k_cpu",
+        "OnnxBackendNodeModelTest.test_top_k_negative_axis_cpu",
+        "OnnxBackendNodeModelTest.test_top_k_smallest_cpu",
+        "OnnxBackendNodeModelTest.test_where_long_example_cpu",
+        "OnnxBackendNodeModelTest.test_gather_0_cpu",
+        "OnnxBackendNodeModelTest.test_gather_1_cpu",
+        "OnnxBackendNodeModelTest.test_mod_int64_fmod_cpu",
+        "OnnxBackendNodeModelTest.test_reversesequence_batch_cpu",
+        "OnnxBackendNodeModelTest.test_reversesequence_time_cpu",
+        "OnnxBackendPyTorchOperatorModelTest.test_operator_non_float_params_cpu",
+        "OnnxBackendPyTorchConvertedModelTest.test_Embedding_cpu",
+        "OnnxBackendPyTorchConvertedModelTest.test_Embedding_sparse_cpu",
+        "OnnxBackendNodeModelTest.test_constantofshape_int_shape_zero_cpu",
+        "OnnxBackendNodeModelTest.test_max_int64_cpu",
+        "OnnxBackendNodeModelTest.test_pow_types_int64_int64_cpu",
+        "OnnxBackendNodeModelTest.test_min_int64_cpu",
+        "OnnxBackendNodeModelTest.test_gather_negative_indices_cpu",
+        "OnnxBackendNodeModelTest.test_scatternd_cpu"),
+    (xfail_issue_38084,
+        "OnnxBackendNodeModelTest.test_nonzero_example_cpu",
+        "OnnxBackendNodeModelTest.test_range_int32_type_negative_delta_cpu",
+        "OnnxBackendNodeModelTest.test_range_float_type_positive_delta_cpu"),
+    (xfail_issue_33616,
+        "OnnxBackendNodeModelTest.test_maxpool_2d_ceil_cpu",
+        "OnnxBackendNodeModelTest.test_maxpool_2d_dilations_cpu",
+        "OnnxBackendNodeModelTest.test_averagepool_2d_ceil_cpu"),
+    (xfail_issue_38085,
+        "OnnxBackendNodeModelTest.test_upsample_nearest_cpu"),
+    (xfail_issue_38086,
+        "OnnxBackendNodeModelTest.test_dynamicquantizelinear_min_adjusted_expanded_cpu",
+        "OnnxBackendNodeModelTest.test_dynamicquantizelinear_expanded_cpu",
+        "OnnxBackendNodeModelTest.test_dynamicquantizelinear_max_adjusted_expanded_cpu",
+        "OnnxBackendNodeModelTest.test_quantizelinear_cpu"),
+    (xfail_issue_38087,
+        "OnnxBackendNodeModelTest.test_convtranspose_1d_cpu"),
+    (xfail_issue_35893,
+        "OnnxBackendNodeModelTest.test_convtranspose_3d_cpu",
+        "OnnxBackendNodeModelTest.test_convtranspose_cpu",
+        "OnnxBackendNodeModelTest.test_convtranspose_dilations_cpu",
+        "OnnxBackendNodeModelTest.test_convtranspose_kernel_shape_cpu",
+        "OnnxBackendNodeModelTest.test_convtranspose_output_shape_cpu",
+        "OnnxBackendNodeModelTest.test_convtranspose_pad_cpu",
+        "OnnxBackendNodeModelTest.test_convtranspose_pads_cpu",
+        "OnnxBackendNodeModelTest.test_convtranspose_with_kernel_cpu",
+        "OnnxBackendNodeModelTest.test_instancenorm_example_cpu",
+        "OnnxBackendNodeModelTest.test_basic_conv_without_padding_cpu",
+        "OnnxBackendNodeModelTest.test_batchnorm_epsilon_cpu",
+        "OnnxBackendNodeModelTest.test_batchnorm_example_cpu",
+        "OnnxBackendNodeModelTest.test_conv_with_strides_and_asymmetric_padding_cpu",
+        "OnnxBackendNodeModelTest.test_conv_with_strides_no_padding_cpu",
+        "OnnxBackendNodeModelTest.test_conv_with_strides_padding_cpu",
+        "OnnxBackendNodeModelTest.test_instancenorm_epsilon_cpu",
+        "OnnxBackendNodeModelTest.test_basic_conv_with_padding_cpu"),
+    (xfail_issue_35923,
+        "OnnxBackendNodeModelTest.test_prelu_broadcast_cpu",
+        "OnnxBackendNodeModelTest.test_prelu_example_cpu"),
+    (xfail_issue_35914,
+        "OnnxBackendNodeModelTest.test_dequantizelinear_cpu",
+        "OnnxBackendNodeModelTest.test_pow_bcast_scalar_cpu",
+        "OnnxBackendNodeModelTest.test_clip_example_cpu",
+        "OnnxBackendNodeModelTest.test_clip_inbounds_cpu",
+        "OnnxBackendNodeModelTest.test_clip_outbounds_cpu",
+        "OnnxBackendNodeModelTest.test_clip_default_int8_min_cpu",
+        "OnnxBackendNodeModelTest.test_clip_default_int8_max_cpu",
+        "OnnxBackendNodeModelTest.test_gemm_default_scalar_bias_cpu",
+        "OnnxBackendNodeModelTest.test_clip_cpu",
+        "OnnxBackendNodeModelTest.test_clip_default_max_cpu",
+        "OnnxBackendNodeModelTest.test_clip_default_min_cpu",
+        "OnnxBackendNodeModelTest.test_clip_splitbounds_cpu"),
+    (xfail_issue_36483,
+        "OnnxBackendNodeModelTest.test_ceil_cpu",
+        "OnnxBackendNodeModelTest.test_ceil_example_cpu"),
+    (xfail_issue_34323,
+        "OnnxBackendNodeModelTest.test_constant_cpu",
+        "OnnxBackendNodeModelTest.test_dropout_default_cpu",
+        "OnnxBackendNodeModelTest.test_eyelike_populate_off_main_diagonal_cpu",
+        "OnnxBackendNodeModelTest.test_eyelike_without_dtype_cpu",
+        "OnnxBackendNodeModelTest.test_max_one_input_cpu",
+        "OnnxBackendNodeModelTest.test_min_one_input_cpu",
+        "OnnxBackendNodeModelTest.test_shape_cpu",
+        "OnnxBackendNodeModelTest.test_shape_example_cpu",
+        "OnnxBackendNodeModelTest.test_size_cpu",
+        "OnnxBackendNodeModelTest.test_size_example_cpu",
+        "OnnxBackendNodeModelTest.test_sum_one_input_cpu",
+        "OnnxBackendNodeModelTest.test_dropout_default_ratio_cpu",
+        "OnnxBackendNodeModelTest.test_dropout_default_old_cpu",
+        "OnnxBackendNodeModelTest.test_dropout_random_old_cpu",
+        "OnnxBackendNodeModelTest.test_training_dropout_default_cpu",
+        "OnnxBackendNodeModelTest.test_training_dropout_zero_ratio_cpu",
+        "OnnxBackendNodeModelTest.test_training_dropout_cpu"),
+    (xfail_issue_35915,
+        "OnnxBackendNodeModelTest.test_equal_bcast_cpu",
+        "OnnxBackendNodeModelTest.test_equal_cpu",
+        "OnnxBackendNodeModelTest.test_min_int16_cpu",
+        "OnnxBackendNodeModelTest.test_min_uint8_cpu"),
+    (xfail_issue_34310,
+        "OnnxBackendNodeModelTest.test_lstm_defaults_cpu",
+        "OnnxBackendNodeModelTest.test_lstm_with_initial_bias_cpu",
+        "OnnxBackendNodeModelTest.test_lstm_with_peepholes_cpu"),
+    (xfail_issue_36476,
+        "OnnxBackendNodeModelTest.test_max_uint32_cpu",
+        "OnnxBackendNodeModelTest.test_min_uint32_cpu"),
+    (xfail_issue_36478,
+        "OnnxBackendNodeModelTest.test_max_uint64_cpu",
+        "OnnxBackendNodeModelTest.test_min_uint64_cpu"),
+    (xfail_issue_36437,
+        "OnnxBackendNodeModelTest.test_argmax_default_axis_example_cpu",
+        "OnnxBackendNodeModelTest.test_argmax_default_axis_random_cpu",
+        "OnnxBackendNodeModelTest.test_argmax_keepdims_example_cpu",
+        "OnnxBackendNodeModelTest.test_argmax_keepdims_random_cpu",
+        "OnnxBackendNodeModelTest.test_argmax_negative_axis_keepdims_example_cpu",
+        "OnnxBackendNodeModelTest.test_argmax_negative_axis_keepdims_random_cpu",
+        "OnnxBackendNodeModelTest.test_argmin_default_axis_example_cpu",
+        "OnnxBackendNodeModelTest.test_argmin_default_axis_random_cpu",
+        "OnnxBackendNodeModelTest.test_argmin_keepdims_example_cpu",
+        "OnnxBackendNodeModelTest.test_argmin_keepdims_random_cpu",
+        "OnnxBackendNodeModelTest.test_argmin_negative_axis_keepdims_example_cpu",
+        "OnnxBackendNodeModelTest.test_argmin_negative_axis_keepdims_random_cpu",
+        "OnnxBackendNodeModelTest.test_argmax_keepdims_random_select_last_index_cpu",
+        "OnnxBackendNodeModelTest.test_argmax_negative_axis_keepdims_example_select_last_index_cpu",
+        "OnnxBackendNodeModelTest.test_argmax_keepdims_example_select_last_index_cpu",
+        "OnnxBackendNodeModelTest.test_argmin_default_axis_random_select_last_index_cpu",
+        "OnnxBackendNodeModelTest.test_argmin_default_axis_example_select_last_index_cpu",
+        "OnnxBackendNodeModelTest.test_argmax_default_axis_random_select_last_index_cpu",
+        "OnnxBackendNodeModelTest.test_argmax_default_axis_example_select_last_index_cpu",
+        "OnnxBackendNodeModelTest.test_argmax_negative_axis_keepdims_random_select_last_index_cpu",
+        "OnnxBackendNodeModelTest.test_argmin_negative_axis_keepdims_random_select_last_index_cpu",
+        "OnnxBackendNodeModelTest.test_argmin_negative_axis_keepdims_example_select_last_index_cpu",
+        "OnnxBackendNodeModelTest.test_argmin_keepdims_example_select_last_index_cpu",
+        "OnnxBackendNodeModelTest.test_argmin_keepdims_random_select_last_index_cpu"),
+    (xfail_issue_38088,
+        "OnnxBackendPyTorchConvertedModelTest.test_GLU_cpu"),
+    (xfail_issue_38089,
+        "OnnxBackendPyTorchConvertedModelTest.test_GLU_dim_cpu"),
+    (xfail_issue_38090,
+        "OnnxBackendNodeModelTest.test_not_2d_cpu",
+        "OnnxBackendNodeModelTest.test_not_3d_cpu",
+        "OnnxBackendNodeModelTest.test_not_4d_cpu",
+        "OnnxBackendNodeModelTest.test_or2d_cpu",
+        "OnnxBackendNodeModelTest.test_or3d_cpu",
+        "OnnxBackendNodeModelTest.test_or4d_cpu",
+        "OnnxBackendNodeModelTest.test_or_bcast3v1d_cpu",
+        "OnnxBackendNodeModelTest.test_or_bcast3v2d_cpu",
+        "OnnxBackendNodeModelTest.test_or_bcast4v2d_cpu",
+        "OnnxBackendNodeModelTest.test_or_bcast4v3d_cpu",
+        "OnnxBackendNodeModelTest.test_or_bcast4v4d_cpu",
+        "OnnxBackendNodeModelTest.test_xor2d_cpu",
+        "OnnxBackendNodeModelTest.test_xor3d_cpu",
+        "OnnxBackendNodeModelTest.test_xor4d_cpu",
+        "OnnxBackendNodeModelTest.test_xor_bcast3v1d_cpu",
+        "OnnxBackendNodeModelTest.test_xor_bcast3v2d_cpu",
+        "OnnxBackendNodeModelTest.test_xor_bcast4v2d_cpu",
+        "OnnxBackendNodeModelTest.test_xor_bcast4v3d_cpu",
+        "OnnxBackendNodeModelTest.test_xor_bcast4v4d_cpu",
+        "OnnxBackendNodeModelTest.test_greater_equal_expanded_cpu",
+        "OnnxBackendNodeModelTest.test_less_equal_bcast_expanded_cpu",
+        "OnnxBackendNodeModelTest.test_max_int16_cpu",
+        "OnnxBackendNodeModelTest.test_max_uint16_cpu",
+        "OnnxBackendNodeModelTest.test_less_equal_expanded_cpu",
+        "OnnxBackendNodeModelTest.test_max_int8_cpu",
+        "OnnxBackendNodeModelTest.test_max_uint8_cpu",
+        "OnnxBackendNodeModelTest.test_maxpool_2d_uint8_cpu",
+        "OnnxBackendNodeModelTest.test_min_float16_cpu",
+        "OnnxBackendNodeModelTest.test_greater_equal_bcast_expanded_cpu",
+        "OnnxBackendNodeModelTest.test_min_uint16_cpu",
+        "OnnxBackendNodeModelTest.test_max_float16_cpu",
+        "OnnxBackendNodeModelTest.test_min_int8_cpu",
+        "OnnxBackendNodeModelTest.test_greater_bcast_cpu",
+        "OnnxBackendNodeModelTest.test_greater_cpu",
+        "OnnxBackendNodeModelTest.test_less_bcast_cpu",
+        "OnnxBackendNodeModelTest.test_less_cpu",
+        "OnnxBackendNodeModelTest.test_mod_mixed_sign_float16_cpu",
+        "OnnxBackendNodeModelTest.test_argmax_no_keepdims_example_cpu",
+        "OnnxBackendNodeModelTest.test_argmax_no_keepdims_random_cpu",
+        "OnnxBackendNodeModelTest.test_argmin_no_keepdims_random_cpu",
+        "OnnxBackendNodeModelTest.test_argmax_no_keepdims_random_select_last_index_cpu",
+        "OnnxBackendNodeModelTest.test_argmax_no_keepdims_example_select_last_index_cpu",
+        "OnnxBackendNodeModelTest.test_argmin_no_keepdims_example_select_last_index_cpu",
+        "OnnxBackendNodeModelTest.test_argmin_no_keepdims_random_select_last_index_cpu",
+        "OnnxBackendNodeModelTest.test_cast_FLOAT_to_FLOAT16_cpu",
+        "OnnxBackendNodeModelTest.test_and3d_cpu",
+        "OnnxBackendNodeModelTest.test_and4d_cpu",
+        "OnnxBackendNodeModelTest.test_and_bcast3v1d_cpu",
+        "OnnxBackendNodeModelTest.test_and_bcast3v2d_cpu",
+        "OnnxBackendNodeModelTest.test_and_bcast4v2d_cpu",
+        "OnnxBackendNodeModelTest.test_and_bcast4v3d_cpu",
+        "OnnxBackendNodeModelTest.test_and_bcast4v4d_cpu",
+        "OnnxBackendNodeModelTest.test_argmin_no_keepdims_example_cpu",
+        "OnnxBackendNodeModelTest.test_clip_default_int8_inbounds_cpu",
+        "OnnxBackendNodeModelTest.test_and2d_cpu"),
+    (xfail_issue_38091,
+        "OnnxBackendNodeModelTest.test_round_cpu",
+        "OnnxBackendNodeModelTest.test_mvn_cpu",
+        "OnnxBackendNodeModelTest.test_elu_example_cpu",
+        "OnnxBackendNodeModelTest.test_logsoftmax_axis_0_cpu",
+        "OnnxBackendNodeModelTest.test_logsoftmax_axis_1_cpu",
+        "OnnxBackendNodeModelTest.test_logsoftmax_default_axis_cpu"),
+    (xfail_issue_35929,
+        "OnnxBackendPyTorchOperatorModelTest.test_operator_add_size1_broadcast_cpu",
+        "OnnxBackendPyTorchOperatorModelTest.test_operator_add_size1_singleton_broadcast_cpu",
+        "OnnxBackendPyTorchOperatorModelTest.test_operator_add_broadcast_cpu",
+        "OnnxBackendPyTorchOperatorModelTest.test_operator_addconstant_cpu",
+        "OnnxBackendPyTorchOperatorModelTest.test_operator_add_size1_right_broadcast_cpu",
+        "OnnxBackendNodeModelTest.test_cast_DOUBLE_to_FLOAT_cpu",
+        "OnnxBackendNodeModelTest.test_cast_FLOAT16_to_DOUBLE_cpu",
+        "OnnxBackendNodeModelTest.test_cast_DOUBLE_to_FLOAT16_cpu",
+        "OnnxBackendNodeModelTest.test_cumsum_1d_cpu",
+        "OnnxBackendNodeModelTest.test_cast_FLOAT_to_DOUBLE_cpu",
+        "OnnxBackendNodeModelTest.test_cumsum_1d_reverse_cpu",
+        "OnnxBackendNodeModelTest.test_cumsum_1d_exclusive_cpu",
+        "OnnxBackendNodeModelTest.test_cumsum_1d_reverse_exclusive_cpu",
+        "OnnxBackendNodeModelTest.test_cumsum_2d_axis_0_cpu",
+        "OnnxBackendNodeModelTest.test_cumsum_2d_negative_axis_cpu",
+        "OnnxBackendNodeModelTest.test_eyelike_with_dtype_cpu",
+        "OnnxBackendNodeModelTest.test_cumsum_2d_axis_1_cpu",
+        "OnnxBackendNodeModelTest.test_mod_mixed_sign_float64_cpu",
+        "OnnxBackendNodeModelTest.test_max_float64_cpu",
+        "OnnxBackendNodeModelTest.test_min_float64_cpu"),
+    (xfail_issue_38699,
+        "OnnxBackendSimpleModelTest.test_gradient_of_add_and_mul_cpu",
+        "OnnxBackendSimpleModelTest.test_gradient_of_add_cpu"),
+    (xfail_issue_38700,
+        "OnnxBackendSimpleModelTest.test_sequence_model5_cpu",
+        "OnnxBackendSimpleModelTest.test_sequence_model7_cpu",
+        "OnnxBackendSimpleModelTest.test_sequence_model1_cpu",
+        "OnnxBackendSimpleModelTest.test_sequence_model3_cpu",
+        "OnnxBackendSimpleModelTest.test_sequence_model6_cpu",
+        "OnnxBackendSimpleModelTest.test_sequence_model8_cpu",
+        "OnnxBackendSimpleModelTest.test_sequence_model4_cpu",
+        "OnnxBackendSimpleModelTest.test_sequence_model2_cpu"),
+    (xfail_issue_38701,
+        "OnnxBackendSimpleModelTest.test_strnorm_model_monday_casesensintive_nochangecase_cpu",
+        "OnnxBackendSimpleModelTest.test_strnorm_model_nostopwords_nochangecase_cpu",
+        "OnnxBackendSimpleModelTest.test_strnorm_model_monday_empty_output_cpu",
+        "OnnxBackendSimpleModelTest.test_strnorm_model_monday_insensintive_upper_twodim_cpu",
+        "OnnxBackendSimpleModelTest.test_strnorm_model_monday_casesensintive_lower_cpu",
+        "OnnxBackendSimpleModelTest.test_strnorm_model_monday_casesensintive_upper_cpu",
+        "OnnxBackendNodeModelTest.test_strnormalizer_nostopwords_nochangecase_cpu",
+        "OnnxBackendNodeModelTest.test_strnormalizer_export_monday_casesensintive_nochangecase_cpu",
+        "OnnxBackendNodeModelTest.test_strnormalizer_export_monday_insensintive_upper_twodim_cpu",
+        "OnnxBackendNodeModelTest.test_strnormalizer_export_monday_casesensintive_lower_cpu",
+        "OnnxBackendNodeModelTest.test_strnormalizer_export_monday_empty_output_cpu",
+        "OnnxBackendNodeModelTest.test_strnormalizer_export_monday_casesensintive_upper_cpu",
+        "OnnxBackendNodeModelTest.test_cast_STRING_to_FLOAT_cpu",
+        "OnnxBackendNodeModelTest.test_cast_FLOAT_to_STRING_cpu"),
+    (xfail_issue_38702,
+        "OnnxBackendNodeModelTest.test_unique_not_sorted_without_axis_cpu",
+        "OnnxBackendNodeModelTest.test_unique_sorted_with_negative_axis_cpu",
+        "OnnxBackendNodeModelTest.test_unique_sorted_with_axis_cpu",
+        "OnnxBackendNodeModelTest.test_unique_sorted_with_axis_3d_cpu",
+        "OnnxBackendNodeModelTest.test_unique_sorted_without_axis_cpu"),
+    (xfail_issue_38704,
+        "OnnxBackendNodeModelTest.test_tfidfvectorizer_tf_batch_onlybigrams_skip5_cpu",
+        "OnnxBackendNodeModelTest.test_tfidfvectorizer_tf_onlybigrams_levelempty_cpu",
+        "OnnxBackendNodeModelTest.test_tfidfvectorizer_tf_batch_onlybigrams_skip0_cpu",
+        "OnnxBackendNodeModelTest.test_tfidfvectorizer_tf_uniandbigrams_skip5_cpu",
+        "OnnxBackendNodeModelTest.test_tfidfvectorizer_tf_only_bigrams_skip0_cpu",
+        "OnnxBackendNodeModelTest.test_tfidfvectorizer_tf_batch_uniandbigrams_skip5_cpu",
+        "OnnxBackendNodeModelTest.test_tfidfvectorizer_tf_onlybigrams_skip5_cpu"),
+    (xfail_issue_38705,
+        "OnnxBackendNodeModelTest.test_training_dropout_mask_cpu",
+        "OnnxBackendNodeModelTest.test_training_dropout_default_mask_cpu",
+        "OnnxBackendNodeModelTest.test_training_dropout_zero_ratio_mask_cpu",
+        "OnnxBackendNodeModelTest.test_maxpool_with_argmax_2d_precomputed_strides_cpu",
+        "OnnxBackendNodeModelTest.test_maxpool_with_argmax_2d_precomputed_pads_cpu",
+        "OnnxBackendNodeModelTest.test_dropout_default_mask_cpu",
+        "OnnxBackendNodeModelTest.test_dropout_default_mask_ratio_cpu"),
+    (xfail_issue_38706,
+        "OnnxBackendNodeModelTest.test_split_zero_size_splits_cpu"),
+    (xfail_issue_38736,
+        "OnnxBackendNodeModelTest.test_softmax_cross_entropy_sum_log_prob_expanded_cpu",
+        "OnnxBackendNodeModelTest.test_softmax_cross_entropy_input_shape_is_NCd1d2d3d4d5_none_no_weight_log_prob_expanded_cpu",  # noqa
+        "OnnxBackendNodeModelTest.test_softmax_cross_entropy_sum_expanded_cpu",
+        "OnnxBackendNodeModelTest.test_softmax_cross_entropy_input_shape_is_NCd1d2d3_sum_weight_high_ignore_index_expanded_cpu",  # noqa
+        "OnnxBackendNodeModelTest.test_softmax_cross_entropy_mean_no_weight_ignore_index_3d_log_prob_expanded_cpu",  # noqa
+        "OnnxBackendNodeModelTest.test_softmax_cross_entropy_mean_no_weight_ignore_index_4d_log_prob_expanded_cpu",  # noqa
+        "OnnxBackendNodeModelTest.test_softmax_cross_entropy_input_shape_is_NCd1_mean_weight_negative_ignore_index_log_prob_expanded_cpu",  # noqa
+        "OnnxBackendNodeModelTest.test_softmax_cross_entropy_mean_weight_ignore_index_expanded_cpu",
+        "OnnxBackendNodeModelTest.test_softmax_cross_entropy_none_weights_log_prob_expanded_cpu",
+        "OnnxBackendNodeModelTest.test_softmax_cross_entropy_none_weights_expanded_cpu",
+        "OnnxBackendNodeModelTest.test_softmax_cross_entropy_none_log_prob_expanded_cpu",
+        "OnnxBackendNodeModelTest.test_softmax_cross_entropy_input_shape_is_NCd1_mean_weight_negative_ignore_index_expanded_cpu",  # noqa
+        "OnnxBackendNodeModelTest.test_softmax_cross_entropy_mean_no_weight_ignore_index_4d_expanded_cpu",
+        "OnnxBackendNodeModelTest.test_softmax_cross_entropy_mean_weight_log_prob_expanded_cpu",
+        "OnnxBackendNodeModelTest.test_softmax_cross_entropy_mean_no_weight_ignore_index_log_prob_expanded_cpu",  # noqa
+        "OnnxBackendNodeModelTest.test_softmax_cross_entropy_input_shape_is_NCd1d2d3d4d5_none_no_weight_expanded_cpu",  # noqa
+        "OnnxBackendNodeModelTest.test_softmax_cross_entropy_mean_weight_ignore_index_4d_expanded_cpu",
+        "OnnxBackendNodeModelTest.test_softmax_cross_entropy_mean_3d_log_prob_expanded_cpu",
+        "OnnxBackendNodeModelTest.test_softmax_cross_entropy_mean_weight_ignore_index_4d_log_prob_expanded_cpu",  # noqa
+        "OnnxBackendNodeModelTest.test_softmax_cross_entropy_mean_weight_ignore_index_log_prob_expanded_cpu",
+        "OnnxBackendNodeModelTest.test_softmax_cross_entropy_mean_weight_ignore_index_3d_expanded_cpu",
+        "OnnxBackendNodeModelTest.test_softmax_cross_entropy_mean_weight_expanded_cpu",
+        "OnnxBackendNodeModelTest.test_softmax_cross_entropy_none_expanded_cpu",
+        "OnnxBackendNodeModelTest.test_softmax_cross_entropy_input_shape_is_NCd1d2d3_none_no_weight_negative_ignore_index_log_prob_expanded_cpu",  # noqa
+        "OnnxBackendNodeModelTest.test_softmax_cross_entropy_input_shape_is_NCd1d2d3d4d5_mean_weight_expanded_cpu",  # noqa
+        "OnnxBackendNodeModelTest.test_softmax_cross_entropy_input_shape_is_NCd1d2d3_sum_weight_high_ignore_index_log_prob_expanded_cpu",  # noqa
+        "OnnxBackendNodeModelTest.test_softmax_cross_entropy_mean_weight_ignore_index_3d_log_prob_expanded_cpu",  # noqa
+        "OnnxBackendNodeModelTest.test_softmax_cross_entropy_mean_no_weight_ignore_index_expanded_cpu",
+        "OnnxBackendNodeModelTest.test_softmax_cross_entropy_mean_log_prob_expanded_cpu",
+        "OnnxBackendNodeModelTest.test_softmax_cross_entropy_mean_3d_expanded_cpu",
+        "OnnxBackendNodeModelTest.test_softmax_cross_entropy_mean_no_weight_ignore_index_3d_expanded_cpu",
+        "OnnxBackendNodeModelTest.test_softmax_cross_entropy_mean_expanded_cpu",
+        "OnnxBackendNodeModelTest.test_softmax_cross_entropy_input_shape_is_NCd1d2d3_none_no_weight_negative_ignore_index_expanded_cpu",  # noqa
+        "OnnxBackendNodeModelTest.test_softmax_cross_entropy_input_shape_is_NCd1d2d3d4d5_mean_weight_log_prob_expanded_cpu",  # noqa
+        "OnnxBackendNodeModelTest.test_negative_log_likelihood_loss_input_shape_is_NCd1d2d3_sum_weight_high_ignore_index_cpu",  # noqa
+        "OnnxBackendNodeModelTest.test_negative_log_likelihood_loss_input_shape_is_NCd1d2_with_weight_reduction_mean_cpu",  # noqa
+        "OnnxBackendNodeModelTest.test_negative_log_likelihood_loss_input_shape_is_NCd1d2d3d4d5_none_no_weight_cpu",  # noqa
+        "OnnxBackendNodeModelTest.test_negative_log_likelihood_loss_input_shape_is_NCd1d2d3d4d5_mean_weight_cpu",  # noqa
+        "OnnxBackendNodeModelTest.test_negative_log_likelihood_loss_input_shape_is_NCd1d2d3_none_no_weight_negative_ignore_index_cpu",  # noqa
+        "OnnxBackendNodeModelTest.test_negative_log_likelihood_loss_input_shape_is_NCd1d2_with_weight_reduction_sum_ignore_index_cpu",  # noqa
+        "OnnxBackendNodeModelTest.test_negative_log_likelihood_loss_input_shape_is_NCd1d2_with_weight_cpu",
+        "OnnxBackendNodeModelTest.test_negative_log_likelihood_loss_input_shape_is_NCd1d2_with_weight_reduction_sum_cpu",  # noqa
+        "OnnxBackendNodeModelTest.test_negative_log_likelihood_loss_input_shape_is_NCd1d2_reduction_sum_cpu",
+        "OnnxBackendNodeModelTest.test_negative_log_likelihood_loss_input_shape_is_NCd1d2_reduction_mean_cpu",
+        "OnnxBackendNodeModelTest.test_negative_log_likelihood_loss_input_shape_is_NCd1d2_no_weight_reduction_mean_ignore_index_cpu",  # noqa
+        "OnnxBackendNodeModelTest.test_negative_log_likelihood_loss_input_shape_is_NCd1d2_cpu",
+        "OnnxBackendNodeModelTest.test_negative_log_likelihood_loss_input_shape_is_NCd1_weight_cpu",
+        "OnnxBackendNodeModelTest.test_negative_log_likelihood_loss_input_shape_is_NCd1_mean_weight_negative_ignore_index_cpu",  # noqa
+        "OnnxBackendNodeModelTest.test_negative_log_likelihood_loss_input_shape_is_NCd1_ignore_index_cpu",
+        "OnnxBackendNodeModelTest.test_negative_log_likelihood_loss_input_shape_is_NCd1_cpu",
+        "OnnxBackendNodeModelTest.test_negative_log_likelihood_loss_input_shape_is_NC_cpu",
+        "OnnxBackendNodeModelTest.test_negative_log_likelihood_loss_iinput_shape_is_NCd1_weight_ignore_index_cpu"),  # noqa
+    (xfail_issue_38707,
+        "OnnxBackendNodeModelTest.test_softmax_cross_entropy_none_weights_cpu",
+        "OnnxBackendNodeModelTest.test_softmax_cross_entropy_sum_cpu",
+        "OnnxBackendNodeModelTest.test_softmax_cross_entropy_mean_weight_ignore_index_log_prob_cpu",
+        "OnnxBackendNodeModelTest.test_softmax_cross_entropy_none_cpu",
+        "OnnxBackendNodeModelTest.test_softmax_cross_entropy_mean_weight_cpu",
+        "OnnxBackendNodeModelTest.test_softmax_cross_entropy_mean_weight_ignore_index_4d_log_prob_cpu",
+        "OnnxBackendNodeModelTest.test_softmax_cross_entropy_mean_weight_ignore_index_3d_log_prob_cpu",
+        "OnnxBackendNodeModelTest.test_softmax_cross_entropy_sum_log_prob_cpu",
+        "OnnxBackendNodeModelTest.test_softmax_cross_entropy_none_log_prob_cpu",
+        "OnnxBackendNodeModelTest.test_softmax_cross_entropy_none_weights_log_prob_cpu",
+        "OnnxBackendNodeModelTest.test_softmax_cross_entropy_mean_no_weight_ignore_index_log_prob_cpu",
+        "OnnxBackendNodeModelTest.test_softmax_cross_entropy_mean_no_weight_ignore_index_4d_cpu",
+        "OnnxBackendNodeModelTest.test_softmax_cross_entropy_mean_no_weight_ignore_index_3d_cpu",
+        "OnnxBackendNodeModelTest.test_softmax_cross_entropy_mean_weight_log_prob_cpu",
+        "OnnxBackendNodeModelTest.test_softmax_cross_entropy_input_shape_is_NCd1d2d3d4d5_mean_weight_log_prob_cpu",  # noqa
+        "OnnxBackendNodeModelTest.test_softmax_cross_entropy_mean_weight_ignore_index_cpu",
+        "OnnxBackendNodeModelTest.test_softmax_cross_entropy_mean_no_weight_ignore_index_cpu",
+        "OnnxBackendNodeModelTest.test_softmax_cross_entropy_mean_cpu",
+        "OnnxBackendNodeModelTest.test_softmax_cross_entropy_mean_weight_ignore_index_4d_cpu",
+        "OnnxBackendNodeModelTest.test_softmax_cross_entropy_input_shape_is_NCd1d2d3_none_no_weight_negative_ignore_index_cpu",  # noqa
+        "OnnxBackendNodeModelTest.test_softmax_cross_entropy_mean_weight_ignore_index_3d_cpu",
+        "OnnxBackendNodeModelTest.test_softmax_cross_entropy_input_shape_is_NCd1d2d3d4d5_mean_weight_cpu",
+        "OnnxBackendNodeModelTest.test_softmax_cross_entropy_mean_no_weight_ignore_index_4d_log_prob_cpu",
+        "OnnxBackendNodeModelTest.test_softmax_cross_entropy_mean_no_weight_ignore_index_3d_log_prob_cpu",
+        "OnnxBackendNodeModelTest.test_softmax_cross_entropy_mean_log_prob_cpu",
+        "OnnxBackendNodeModelTest.test_softmax_cross_entropy_input_shape_is_NCd1d2d3_sum_weight_high_ignore_index_cpu",  # noqa
+        "OnnxBackendNodeModelTest.test_softmax_cross_entropy_input_shape_is_NCd1d2d3d4d5_none_no_weight_log_prob_cpu",  # noqa
+        "OnnxBackendNodeModelTest.test_softmax_cross_entropy_mean_3d_log_prob_cpu",
+        "OnnxBackendNodeModelTest.test_softmax_cross_entropy_input_shape_is_NCd1_mean_weight_negative_ignore_index_log_prob_cpu",  # noqa
+        "OnnxBackendNodeModelTest.test_softmax_cross_entropy_input_shape_is_NCd1d2d3_none_no_weight_negative_ignore_index_log_prob_cpu",  # noqa
+        "OnnxBackendNodeModelTest.test_softmax_cross_entropy_mean_3d_cpu",
+        "OnnxBackendNodeModelTest.test_softmax_cross_entropy_input_shape_is_NCd1d2d3d4d5_none_no_weight_cpu",
+        "OnnxBackendNodeModelTest.test_softmax_cross_entropy_input_shape_is_NCd1d2d3_sum_weight_high_ignore_index_log_prob_cpu",  # noqa
+        "OnnxBackendNodeModelTest.test_softmax_cross_entropy_input_shape_is_NCd1_mean_weight_negative_ignore_index_cpu"),  # noqa
+    (xfail_issue_38708,
+        "OnnxBackendNodeModelTest.test_slice_default_steps_cpu",
+        "OnnxBackendNodeModelTest.test_slice_negative_axes_cpu",
+        "OnnxBackendNodeModelTest.test_slice_neg_steps_cpu",
+        "OnnxBackendNodeModelTest.test_slice_neg_cpu",
+        "OnnxBackendNodeModelTest.test_slice_cpu",
+        "OnnxBackendNodeModelTest.test_slice_end_out_of_bounds_cpu",
+        "OnnxBackendNodeModelTest.test_slice_start_out_of_bounds_cpu"),
+    (xfail_issue_38709,
+        "OnnxBackendNodeModelTest.test_scan_sum_cpu",
+        "OnnxBackendNodeModelTest.test_scan9_sum_cpu"),
+    (xfail_issue_38710,
+        "OnnxBackendNodeModelTest.test_resize_downsample_scales_linear_align_corners_cpu",
+        "OnnxBackendNodeModelTest.test_resize_upsample_scales_cubic_cpu",
+        "OnnxBackendNodeModelTest.test_resize_downsample_scales_cubic_cpu",
+        "OnnxBackendNodeModelTest.test_resize_downsample_scales_cubic_align_corners_cpu",
+        "OnnxBackendNodeModelTest.test_resize_upsample_scales_nearest_cpu",
+        "OnnxBackendNodeModelTest.test_resize_upsample_scales_cubic_asymmetric_cpu",
+        "OnnxBackendNodeModelTest.test_resize_downsample_scales_cubic_A_n0p5_exclude_outside_cpu",
+        "OnnxBackendNodeModelTest.test_resize_upsample_scales_linear_cpu",
+        "OnnxBackendNodeModelTest.test_resize_upsample_scales_cubic_align_corners_cpu",
+        "OnnxBackendNodeModelTest.test_resize_upsample_scales_linear_align_corners_cpu",
+        "OnnxBackendNodeModelTest.test_resize_upsample_scales_cubic_A_n0p5_exclude_outside_cpu",
+        "OnnxBackendNodeModelTest.test_resize_downsample_scales_nearest_cpu",
+        "OnnxBackendNodeModelTest.test_resize_downsample_scales_linear_cpu"),
+    (xfail_issue_38711,
+        "OnnxBackendNodeModelTest.test_negative_log_likelihood_loss_input_shape_is_NCd1d2_no_weight_reduction_mean_ignore_index_expanded_cpu",  # noqa
+        "OnnxBackendNodeModelTest.test_negative_log_likelihood_loss_input_shape_is_NCd1_ignore_index_expanded_cpu",  # noqa
+        "OnnxBackendNodeModelTest.test_negative_log_likelihood_loss_input_shape_is_NCd1d2_expanded_cpu",
+        "OnnxBackendNodeModelTest.test_negative_log_likelihood_loss_input_shape_is_NCd1_weight_expanded_cpu",
+        "OnnxBackendNodeModelTest.test_negative_log_likelihood_loss_input_shape_is_NCd1d2d3_none_no_weight_negative_ignore_index_expanded_cpu",  # noqa
+        "OnnxBackendNodeModelTest.test_negative_log_likelihood_loss_input_shape_is_NCd1_mean_weight_negative_ignore_index_expanded_cpu",  # noqa
+        "OnnxBackendNodeModelTest.test_negative_log_likelihood_loss_input_shape_is_NCd1d2d3d4d5_none_no_weight_expanded_cpu",  # noqa
+        "OnnxBackendNodeModelTest.test_negative_log_likelihood_loss_input_shape_is_NCd1d2_with_weight_reduction_sum_ignore_index_expanded_cpu",  # noqa
+        "OnnxBackendNodeModelTest.test_negative_log_likelihood_loss_input_shape_is_NCd1_expanded_cpu",
+        "OnnxBackendNodeModelTest.test_negative_log_likelihood_loss_input_shape_is_NCd1d2d3d4d5_mean_weight_expanded_cpu",  # noqa
+        "OnnxBackendNodeModelTest.test_negative_log_likelihood_loss_input_shape_is_NCd1d2_with_weight_reduction_sum_expanded_cpu",  # noqa
+        "OnnxBackendNodeModelTest.test_negative_log_likelihood_loss_input_shape_is_NC_expanded_cpu",
+        "OnnxBackendNodeModelTest.test_negative_log_likelihood_loss_input_shape_is_NCd1d2d3_sum_weight_high_ignore_index_expanded_cpu",  # noqa
+        "OnnxBackendNodeModelTest.test_negative_log_likelihood_loss_iinput_shape_is_NCd1_weight_ignore_index_expanded_cpu",  # noqa
+        "OnnxBackendNodeModelTest.test_negative_log_likelihood_loss_input_shape_is_NCd1d2_with_weight_reduction_mean_expanded_cpu",  # noqa
+        "OnnxBackendNodeModelTest.test_negative_log_likelihood_loss_input_shape_is_NCd1d2_with_weight_expanded_cpu",  # noqa
+        "OnnxBackendNodeModelTest.test_negative_log_likelihood_loss_input_shape_is_NCd1d2_reduction_sum_expanded_cpu",  # noqa
+        "OnnxBackendNodeModelTest.test_negative_log_likelihood_loss_input_shape_is_NCd1d2_reduction_mean_expanded_cpu",  # noqa
+        "OnnxBackendNodeModelTest.test_gather_elements_0_cpu",
+        "OnnxBackendNodeModelTest.test_gather_elements_negative_indices_cpu",
+        "OnnxBackendNodeModelTest.test_gather_elements_1_cpu"),
+    (xfail_issue_38712,
+        "OnnxBackendNodeModelTest.test_mod_mixed_sign_int16_cpu",
+        "OnnxBackendNodeModelTest.test_mod_uint8_cpu",
+        "OnnxBackendNodeModelTest.test_mod_uint64_cpu",
+        "OnnxBackendNodeModelTest.test_mod_uint32_cpu",
+        "OnnxBackendNodeModelTest.test_mod_uint16_cpu",
+        "OnnxBackendNodeModelTest.test_mod_mixed_sign_int8_cpu",
+        "OnnxBackendNodeModelTest.test_mod_mixed_sign_int64_cpu",
+        "OnnxBackendNodeModelTest.test_mod_broadcast_cpu",
+        "OnnxBackendNodeModelTest.test_mod_mixed_sign_int32_cpu"),
+    (xfail_issue_38713,
+        "OnnxBackendNodeModelTest.test_momentum_cpu",
+        "OnnxBackendNodeModelTest.test_nesterov_momentum_cpu",
+        "OnnxBackendNodeModelTest.test_momentum_multiple_cpu"),
+    (xfail_issue_38714,
+        "OnnxBackendNodeModelTest.test_resize_upsample_sizes_nearest_ceil_half_pixel_cpu",
+        "OnnxBackendNodeModelTest.test_resize_downsample_sizes_nearest_tf_half_pixel_for_nn_cpu",
+        "OnnxBackendNodeModelTest.test_resize_upsample_sizes_cubic_cpu",
+        "OnnxBackendNodeModelTest.test_resize_downsample_sizes_nearest_cpu",
+        "OnnxBackendNodeModelTest.test_resize_downsample_sizes_linear_pytorch_half_pixel_cpu",
+        "OnnxBackendNodeModelTest.test_resize_downsample_sizes_cubic_cpu",
+        "OnnxBackendNodeModelTest.test_resize_upsample_sizes_nearest_round_prefer_ceil_asymmetric_cpu",  # noqa
+        "OnnxBackendNodeModelTest.test_resize_upsample_sizes_nearest_floor_align_corners_cpu",
+        "OnnxBackendNodeModelTest.test_resize_upsample_sizes_nearest_cpu"),
+    (xfail_issue_38715,
+        "OnnxBackendNodeModelTest.test_onehot_without_axis_cpu",
+        "OnnxBackendNodeModelTest.test_onehot_with_negative_axis_cpu",
+        "OnnxBackendNodeModelTest.test_onehot_with_axis_cpu",
+        "OnnxBackendNodeModelTest.test_onehot_negative_indices_cpu"),
+    (xfail_issue_38716,
+        "OnnxBackendNodeModelTest.test_maxunpool_export_with_output_shape_cpu",
+        "OnnxBackendNodeModelTest.test_maxunpool_export_without_output_shape_cpu"),
+    (xfail_issue_38717,
+        "OnnxBackendNodeModelTest.test_greater_equal_bcast_cpu",
+        "OnnxBackendNodeModelTest.test_greater_equal_cpu"),
+    (xfail_issue_38718,
+        "OnnxBackendNodeModelTest.test_isnan_cpu",
+        "OnnxBackendNodeModelTest.test_isinf_positive_cpu",
+        "OnnxBackendNodeModelTest.test_isinf_negative_cpu",
+        "OnnxBackendNodeModelTest.test_isinf_cpu"),
+    (xfail_issue_38719,
+        "OnnxBackendNodeModelTest.test_gathernd_example_int32_cpu",
+        "OnnxBackendNodeModelTest.test_gathernd_example_float32_cpu",
+        "OnnxBackendNodeModelTest.test_gathernd_example_int32_batch_dim1_cpu"),
+    (xfail_issue_38720,
+        "OnnxBackendNodeModelTest.test_dynamicquantizelinear_min_adjusted_cpu",
+        "OnnxBackendNodeModelTest.test_dynamicquantizelinear_cpu",
+        "OnnxBackendNodeModelTest.test_dynamicquantizelinear_max_adjusted_cpu"),
+    (xfail_issue_38721,
+        "OnnxBackendNodeModelTest.test_pow_types_int_cpu",
+        "OnnxBackendNodeModelTest.test_pow_types_int64_float32_cpu",
+        "OnnxBackendNodeModelTest.test_pow_types_int32_float32_cpu",
+        "OnnxBackendNodeModelTest.test_pow_types_float_cpu",
+        "OnnxBackendNodeModelTest.test_pow_types_float32_uint64_cpu",
+        "OnnxBackendNodeModelTest.test_pow_types_float32_uint32_cpu",
+        "OnnxBackendNodeModelTest.test_pow_types_float32_int64_cpu",
+        "OnnxBackendNodeModelTest.test_pow_types_float32_int32_cpu"),
+    (xfail_issue_38722,
+        "OnnxBackendNodeModelTest.test_matmulinteger_cpu",
+        "OnnxBackendNodeModelTest.test_qlinearmatmul_2D_cpu",
+        "OnnxBackendNodeModelTest.test_qlinearmatmul_3D_cpu"),
+    (xfail_issue_38723,
+        "OnnxBackendNodeModelTest.test_qlinearconv_cpu"),
+    (xfail_issue_38724,
+        "OnnxBackendNodeModelTest.test_resize_tf_crop_and_resize_cpu"),
+    (xfail_issue_38725,
+        "OnnxBackendNodeModelTest.test_range_int32_type_negative_delta_expanded_cpu",
+        "OnnxBackendNodeModelTest.test_range_float_type_positive_delta_expanded_cpu"),
+    (xfail_issue_38726,
+        "OnnxBackendNodeModelTest.test_less_equal_cpu",
+        "OnnxBackendNodeModelTest.test_less_equal_bcast_cpu"),
+    (xfail_issue_38727,
+        "OnnxBackendNodeModelTest.test_einsum_transpose_cpu",
+        "OnnxBackendNodeModelTest.test_einsum_batch_diagonal_cpu",
+        "OnnxBackendNodeModelTest.test_einsum_batch_matmul_cpu",
+        "OnnxBackendNodeModelTest.test_einsum_sum_cpu",
+        "OnnxBackendNodeModelTest.test_einsum_inner_prod_cpu"),
+    (xfail_issue_38728,
+        "OnnxBackendNodeModelTest.test_det_2d_cpu",
+        "OnnxBackendNodeModelTest.test_det_nd_cpu"),
+    (xfail_issue_38729,
+        "OnnxBackendNodeModelTest.test_compress_negative_axis_cpu",
+        "OnnxBackendNodeModelTest.test_compress_default_axis_cpu",
+        "OnnxBackendNodeModelTest.test_compress_1_cpu",
+        "OnnxBackendNodeModelTest.test_compress_0_cpu"),
+    (xfail_issue_38731,
+        "OnnxBackendNodeModelTest.test_bitshift_left_uint8_cpu",
+        "OnnxBackendNodeModelTest.test_bitshift_right_uint64_cpu",
+        "OnnxBackendNodeModelTest.test_bitshift_right_uint16_cpu",
+        "OnnxBackendNodeModelTest.test_bitshift_right_uint32_cpu",
+        "OnnxBackendNodeModelTest.test_bitshift_right_uint8_cpu",
+        "OnnxBackendNodeModelTest.test_bitshift_left_uint32_cpu",
+        "OnnxBackendNodeModelTest.test_bitshift_left_uint16_cpu",
+        "OnnxBackendNodeModelTest.test_bitshift_left_uint64_cpu"),
+    (xfail_issue_38732,
+        "OnnxBackendNodeModelTest.test_convinteger_with_padding_cpu",
+        "OnnxBackendNodeModelTest.test_basic_convinteger_cpu"),
+    (xfail_issue_38733,
+        "OnnxBackendNodeModelTest.test_celu_cpu"),
+    (xfail_issue_38734,
+        "OnnxBackendNodeModelTest.test_adam_multiple_cpu",
+        "OnnxBackendNodeModelTest.test_adam_cpu"),
+    (xfail_issue_38735,
+        "OnnxBackendNodeModelTest.test_adagrad_multiple_cpu",
+        "OnnxBackendNodeModelTest.test_adagrad_cpu")
+]
+
+for test_group in tests_expected_to_fail:
+    for test_case in test_group[1:]:
+        expect_fail("{}".format(test_case), test_group[0])
index 4414d30..6ced404 100644 (file)
@@ -128,6 +128,19 @@ class OpenVinoOnnxBackend(Backend):
         return device != "CUDA"
 
 
+class OpenVinoTestBackend(OpenVinoOnnxBackend):
+    @classmethod
+    def is_compatible(
+        cls,
+        model,  # type: onnx.ModelProto
+        device="CPU",  # type: Text
+        **kwargs  # type: Any
+    ):  # type: (...) -> bool
+        # Return whether the model is compatible with the backend.
+        import_onnx_model(model)
+        return True
+
+
 prepare = OpenVinoOnnxBackend.prepare
 run_model = OpenVinoOnnxBackend.run_model
 run_node = OpenVinoOnnxBackend.run_node
index 8b1de63..888dc58 100644 (file)
@@ -27,7 +27,7 @@ commands=
   flake8 {posargs:src/ setup.py}
   flake8 --ignore=D100,D101,D102,D103,D104,D105,D107,W503 tests/  # ignore lack of docs in tests
   mypy --config-file=tox.ini {posargs:src/}
-  pytest --backend={env:NGRAPH_BACKEND} tests -v -n 20
+  pytest --backend={env:NGRAPH_BACKEND} tests -v -n 20 -k 'not _cuda'
 
 [testenv:devenv]
 envdir = devenv