keras-nightly 3.14.0.dev2026012904__py3-none-any.whl → 3.14.0.dev2026013104__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- keras/src/backend/jax/distribution_lib.py +0 -18
- keras/src/backend/openvino/numpy.py +47 -2
- keras/src/export/tfsm_layer.py +34 -0
- keras/src/optimizers/__init__.py +1 -0
- keras/src/version.py +1 -1
- {keras_nightly-3.14.0.dev2026012904.dist-info → keras_nightly-3.14.0.dev2026013104.dist-info}/METADATA +1 -1
- {keras_nightly-3.14.0.dev2026012904.dist-info → keras_nightly-3.14.0.dev2026013104.dist-info}/RECORD +9 -9
- {keras_nightly-3.14.0.dev2026012904.dist-info → keras_nightly-3.14.0.dev2026013104.dist-info}/WHEEL +0 -0
- {keras_nightly-3.14.0.dev2026012904.dist-info → keras_nightly-3.14.0.dev2026013104.dist-info}/top_level.txt +0 -0
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
import jax
|
|
4
4
|
import numpy as np
|
|
5
5
|
|
|
6
|
-
from keras.src.backend.common import global_state
|
|
7
6
|
from keras.src.random import seed_generator
|
|
8
7
|
from keras.src.utils import jax_utils
|
|
9
8
|
from keras.src.utils import rng_utils
|
|
@@ -157,23 +156,6 @@ def initialize_rng():
|
|
|
157
156
|
# Set the global seed.
|
|
158
157
|
rng_utils.set_random_seed(global_seed)
|
|
159
158
|
|
|
160
|
-
# Check if the global seed generator is set and ensure it has an initialized
|
|
161
|
-
# seed. Otherwise, reset the seed to the global seed.
|
|
162
|
-
global_seed_generator = global_state.get_global_attribute(
|
|
163
|
-
seed_generator.GLOBAL_SEED_GENERATOR
|
|
164
|
-
)
|
|
165
|
-
if global_seed_generator is not None:
|
|
166
|
-
seed = global_seed_generator.get_config()["seed"]
|
|
167
|
-
if seed is None:
|
|
168
|
-
global_state.set_global_attribute(
|
|
169
|
-
seed_generator.GLOBAL_SEED_GENERATOR,
|
|
170
|
-
seed_generator.SeedGenerator(
|
|
171
|
-
seed=global_seed,
|
|
172
|
-
name=global_seed_generator.name,
|
|
173
|
-
backend=global_seed_generator.backend,
|
|
174
|
-
),
|
|
175
|
-
)
|
|
176
|
-
|
|
177
159
|
|
|
178
160
|
def initialize(job_addresses, num_processes, process_id):
|
|
179
161
|
if job_addresses and "," in job_addresses:
|
|
@@ -2122,7 +2122,22 @@ def nanmin(x, axis=None, keepdims=False):
|
|
|
2122
2122
|
|
|
2123
2123
|
|
|
2124
2124
|
def nansum(x, axis=None, keepdims=False):
|
|
2125
|
-
|
|
2125
|
+
x = get_ov_output(x)
|
|
2126
|
+
x_type = x.get_element_type()
|
|
2127
|
+
|
|
2128
|
+
if not x_type.is_integral() and x_type != Type.boolean:
|
|
2129
|
+
nan_mask = ov_opset.is_nan(x)
|
|
2130
|
+
zero = ov_opset.constant(0, x_type)
|
|
2131
|
+
x = ov_opset.select(nan_mask, zero, x).output(0)
|
|
2132
|
+
|
|
2133
|
+
x, axis = _resolve_axis(x, axis)
|
|
2134
|
+
if axis is None:
|
|
2135
|
+
return OpenVINOKerasTensor(x)
|
|
2136
|
+
|
|
2137
|
+
x = _upcast_type_if_needed(x)
|
|
2138
|
+
result = ov_opset.reduce_sum(x, axis, keepdims).output(0)
|
|
2139
|
+
|
|
2140
|
+
return OpenVINOKerasTensor(result)
|
|
2126
2141
|
|
|
2127
2142
|
|
|
2128
2143
|
def nan_to_num(x, nan=0.0, posinf=None, neginf=None):
|
|
@@ -2717,7 +2732,37 @@ def round(x, decimals=0):
|
|
|
2717
2732
|
|
|
2718
2733
|
|
|
2719
2734
|
def tile(x, repeats):
|
|
2720
|
-
|
|
2735
|
+
x = get_ov_output(x)
|
|
2736
|
+
|
|
2737
|
+
if isinstance(repeats, int):
|
|
2738
|
+
repeats = [repeats]
|
|
2739
|
+
repeats = get_ov_output(repeats)
|
|
2740
|
+
|
|
2741
|
+
if repeats.get_element_type() != Type.i64:
|
|
2742
|
+
repeats = ov_opset.convert(repeats, Type.i64)
|
|
2743
|
+
|
|
2744
|
+
if len(repeats.get_partial_shape()) != 1:
|
|
2745
|
+
repeats = ov_opset.reshape(repeats, [-1], False)
|
|
2746
|
+
|
|
2747
|
+
shape_x = ov_opset.shape_of(x, Type.i64)
|
|
2748
|
+
rank_x = ov_opset.shape_of(shape_x, Type.i64)
|
|
2749
|
+
rank_r = ov_opset.shape_of(repeats, Type.i64)
|
|
2750
|
+
|
|
2751
|
+
one = ov_opset.constant(1, Type.i64)
|
|
2752
|
+
zero = ov_opset.constant(0, Type.i64)
|
|
2753
|
+
|
|
2754
|
+
pad_x = ov_opset.maximum(ov_opset.subtract(rank_r, rank_x), zero)
|
|
2755
|
+
new_x_shape = ov_opset.concat(
|
|
2756
|
+
[ov_opset.broadcast(one, pad_x).output(0), shape_x], 0
|
|
2757
|
+
)
|
|
2758
|
+
x = ov_opset.reshape(x, new_x_shape, False)
|
|
2759
|
+
|
|
2760
|
+
pad_r = ov_opset.maximum(ov_opset.subtract(rank_x, rank_r), zero)
|
|
2761
|
+
repeats = ov_opset.concat(
|
|
2762
|
+
[ov_opset.broadcast(one, pad_r).output(0), repeats], 0
|
|
2763
|
+
)
|
|
2764
|
+
|
|
2765
|
+
return OpenVINOKerasTensor(ov_opset.tile(x, repeats).output(0))
|
|
2721
2766
|
|
|
2722
2767
|
|
|
2723
2768
|
def trace(x, offset=0, axis1=0, axis2=1):
|
keras/src/export/tfsm_layer.py
CHANGED
|
@@ -2,6 +2,7 @@ from keras.src import backend
|
|
|
2
2
|
from keras.src import layers
|
|
3
3
|
from keras.src.api_export import keras_export
|
|
4
4
|
from keras.src.export.saved_model import _list_variables_used_by_fns
|
|
5
|
+
from keras.src.saving import serialization_lib
|
|
5
6
|
from keras.src.utils.module_utils import tensorflow as tf
|
|
6
7
|
|
|
7
8
|
|
|
@@ -146,3 +147,36 @@ class TFSMLayer(layers.Layer):
|
|
|
146
147
|
"call_training_endpoint": self.call_training_endpoint,
|
|
147
148
|
}
|
|
148
149
|
return {**base_config, **config}
|
|
150
|
+
|
|
151
|
+
@classmethod
|
|
152
|
+
def from_config(cls, config, custom_objects=None, safe_mode=None):
|
|
153
|
+
"""Creates a TFSMLayer from its config.
|
|
154
|
+
Args:
|
|
155
|
+
config: A Python dictionary, typically the output of `get_config`.
|
|
156
|
+
custom_objects: Optional dictionary mapping names to custom objects.
|
|
157
|
+
safe_mode: Boolean, whether to disallow loading TFSMLayer.
|
|
158
|
+
When `safe_mode=True`, loading is disallowed because TFSMLayer
|
|
159
|
+
loads external SavedModels that may contain attacker-controlled
|
|
160
|
+
executable graph code. Defaults to `True`.
|
|
161
|
+
Returns:
|
|
162
|
+
A TFSMLayer instance.
|
|
163
|
+
"""
|
|
164
|
+
# Follow the same pattern as Lambda layer for safe_mode handling
|
|
165
|
+
effective_safe_mode = (
|
|
166
|
+
safe_mode
|
|
167
|
+
if safe_mode is not None
|
|
168
|
+
else serialization_lib.in_safe_mode()
|
|
169
|
+
)
|
|
170
|
+
|
|
171
|
+
if effective_safe_mode is not False:
|
|
172
|
+
raise ValueError(
|
|
173
|
+
"Requested the deserialization of a `TFSMLayer`, which "
|
|
174
|
+
"loads an external SavedModel. This carries a potential risk "
|
|
175
|
+
"of arbitrary code execution and thus it is disallowed by "
|
|
176
|
+
"default. If you trust the source of the artifact, you can "
|
|
177
|
+
"override this error by passing `safe_mode=False` to the "
|
|
178
|
+
"loading function, or calling "
|
|
179
|
+
"`keras.config.enable_unsafe_deserialization()."
|
|
180
|
+
)
|
|
181
|
+
|
|
182
|
+
return cls(**config)
|
keras/src/optimizers/__init__.py
CHANGED
keras/src/version.py
CHANGED
{keras_nightly-3.14.0.dev2026012904.dist-info → keras_nightly-3.14.0.dev2026013104.dist-info}/RECORD
RENAMED
|
@@ -128,7 +128,7 @@ keras/regularizers/__init__.py,sha256=542Shphw7W8h4Dyf2rmqMKUECVZ8IVBvN9g1LWhz-b
|
|
|
128
128
|
keras/saving/__init__.py,sha256=KvL2GZxjvgFgEhvEnkvqjIR9JSNHKz-NWZacXajsjLI,1298
|
|
129
129
|
keras/src/__init__.py,sha256=Gi4S7EiCMkE03PbdGNpFdaUYySWDs_FcAJ8Taz9Y1BE,684
|
|
130
130
|
keras/src/api_export.py,sha256=gXOkBOnmscV013WAc75lc4Up01-Kkg9EylIAT_QWctg,1173
|
|
131
|
-
keras/src/version.py,sha256=
|
|
131
|
+
keras/src/version.py,sha256=czO9hPDnPlqYI5RCPx-8o5q4MY_U5sszh1qYgRP4csc,204
|
|
132
132
|
keras/src/activations/__init__.py,sha256=0nL3IFDB9unlrMz8ninKOWo-uCHasTUpTo1tXZb2u44,4433
|
|
133
133
|
keras/src/activations/activations.py,sha256=mogPggtp4CGldI3VOPNmesRxp6EbiR1_i4KLGaVwzL8,17614
|
|
134
134
|
keras/src/applications/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -164,7 +164,7 @@ keras/src/backend/common/tensor_attributes.py,sha256=X5sYeGDu9YmVBIn8oX31IeE-v-b
|
|
|
164
164
|
keras/src/backend/common/variables.py,sha256=ENq8lbwCGoIggC3Ef92Ea9G7ej4NZJnomvJZYwp8BaI,24467
|
|
165
165
|
keras/src/backend/jax/__init__.py,sha256=l_HMwAZ3oAV4Etnw9RPqbvLYPPs3CZYbgaLd_qy36ps,1495
|
|
166
166
|
keras/src/backend/jax/core.py,sha256=pwsVWZF63o47StwMdwm9tRQapX_EHNnMt4r8Xe37gIg,23132
|
|
167
|
-
keras/src/backend/jax/distribution_lib.py,sha256=
|
|
167
|
+
keras/src/backend/jax/distribution_lib.py,sha256=y5bCEApRjDKhBeobI6h9ydjZDA8mqNjT1xYW_IsHWGw,8498
|
|
168
168
|
keras/src/backend/jax/export.py,sha256=jV2yKQLzYjK72vTJmdNomWPLeNS_lDTCEKzQx_5D_-E,7368
|
|
169
169
|
keras/src/backend/jax/image.py,sha256=RiYIalbIaUQdDOGpDZUBk5KNsX94Xqg7iyXGATN9V58,30482
|
|
170
170
|
keras/src/backend/jax/layer.py,sha256=o6CicT06udwamTRQIjNSDLZLyYHFzBXNbxewXgWe0iw,308
|
|
@@ -198,7 +198,7 @@ keras/src/backend/openvino/layer.py,sha256=5RdvaH1yOyPAphjKiuQAK1H_yZFYKE1Hp7c5b
|
|
|
198
198
|
keras/src/backend/openvino/linalg.py,sha256=L6a4MFGND2wWzPVCh44cwuOgkcC4wJTo8Xy3HwW04lg,1614
|
|
199
199
|
keras/src/backend/openvino/math.py,sha256=qw9kX2sJ2qr0dBJF12Ey0E2GcwixPUqoev6UcNra4NI,3944
|
|
200
200
|
keras/src/backend/openvino/nn.py,sha256=zULPxdwVO7JDZUUtsuoEEPCLQ09ew8z8T6G_i_NEqrM,23741
|
|
201
|
-
keras/src/backend/openvino/numpy.py,sha256=
|
|
201
|
+
keras/src/backend/openvino/numpy.py,sha256=wEaJROQYYiz8Yw2EWt_X_BeWJrgPMrlR-LlKMIrZE8U,113136
|
|
202
202
|
keras/src/backend/openvino/random.py,sha256=4hRUtIP6qJxO3Qy9uH1x6jSuJna3nWPdUf4x2QU8-ew,5575
|
|
203
203
|
keras/src/backend/openvino/rnn.py,sha256=ErmuZLPSgG9qU-NfYPPvBZ6Ysy8k-fA4g19Vhqq7OVQ,866
|
|
204
204
|
keras/src/backend/openvino/trainer.py,sha256=bMmtSALqydqdS6ke-5sYW5fgxZDshDH810p_C0xCRTg,9087
|
|
@@ -288,7 +288,7 @@ keras/src/export/onnx.py,sha256=XsVSmNmxJDQrDuUANKFo8smOSm4BBYm35bR1AW9OWFo,8404
|
|
|
288
288
|
keras/src/export/openvino.py,sha256=C9QNCOQ8-MwoOr8ZUqQvGzWY_CHOb8yDlMIJ9NYsLyw,7626
|
|
289
289
|
keras/src/export/saved_model.py,sha256=bxcsVd87MXnw3ENKu_dbUc8JzPFqjOAPbLL0U5KqG-g,28425
|
|
290
290
|
keras/src/export/tf2onnx_lib.py,sha256=cvHXS84Ocjcp1cTh5SziXAzNUsZ51RqjXNhOk5IlNDs,7234
|
|
291
|
-
keras/src/export/tfsm_layer.py,sha256=
|
|
291
|
+
keras/src/export/tfsm_layer.py,sha256=7qOYvUwtHluDykQtob4VgtN88EzsAgzk8MDsWolvB38,7545
|
|
292
292
|
keras/src/initializers/__init__.py,sha256=tG7qxC2J0PDhO_L2W95sJXNIduL7F5lqHvUuJ7EIhXE,5662
|
|
293
293
|
keras/src/initializers/constant_initializers.py,sha256=CvTyqbkcvvhwLlKYf8jqwlS-F2-Uj2c13si8Wjc4tmQ,10072
|
|
294
294
|
keras/src/initializers/initializer.py,sha256=kNAyRA8CzBdtknT6ZUt5XIO2_Z9NzpN119CId7wT1Vg,2632
|
|
@@ -508,7 +508,7 @@ keras/src/ops/numpy.py,sha256=VmjIuyjZYDu37AO0PaJ6fpw8MnVKcFUJ5IDx_nnPxps,264374
|
|
|
508
508
|
keras/src/ops/operation.py,sha256=A7sh9Hi6kZb7wkeMmhrDQIq770ofANXuP-Qg-kwCM3o,15485
|
|
509
509
|
keras/src/ops/operation_utils.py,sha256=C6eThl-haKzlDH0fC1rn5-P1P-pCfIfXs-fy-ADR534,14523
|
|
510
510
|
keras/src/ops/symbolic_arguments.py,sha256=MKwXxZYkyouD9BPmQ1uUNxILdcwPvTayAqXaUV3P3o4,1628
|
|
511
|
-
keras/src/optimizers/__init__.py,sha256=
|
|
511
|
+
keras/src/optimizers/__init__.py,sha256=9NzqTWeXY5NwY9Z3htYsZAVmEQFFudX1eGrv8uJizX0,3984
|
|
512
512
|
keras/src/optimizers/adadelta.py,sha256=QRVnzP2vdaEX02yb81Wv9ovV5VNvjBGZz3iKISBp150,4581
|
|
513
513
|
keras/src/optimizers/adafactor.py,sha256=wz90cSLBM-pCtYHSnxFSSYXEo-CBa4POCmL98HWhwcs,8418
|
|
514
514
|
keras/src/optimizers/adagrad.py,sha256=x6HxwrqAjyhro1HQabcJQLLPPaXhWFJH6n-K0jBvE9g,3722
|
|
@@ -618,7 +618,7 @@ keras/utils/bounding_boxes/__init__.py,sha256=jtvQll4u8ZY0Z96HwNhP1nxWEG9FM3gI-6
|
|
|
618
618
|
keras/utils/legacy/__init__.py,sha256=oSYZz6uS8UxSElRaaJYWJEoweJ4GAasZjnn7fNaOlog,342
|
|
619
619
|
keras/visualization/__init__.py,sha256=UKWmiy6sps4SWlmQi9WX8_Z53cPpLlphz2zIeHdwJpQ,722
|
|
620
620
|
keras/wrappers/__init__.py,sha256=QkS-O5K8qGS7C3sytF8MpmO6PasATpNVGF8qtb7Ojsw,407
|
|
621
|
-
keras_nightly-3.14.0.
|
|
622
|
-
keras_nightly-3.14.0.
|
|
623
|
-
keras_nightly-3.14.0.
|
|
624
|
-
keras_nightly-3.14.0.
|
|
621
|
+
keras_nightly-3.14.0.dev2026013104.dist-info/METADATA,sha256=w0kkqL1AF73EhiimNKldJ4tSW7eCF5cKZwXLOhxviSM,6339
|
|
622
|
+
keras_nightly-3.14.0.dev2026013104.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
|
|
623
|
+
keras_nightly-3.14.0.dev2026013104.dist-info/top_level.txt,sha256=ptcw_-QuGZ4ZDjMdwi_Z0clZm8QAqFdvzzFnDEOTs9o,6
|
|
624
|
+
keras_nightly-3.14.0.dev2026013104.dist-info/RECORD,,
|
{keras_nightly-3.14.0.dev2026012904.dist-info → keras_nightly-3.14.0.dev2026013104.dist-info}/WHEEL
RENAMED
|
File without changes
|
|
File without changes
|