keras-hub-nightly 0.21.0.dev202505090407__py3-none-any.whl → 0.21.0.dev202505140407__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.
@@ -1,3 +1,5 @@
1
+ import inspect
2
+
1
3
  import keras
2
4
  from keras import ops
3
5
 
@@ -184,31 +186,33 @@ class ReversibleEmbedding(keras.layers.Embedding):
184
186
  else:
185
187
  self._quantization_mode_error(self.quantization_mode)
186
188
 
187
- def _int8_build(
188
- self,
189
- embeddings_initializer="zeros",
190
- embeddings_scale_initializer="ones",
191
- reverse_embeddings_initializer="zeros",
192
- reverse_embeddings_scale_initializer="ones",
193
- ):
194
- super()._int8_build(
195
- embeddings_initializer, embeddings_scale_initializer
196
- )
189
+ def _int8_build(self, embeddings_shape=None):
190
+ if (
191
+ "embeddings_shape"
192
+ in inspect.signature(super()._int8_build).parameters
193
+ ):
194
+ if embeddings_shape is None:
195
+ embeddings_shape = (self.input_dim, self.output_dim)
196
+ super()._int8_build(embeddings_shape=embeddings_shape)
197
+ else:
198
+ # Backward compatibility for older versions of Keras.
199
+ super()._int8_build()
197
200
  self.inputs_quantizer = keras.quantizers.AbsMaxQuantizer(axis=-1)
198
201
  if not self.tie_weights:
199
202
  self.reverse_embeddings = self.add_weight(
200
203
  name="reverse_embeddings",
201
204
  shape=(self.output_dim, self.input_dim),
202
- initializer=reverse_embeddings_initializer,
205
+ initializer="zeros",
203
206
  dtype="int8",
204
207
  trainable=False,
205
208
  )
206
209
  self.reverse_embeddings_scale = self.add_weight(
207
210
  name="reverse_embeddings_scale",
208
211
  shape=(self.input_dim,),
209
- initializer=reverse_embeddings_scale_initializer,
212
+ initializer="ones",
210
213
  trainable=False,
211
214
  )
215
+ self._is_quantized = True
212
216
 
213
217
  def _int8_call(self, inputs, reverse=False):
214
218
  if reverse:
@@ -232,27 +236,20 @@ class ReversibleEmbedding(keras.layers.Embedding):
232
236
  return super()._int8_call(inputs)
233
237
 
234
238
  def quantize(self, mode, type_check=True):
235
- import gc
236
-
237
239
  if type_check and type(self) is not ReversibleEmbedding:
238
- raise NotImplementedError(
239
- f"Layer {self.__class__.__name__} does not have a `quantize()` "
240
- "method implemented."
241
- )
242
- self._check_quantize_args(mode, self.compute_dtype)
240
+ raise self._not_implemented_error(self.quantize)
243
241
 
244
242
  def abs_max_quantize(inputs, axis):
245
243
  return keras.quantizers.abs_max_quantize(
246
244
  inputs, axis=axis, to_numpy=True
247
245
  )
248
246
 
249
- self._tracker.unlock()
247
+ embeddings_shape = (self.input_dim, self.output_dim)
250
248
  if mode == "int8":
251
249
  embeddings, embeddings_scale = abs_max_quantize(
252
250
  self._embeddings, axis=-1
253
251
  )
254
252
  embeddings_scale = ops.squeeze(embeddings_scale, axis=-1)
255
- self._untrack_variable(self._embeddings)
256
253
  del self._embeddings
257
254
  if not self.tie_weights:
258
255
  reverse_embeddings, reverse_embeddings_scale = abs_max_quantize(
@@ -261,24 +258,17 @@ class ReversibleEmbedding(keras.layers.Embedding):
261
258
  reverse_embeddings_scale = ops.squeeze(
262
259
  reverse_embeddings_scale, axis=0
263
260
  )
264
- self._untrack_variable(self.reverse_embeddings)
265
261
  del self.reverse_embeddings
266
- else:
267
- reverse_embeddings = None
268
- reverse_embeddings_scale = None
269
- self._int8_build(
270
- lambda shape, dtype: embeddings,
271
- lambda shape, dtype: embeddings_scale,
272
- lambda shape, dtype: reverse_embeddings,
273
- lambda shape, dtype: reverse_embeddings_scale,
274
- )
275
- else:
276
- raise self._quantization_mode_error(mode)
277
- self._tracker.lock()
262
+ self.quantized_build(embeddings_shape, mode)
263
+ if mode == "int8":
264
+ self._embeddings.assign(embeddings)
265
+ self.embeddings_scale.assign(embeddings_scale)
266
+ if not self.tie_weights:
267
+ self.reverse_embeddings.assign(reverse_embeddings)
268
+ self.reverse_embeddings_scale.assign(reverse_embeddings_scale)
278
269
 
279
270
  if self.dtype_policy.quantization_mode is None:
280
271
  policy = keras.dtype_policies.get(
281
272
  f"{mode}_from_{self.dtype_policy.name}"
282
273
  )
283
274
  self.dtype_policy = policy
284
- gc.collect()
keras_hub/src/version.py CHANGED
@@ -1,7 +1,7 @@
1
1
  from keras_hub.src.api_export import keras_hub_export
2
2
 
3
3
  # Unique source of truth for the version number.
4
- __version__ = "0.21.0.dev202505090407"
4
+ __version__ = "0.21.0.dev202505140407"
5
5
 
6
6
 
7
7
  @keras_hub_export("keras_hub.version")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: keras-hub-nightly
3
- Version: 0.21.0.dev202505090407
3
+ Version: 0.21.0.dev202505140407
4
4
  Summary: Pretrained models for Keras.
5
5
  Author-email: Keras team <keras-users@googlegroups.com>
6
6
  License-Expression: Apache-2.0
@@ -5,7 +5,7 @@ keras_hub/models/__init__.py,sha256=kFWNpjemQ8FLzDlFfMdAOOXJKtxuVHFxyZm7-1mH4Gc,
5
5
  keras_hub/samplers/__init__.py,sha256=aFQIkiqbZpi8vjrPp2MVII4QUfE-eQjra5fMeHsoy7k,886
6
6
  keras_hub/src/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
7
  keras_hub/src/api_export.py,sha256=9pQZK27JObxWZ96QPLBp1OBsjWigh1iuV6RglPGMRk0,1499
8
- keras_hub/src/version.py,sha256=0LAhJoL3V_nWN8KIbE6wSDHVx0bOL34Eu2MpW1o94Og,222
8
+ keras_hub/src/version.py,sha256=byEOsjNvnRm-73Cv_UNklw4ZKk60II9uXyef5caMe0w,222
9
9
  keras_hub/src/layers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
10
10
  keras_hub/src/layers/modeling/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
11
11
  keras_hub/src/layers/modeling/alibi_bias.py,sha256=1XBTHI52L_iJDhN_w5ydu_iMhCuTgQAxEPwcLA6BPuk,4411
@@ -16,7 +16,7 @@ keras_hub/src/layers/modeling/f_net_encoder.py,sha256=zkVeO5Nk_kBZCUGq2LeDGmPEIM
16
16
  keras_hub/src/layers/modeling/masked_lm_head.py,sha256=no6XQb76KB2cUiksYC0MSdyeDOK7pn8MY6cmdCDxpKs,9015
17
17
  keras_hub/src/layers/modeling/non_max_supression.py,sha256=yAkAH1CCj_tYXgQTav39IRr_Uxn8hmzJgIxqbYQyZY8,22565
18
18
  keras_hub/src/layers/modeling/position_embedding.py,sha256=FfTS6JGMhnOIzo9bHzvoxBbdQNctc32iRLI7ZjdxoTY,3850
19
- keras_hub/src/layers/modeling/reversible_embedding.py,sha256=sfm5giI-bHu2J9xm9Tkydx8XM-I_m8Oe0wbW1gzrYjk,11141
19
+ keras_hub/src/layers/modeling/reversible_embedding.py,sha256=w6f1LQzwPOKUdlWDy3YRECaDzb8veCB2PAxy4L0HJ7w,10866
20
20
  keras_hub/src/layers/modeling/rms_normalization.py,sha256=Ylnc9vkDw1A_ZqiKpQ09jVTAGumS5rspjdQOkH-mxf4,1084
21
21
  keras_hub/src/layers/modeling/rotary_embedding.py,sha256=BuMD2dCyZi73Eokddx8Q9cFb4pJVlOL2OgFwsom2p8I,6059
22
22
  keras_hub/src/layers/modeling/sine_position_encoding.py,sha256=NAPW9HaVTMNZgUJNzA3l1B3C_FNvaY7IW-5tQgFgnNg,3453
@@ -486,7 +486,7 @@ keras_hub/src/utils/transformers/preset_loader.py,sha256=1nfS5xVsl-JROGXJXltTqV1
486
486
  keras_hub/src/utils/transformers/safetensor_utils.py,sha256=CYUHyA4y-B61r7NDnCsFb4t_UmSwZ1k9L-8gzEd6KRg,3339
487
487
  keras_hub/tokenizers/__init__.py,sha256=4etC--bzhczJrRcvCmxZmOC9hJJcIVOUCgmqMLB3bp0,4051
488
488
  keras_hub/utils/__init__.py,sha256=jXPqVGBpJr_PpYmqD8aDG-fRMlxH-ulqCR2SZMn288Y,646
489
- keras_hub_nightly-0.21.0.dev202505090407.dist-info/METADATA,sha256=zjzu6HMAt2i4YdX8hB6AnbFxGMSTHg2fClV2KACeBYs,7393
490
- keras_hub_nightly-0.21.0.dev202505090407.dist-info/WHEEL,sha256=0CuiUZ_p9E4cD6NyLD6UG80LBXYyiSYZOKDm5lp32xk,91
491
- keras_hub_nightly-0.21.0.dev202505090407.dist-info/top_level.txt,sha256=N4J6piIWBKa38A4uV-CnIopnOEf8mHAbkNXafXm_CuA,10
492
- keras_hub_nightly-0.21.0.dev202505090407.dist-info/RECORD,,
489
+ keras_hub_nightly-0.21.0.dev202505140407.dist-info/METADATA,sha256=uD895R3mp5irmKsF6VsQuOJQ92uDjSDrBelTy93WHx8,7393
490
+ keras_hub_nightly-0.21.0.dev202505140407.dist-info/WHEEL,sha256=DnLRTWE75wApRYVsjgc6wsVswC54sMSJhAEd4xhDpBk,91
491
+ keras_hub_nightly-0.21.0.dev202505140407.dist-info/top_level.txt,sha256=N4J6piIWBKa38A4uV-CnIopnOEf8mHAbkNXafXm_CuA,10
492
+ keras_hub_nightly-0.21.0.dev202505140407.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (80.3.1)
2
+ Generator: setuptools (80.4.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5