From e7bb691ce036c904dd1b9c4e888ef0283b7645db Mon Sep 17 00:00:00 2001 From: YugShah1510 Date: Sun, 25 Oct 2026 20:19:09 +0530 Subject: [PATCH] fix(onnx): treat empty Resize axes as no-op --- src/frontends/onnx/frontend/src/op/resize.cpp | 3 ++ .../tests/tests_python/test_ops_resize.py | 29 +++++++++++++++++++ 2 files changed, 32 insertions(+) create mode 100644 src/frontends/onnx/tests/tests_python/test_ops_resize.py diff --git a/src/frontends/onnx/frontend/src/op/resize.cpp b/src/frontends/onnx/frontend/src/op/resize.cpp index acefce687632..6395005cfe95 100644 --- a/src/frontends/onnx/frontend/src/op/resize.cpp +++ b/src/frontends/onnx/frontend/src/op/resize.cpp @@ -125,6 +125,9 @@ ov::OutputVector resize(const ov::frontend::onnx::Node& node) { } auto axes_attr = node.get_attribute_value>("axes", {}); if (axes_attr.empty()) { + if (node.has_attribute("axes")) { + return {data}; + } return {std::make_shared(data, scale_or_sizes, attrs)}; } diff --git a/src/frontends/onnx/tests/tests_python/test_ops_resize.py b/src/frontends/onnx/tests/tests_python/test_ops_resize.py new file mode 100644 index 000000000000..6eee085198e1 --- /dev/null +++ b/src/frontends/onnx/tests/tests_python/test_ops_resize.py @@ -0,0 +1,29 @@ +# -*- coding: utf-8 -*- +# Copyright (C) 2026 Intel Corporation +# SPDX-License-Identifier: Apache-2.0 + +import numpy as np +import onnx +from onnx import helper + +from tests.tests_python.utils import run_model + + +def test_resize_with_empty_axes_is_noop(): + input_data = np.arange(4, dtype=np.float32).reshape(1, 1, 2, 2) + scales = np.array([], dtype=np.float32) + + node = helper.make_node("Resize", ["x", "", "scales"], ["y"], axes=[]) + graph = helper.make_graph( + [node], + "resize_empty_axes", + [ + helper.make_tensor_value_info("x", onnx.TensorProto.FLOAT, input_data.shape), + helper.make_tensor_value_info("scales", onnx.TensorProto.FLOAT, scales.shape), + ], + [helper.make_tensor_value_info("y", onnx.TensorProto.FLOAT, input_data.shape)], + ) + model = helper.make_model(graph, opset_imports=[helper.make_opsetid("", 18)]) + + result = run_model(model, [input_data, scales])[0] + np.testing.assert_array_equal(result, input_data)