Skip to content

Commit d8e68b0

Browse files
authored
[OpenVINO backend] Support beta operation (#22285)
* Feat: Implements `random.beta` of openvino backend * Feat: Implements `random.beta` of openvino backend * Apply pre-commit * Apply Review
1 parent 80bad7a commit d8e68b0

File tree

2 files changed

+12
-8
lines changed

2 files changed

+12
-8
lines changed

keras/src/backend/openvino/excluded_concrete_tests.txt

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -361,9 +361,6 @@ QuantizersTest::test_compute_float8_scale
361361
QuantizersTest::test_grouped_quantize_with_padding
362362
QuantizersTest::test_grouped_vs_perchannel_accuracy
363363
RandomBehaviorTest::test_beta_tf_data_compatibility
364-
RandomCorrectnessTest::test_beta0
365-
RandomCorrectnessTest::test_beta1
366-
RandomCorrectnessTest::test_beta2
367364
RandomCorrectnessTest::test_truncated_normal0
368365
RandomCorrectnessTest::test_truncated_normal1
369366
RandomCorrectnessTest::test_truncated_normal2
@@ -375,10 +372,6 @@ RandomCorrectnessTest::test_uniform1
375372
RandomCorrectnessTest::test_uniform2
376373
RandomCorrectnessTest::test_uniform3
377374
RandomCorrectnessTest::test_uniform4
378-
RandomDTypeTest::test_beta_bfloat16
379-
RandomDTypeTest::test_beta_float16
380-
RandomDTypeTest::test_beta_float32
381-
RandomDTypeTest::test_beta_float64
382375
RandomDTypeTest::test_normal_bfloat16
383376
RandomDTypeTest::test_truncated_normal_bfloat16
384377
RandomDTypeTest::test_uniform_bfloat16

keras/src/backend/openvino/random.py

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -443,4 +443,15 @@ def binomial(shape, counts, probabilities, dtype=None, seed=None):
443443

444444

445445
def beta(shape, alpha, beta, dtype=None, seed=None):
446-
raise NotImplementedError("`beta` is not supported with openvino backend")
446+
seed1 = seed
447+
seed2 = seed
448+
if isinstance(seed, int):
449+
seed2 += 123
450+
451+
gamma_a = get_ov_output(gamma(shape, alpha, dtype=dtype, seed=seed1))
452+
gamma_b = get_ov_output(gamma(shape, beta, dtype=dtype, seed=seed2))
453+
454+
sum_ab = ov_opset.add(gamma_a, gamma_b).output(0)
455+
z = ov_opset.divide(gamma_a, sum_ab).output(0)
456+
457+
return OpenVINOKerasTensor(z)

0 commit comments

Comments
 (0)