From b131554e71f63c2080e9995e72f883b5d107324a Mon Sep 17 00:00:00 2001 From: Mohamed-Ashraf273 Date: Tue, 16 Sep 2025 20:17:09 +0300 Subject: [PATCH] [OpenVINO backend] solve randomuniform issue --- keras/src/backend/openvino/random.py | 21 +++++++-------------- 1 file changed, 7 insertions(+), 14 deletions(-) diff --git a/keras/src/backend/openvino/random.py b/keras/src/backend/openvino/random.py index f1ba694a7cea..38de21294677 100644 --- a/keras/src/backend/openvino/random.py +++ b/keras/src/backend/openvino/random.py @@ -22,21 +22,14 @@ def normal(shape, mean=0.0, stddev=1.0, dtype=None, seed=None): def uniform(shape, minval=0.0, maxval=1.0, dtype=None, seed=None): dtype = dtype or floatx() - ov_type = OPENVINO_DTYPES[dtype] - seed = draw_seed(seed) - if isinstance(seed, OpenVINOKerasTensor): - seed1, seed2 = convert_to_numpy(seed) + seed_val = draw_seed(seed) + if isinstance(seed_val, OpenVINOKerasTensor): + seed_data = convert_to_numpy(seed_val) else: - seed1, seed2 = draw_seed(seed).data - minval_const = ov_opset.constant(minval, dtype=dtype) - maxval_const = ov_opset.constant(maxval, dtype=dtype) - if isinstance(shape, tuple): - shape = list(shape) - output_shape_const = ov_opset.constant(shape, dtype=Type.i32) - random_uniform = ov_opset.random_uniform( - output_shape_const, minval_const, maxval_const, ov_type, seed1, seed2 - ) - return OpenVINOKerasTensor(random_uniform.output(0)) + seed_data = seed_val.data + rng = np.random.default_rng(seed_data) + random_values = rng.uniform(minval, maxval, size=shape).astype(dtype) + return OpenVINOKerasTensor(ov_opset.constant(random_values).output(0)) def categorical(logits, num_samples, dtype="int64", seed=None):