-
Notifications
You must be signed in to change notification settings - Fork 4k
OpenVINO EP rejects valid Resize-18 models with negative axes #28788
Copy link
Copy link
Open
Labels
ep:DMLissues related to the DirectML execution providerissues related to the DirectML execution providerep:OpenVINOissues related to OpenVINO execution providerissues related to OpenVINO execution providerep:QNNissues related to QNN exeution providerissues related to QNN exeution providerep:WebGPUort-web webgpu providerort-web webgpu providerplatform:webissues related to ONNX Runtime web; typically submitted using templateissues related to ONNX Runtime web; typically submitted using template
Metadata
Metadata
Assignees
Labels
ep:DMLissues related to the DirectML execution providerissues related to the DirectML execution providerep:OpenVINOissues related to OpenVINO execution providerissues related to OpenVINO execution providerep:QNNissues related to QNN exeution providerissues related to QNN exeution providerep:WebGPUort-web webgpu providerort-web webgpu providerplatform:webissues related to ONNX Runtime web; typically submitted using templateissues related to ONNX Runtime web; typically submitted using template
Type
Fields
Give feedbackNo fields configured for issues without a type.
Describe the issue
The OpenVINO EP's Resize operator translator does not normalize negative
axesvalues against the input rank before model compilation. This causes valid opset-18Resizemodels that use negativeaxes(e.g.[-3, -2, -1]for a 5-D input) to fail at session-init time, while the same models run correctly on the CPU EP and other EPs that go throughUpsampleBase.Per the ONNX Resize-18 spec,
axesentries are valid in[-rank, rank-1]and negative entries denote dimensions counted from the back. The CPU EP normalizes viaUpsampleBase::ValidateAndNormalizeAxesand accepts these inputs.Reproduction
The new unit test
ResizeOpTest.Axes_NegativeInRange_18(added in #28779) exercises this path:{1, 1, 4, 4, 4}, scales{0.75, 0.75, 0.75}, axes{-3, -2, -1}onnxruntime/core/providers/openvino/backends/basic_backend.ccCI surface:
linux_openvino_ci.ymljob--use_openvino CPU --enable_generic_interface --build_shared_lib.Expected behavior
The OpenVINO EP's Resize translator should normalize each
axes[i]against the input rank (a = axes[i] < 0 ? axes[i] + rank : axes[i]) and validatea in [0, rank)before forwarding to the OpenVINO model importer, mirroring whatUpsampleBase::ValidateAndNormalizeAxesdoes.Workaround
In #28779 the affected test excludes
kOpenVINOExecutionProviderwith a comment pointing back to this issue. Once the EP is fixed the exclusion can be removed.Urgency
Low. Pre-existing behavior on
main(not a regression). Visible because #28779 is the first test case to exercise negative axes forResize.Platform
Linux, OpenVINO EP (CPU device).
ONNX Runtime Installation
Built from source.
Execution Provider
OpenVINO
Related
PR #28779