keras-hub-nightly 0.21.0.dev202505080407__py3-none-any.whl → 0.21.0.dev202505130407__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_hub/src/layers/modeling/reversible_embedding.py +25 -35
- keras_hub/src/version.py +1 -1
- {keras_hub_nightly-0.21.0.dev202505080407.dist-info → keras_hub_nightly-0.21.0.dev202505130407.dist-info}/METADATA +1 -1
- {keras_hub_nightly-0.21.0.dev202505080407.dist-info → keras_hub_nightly-0.21.0.dev202505130407.dist-info}/RECORD +6 -6
- {keras_hub_nightly-0.21.0.dev202505080407.dist-info → keras_hub_nightly-0.21.0.dev202505130407.dist-info}/WHEEL +1 -1
- {keras_hub_nightly-0.21.0.dev202505080407.dist-info → keras_hub_nightly-0.21.0.dev202505130407.dist-info}/top_level.txt +0 -0
@@ -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
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
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=
|
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=
|
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
|
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.
|
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
|
-
|
267
|
-
|
268
|
-
|
269
|
-
self.
|
270
|
-
|
271
|
-
|
272
|
-
|
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
@@ -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=
|
8
|
+
keras_hub/src/version.py,sha256=VZTovKMpjl_fP_-pDGy1N07KYmWfG27mOom6_ENYsqs,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=
|
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.
|
490
|
-
keras_hub_nightly-0.21.0.
|
491
|
-
keras_hub_nightly-0.21.0.
|
492
|
-
keras_hub_nightly-0.21.0.
|
489
|
+
keras_hub_nightly-0.21.0.dev202505130407.dist-info/METADATA,sha256=wq3CIpt5UPtMPCplqV2XwXVf0nqW9ee10tonmWA6HII,7393
|
490
|
+
keras_hub_nightly-0.21.0.dev202505130407.dist-info/WHEEL,sha256=DnLRTWE75wApRYVsjgc6wsVswC54sMSJhAEd4xhDpBk,91
|
491
|
+
keras_hub_nightly-0.21.0.dev202505130407.dist-info/top_level.txt,sha256=N4J6piIWBKa38A4uV-CnIopnOEf8mHAbkNXafXm_CuA,10
|
492
|
+
keras_hub_nightly-0.21.0.dev202505130407.dist-info/RECORD,,
|