Skip to content

Commit decd6ba

Browse files
authored
[OpenVINO backend] Support numpy.empty (#21010)
* [OpenVINO Backend] numpy.empty implementation * fix: reformatted * fix: fixed final lint issues * fix: updated empty logic
1 parent 66cc6d5 commit decd6ba

File tree

2 files changed

+10
-2
lines changed

2 files changed

+10
-2
lines changed

keras/src/backend/openvino/excluded_concrete_tests.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ NumpyDtypeTest::test_cumsum_bool
2020
NumpyDtypeTest::test_diag
2121
NumpyDtypeTest::test_digitize
2222
NumpyDtypeTest::test_einsum
23-
NumpyDtypeTest::test_empty
2423
NumpyDtypeTest::test_exp2
2524
NumpyDtypeTest::test_expm1
2625
NumpyDtypeTest::test_eye

keras/src/backend/openvino/numpy.py

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -661,7 +661,16 @@ def dot(x, y):
661661

662662

663663
def empty(shape, dtype=None):
664-
raise NotImplementedError("`empty` is not supported with openvino backend")
664+
dtype = standardize_dtype(dtype) or config.floatx()
665+
ov_type = OPENVINO_DTYPES[dtype]
666+
if isinstance(shape, tuple):
667+
shape = list(shape)
668+
elif isinstance(shape, int):
669+
shape = [shape]
670+
shape_node = ov_opset.constant(shape, Type.i32).output(0)
671+
const_zero = ov_opset.constant(0, dtype=ov_type).output(0)
672+
empty_tensor = ov_opset.broadcast(const_zero, shape_node).output(0)
673+
return OpenVINOKerasTensor(empty_tensor)
665674

666675

667676
def equal(x1, x2):

0 commit comments

Comments
 (0)