Skip to content

Commit 9f3ab34

Browse files
authored
[OpenVINO backend] Support numpy.expm1 (#21141)
* [OpenVINO backend] Support numpy.expm1 * remove a line with NumpyOneInputOpsCorrectnessTest::test_expm1 * does nothing * does nothing
1 parent 7b4367c commit 9f3ab34

File tree

2 files changed

+9
-3
lines changed

2 files changed

+9
-3
lines changed

keras/src/backend/openvino/excluded_concrete_tests.txt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ NumpyDtypeTest::test_diag
2121
NumpyDtypeTest::test_digitize
2222
NumpyDtypeTest::test_einsum
2323
NumpyDtypeTest::test_exp2
24-
NumpyDtypeTest::test_expm1
2524
NumpyDtypeTest::test_eye
2625
NumpyDtypeTest::test_flip
2726
NumpyDtypeTest::test_floor
@@ -91,7 +90,6 @@ NumpyOneInputOpsCorrectnessTest::test_cumprod
9190
NumpyOneInputOpsCorrectnessTest::test_diag
9291
NumpyOneInputOpsCorrectnessTest::test_diagonal
9392
NumpyOneInputOpsCorrectnessTest::test_exp2
94-
NumpyOneInputOpsCorrectnessTest::test_expm1
9593
NumpyOneInputOpsCorrectnessTest::test_flip
9694
NumpyOneInputOpsCorrectnessTest::test_floor_divide
9795
NumpyOneInputOpsCorrectnessTest::test_hstack

keras/src/backend/openvino/numpy.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -703,7 +703,15 @@ def expand_dims(x, axis):
703703

704704

705705
def expm1(x):
706-
raise NotImplementedError("`expm1` is not supported with openvino backend")
706+
x = get_ov_output(x)
707+
x_type = x.get_element_type()
708+
if x_type.is_integral():
709+
ov_type = OPENVINO_DTYPES[config.floatx()]
710+
x = ov_opset.convert(x, ov_type)
711+
exp_x = ov_opset.exp(x).output(0)
712+
const_one = ov_opset.constant(1, exp_x.get_element_type())
713+
result = ov_opset.subtract(exp_x, const_one).output(0)
714+
return OpenVINOKerasTensor(result)
707715

708716

709717
def flip(x, axis=None):

0 commit comments

Comments
 (0)