Skip to content

Commit 7a7bca6

Browse files
authored
[OpenVINO backend] Support numpy.append (#20951)
* [OpenVINO backend] Support numpy.append Signed-off-by: Lim, Kuan Xian <[email protected]> * Remove NumpyDtype test_append_ from exclude list Signed-off-by: Lim, Kuan Xian <[email protected]> * Fix attribute error Signed-off-by: Lim, Kuan Xian <[email protected]> * Fix NumpyDtypeTest error Signed-off-by: Lim, Kuan Xian <[email protected]> * Update concat to append Signed-off-by: Lim, Kuan Xian <[email protected]> --------- Signed-off-by: Lim, Kuan Xian <[email protected]>
1 parent c356cae commit 7a7bca6

File tree

2 files changed

+8
-3
lines changed

2 files changed

+8
-3
lines changed

keras/src/backend/openvino/excluded_concrete_tests.txt

-2
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ NumpyDtypeTest::test_absolute_bool
66
NumpyDtypeTest::test_add_
77
NumpyDtypeTest::test_all
88
NumpyDtypeTest::test_any
9-
NumpyDtypeTest::test_append_
109
NumpyDtypeTest::test_argmax
1110
NumpyDtypeTest::test_argmin
1211
NumpyDtypeTest::test_argpartition
@@ -159,7 +158,6 @@ NumpyOneInputOpsCorrectnessTest::test_unravel_index
159158
NumpyOneInputOpsCorrectnessTest::test_var
160159
NumpyOneInputOpsCorrectnessTest::test_vectorize
161160
NumpyOneInputOpsCorrectnessTest::test_vstack
162-
NumpyTwoInputOpsCorrectnessTest::test_append
163161
NumpyTwoInputOpsCorrectnessTest::test_bitwise_and
164162
NumpyTwoInputOpsCorrectnessTest::test_bitwise_left_shift
165163
NumpyTwoInputOpsCorrectnessTest::test_bitwise_or

keras/src/backend/openvino/numpy.py

+8-1
Original file line numberDiff line numberDiff line change
@@ -191,7 +191,14 @@ def amin(x, axis=None, keepdims=False):
191191

192192

193193
def append(x1, x2, axis=None):
194-
raise NotImplementedError("`append` is not supported with openvino backend")
194+
x1, x2 = get_ov_output(x1), get_ov_output(x2)
195+
x1, x2 = _align_operand_types(x1, x2, "append()")
196+
if axis is None:
197+
flatten_shape = ov_opset.constant([-1], Type.i32).output(0)
198+
x1 = ov_opset.reshape(x1, flatten_shape, False).output(0)
199+
x2 = ov_opset.reshape(x2, flatten_shape, False).output(0)
200+
axis = 0
201+
return OpenVINOKerasTensor(ov_opset.concat([x1, x2], axis).output(0))
195202

196203

197204
def arange(start, stop=None, step=None, dtype=None):

0 commit comments

Comments
 (0)