From 9a417300e6f51854804d8b2c75860f8f37d14af5 Mon Sep 17 00:00:00 2001 From: p-wysocki Date: Thu, 22 May 2025 13:55:40 +0200 Subject: [PATCH 1/3] Change ndims behavior --- keras/src/backend/openvino/numpy.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/keras/src/backend/openvino/numpy.py b/keras/src/backend/openvino/numpy.py index 516d6a0f1bd2..0cc183146c70 100644 --- a/keras/src/backend/openvino/numpy.py +++ b/keras/src/backend/openvino/numpy.py @@ -1167,9 +1167,7 @@ def nan_to_num(x, nan=0.0, posinf=None, neginf=None): def ndim(x): x = get_ov_output(x) - x_shape = ov_opset.shape_of(x).output(0) - x_dim = ov_opset.shape_of(x_shape, "i64") - return x_dim + return len(x.get_partial_shape().to_shape()) def nonzero(x): From 1b4162c164222622c77fb04aec25d8a02d8316e7 Mon Sep 17 00:00:00 2001 From: p-wysocki Date: Thu, 22 May 2025 14:15:48 +0200 Subject: [PATCH 2/3] Remove openvino.runtime --- keras/src/backend/openvino/core.py | 4 ++-- keras/src/backend/openvino/math.py | 2 +- keras/src/backend/openvino/nn.py | 2 +- keras/src/backend/openvino/numpy.py | 2 +- keras/src/backend/openvino/random.py | 2 +- keras/src/backend/openvino/trainer.py | 2 +- 6 files changed, 7 insertions(+), 7 deletions(-) diff --git a/keras/src/backend/openvino/core.py b/keras/src/backend/openvino/core.py index e78f19f11f4a..f6c5dc3e7bec 100644 --- a/keras/src/backend/openvino/core.py +++ b/keras/src/backend/openvino/core.py @@ -3,11 +3,11 @@ import numpy as np import openvino as ov -import openvino.runtime.opset14 as ov_opset +import openvino.opset14 as ov_opset from openvino import Model from openvino import Tensor from openvino import compile_model -from openvino.runtime import Type +from openvino import Type from keras.src import tree from keras.src.backend.common import KerasVariable diff --git a/keras/src/backend/openvino/math.py b/keras/src/backend/openvino/math.py index 17f4673f1349..6c954dd2f459 100644 --- a/keras/src/backend/openvino/math.py +++ b/keras/src/backend/openvino/math.py @@ -1,4 +1,4 @@ -import openvino.runtime.opset14 as ov_opset +import openvino.opset14 as ov_opset from openvino import Type from keras.src.backend.openvino.core import OpenVINOKerasTensor diff --git a/keras/src/backend/openvino/nn.py b/keras/src/backend/openvino/nn.py index c17d4af6e94d..5bbb01331398 100644 --- a/keras/src/backend/openvino/nn.py +++ b/keras/src/backend/openvino/nn.py @@ -1,4 +1,4 @@ -import openvino.runtime.opset14 as ov_opset +import openvino.opset14 as ov_opset from openvino import Type from keras.src import backend diff --git a/keras/src/backend/openvino/numpy.py b/keras/src/backend/openvino/numpy.py index 0cc183146c70..ac6ffe54bcb9 100644 --- a/keras/src/backend/openvino/numpy.py +++ b/keras/src/backend/openvino/numpy.py @@ -1,5 +1,5 @@ import numpy as np -import openvino.runtime.opset14 as ov_opset +import openvino.opset14 as ov_opset from openvino import Type from keras.src.backend import config diff --git a/keras/src/backend/openvino/random.py b/keras/src/backend/openvino/random.py index 4d72a03112f5..f9e514ace289 100644 --- a/keras/src/backend/openvino/random.py +++ b/keras/src/backend/openvino/random.py @@ -1,5 +1,5 @@ import numpy as np -import openvino.runtime.opset14 as ov_opset +import openvino.opset14 as ov_opset from openvino import Type from keras.src.backend.config import floatx diff --git a/keras/src/backend/openvino/trainer.py b/keras/src/backend/openvino/trainer.py index b95f635002aa..900b689d47fd 100644 --- a/keras/src/backend/openvino/trainer.py +++ b/keras/src/backend/openvino/trainer.py @@ -1,6 +1,6 @@ import numpy as np import openvino as ov -import openvino.runtime.opset14 as ov_opset +import openvino.opset14 as ov_opset from keras.src import backend from keras.src import callbacks as callbacks_module From 9cd7818d33215c7abe84ed8e05f80b3d0a27c6bd Mon Sep 17 00:00:00 2001 From: p-wysocki Date: Mon, 9 Jun 2025 13:58:59 +0200 Subject: [PATCH 3/3] Switch to double ShapeOf --- keras/src/backend/openvino/numpy.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/keras/src/backend/openvino/numpy.py b/keras/src/backend/openvino/numpy.py index 65066b817adb..c6247c4feed0 100644 --- a/keras/src/backend/openvino/numpy.py +++ b/keras/src/backend/openvino/numpy.py @@ -1167,7 +1167,9 @@ def nan_to_num(x, nan=0.0, posinf=None, neginf=None): def ndim(x): x = get_ov_output(x) - return len(x.get_partial_shape().to_shape()) + shape_tensor = ov_opset.shape_of(x, Type.i64).output(0) + rank_tensor = ov_opset.shape_of(shape_tensor, Type.i64).output(0) + return OpenVINOKerasTensor(rank_tensor) def nonzero(x):