keras-hub-nightly 0.23.0.dev202508250413__py3-none-any.whl → 0.23.0.dev202508260411__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.
@@ -0,0 +1,84 @@
1
+ from keras_hub.src.api_export import keras_hub_export
2
+ from keras_hub.src.models.t5gemma.t5gemma_backbone import T5GemmaBackbone
3
+ from keras_hub.src.tokenizers.sentence_piece_tokenizer import (
4
+ SentencePieceTokenizer,
5
+ )
6
+
7
+
8
+ @keras_hub_export(
9
+ [
10
+ "keras_hub.tokenizers.T5GemmaTokenizer",
11
+ "keras_hub.models.T5GemmaTokenizer",
12
+ ]
13
+ )
14
+ class T5GemmaTokenizer(SentencePieceTokenizer):
15
+ """T5Gemma tokenizer layer based on SentencePiece.
16
+
17
+ This tokenizer class will tokenize raw strings into integer sequences and
18
+ is based on `keras_hub.tokenizers.SentencePieceTokenizer`. Unlike the
19
+ underlying tokenizer, it will check for all special tokens needed by
20
+ T5Gemma models and provides a `from_preset()` method to automatically
21
+ download a matching vocabulary for a T5Gemma preset.
22
+
23
+ If input is a batch of strings (rank > 0), the layer will output a
24
+ `tf.RaggedTensor` where the last dimension of the output is ragged.
25
+
26
+ If input is a scalar string (rank == 0), the layer will output a dense
27
+ `tf.Tensor` with static shape `[None]`.
28
+
29
+ Args:
30
+ proto: Either a `string` path to a SentencePiece proto file, or a
31
+ `bytes` object with a serialized SentencePiece proto. See the
32
+ [SentencePiece repository](https://github.com/google/sentencepiece)
33
+ for more details on the format.
34
+
35
+ Examples:
36
+
37
+ ```python
38
+ import io
39
+ import tensorflow as tf
40
+ import sentencepiece
41
+
42
+ # Unbatched input.
43
+ tokenizer = keras_hub.models.T5GemmaTokenizer.from_preset(
44
+ "t5gemma_b_b_prefixlm_it"
45
+ )
46
+ tokenizer("The quick brown fox jumped.")
47
+
48
+ # Batched input.
49
+ tokenizer(["The quick brown fox jumped.", "The fox slept."])
50
+
51
+ # Detokenization.
52
+ tokenizer.detokenize(tokenizer("The quick brown fox jumped."))
53
+
54
+ # Custom vocabulary.
55
+ bytes_io = io.BytesIO()
56
+ ds = tf.data.Dataset.from_tensor_slices(["The quick brown fox jumped."])
57
+ sentencepiece.SentencePieceTrainer.train(
58
+ sentence_iterator=ds.as_numpy_iterator(),
59
+ model_writer=bytes_io,
60
+ vocab_size=8,
61
+ model_type="WORD",
62
+ pad_id=0,
63
+ bos_id=1,
64
+ eos_id=2,
65
+ unk_id=3,
66
+ pad_piece="<pad>",
67
+ bos_piece="<bos>",
68
+ eos_piece="<eos>",
69
+ unk_piece="<unk>",
70
+ )
71
+ tokenizer = keras_hub.models.T5GemmaTokenizer(
72
+ proto=bytes_io.getvalue(),
73
+ )
74
+ tokenizer("The quick brown fox jumped.")
75
+ ```
76
+ """
77
+
78
+ backbone_cls = T5GemmaBackbone
79
+
80
+ def __init__(self, proto, **kwargs):
81
+ self._add_special_token("<bos>", "start_token")
82
+ self._add_special_token("<eos>", "end_token")
83
+ self._add_special_token("<pad>", "pad_token")
84
+ super().__init__(proto=proto, **kwargs)
@@ -0,0 +1,229 @@
1
+ from keras_hub.src.models.t5gemma.t5gemma_backbone import T5GemmaBackbone
2
+ from keras_hub.src.utils.preset_utils import get_file
3
+
4
+ backbone_cls = T5GemmaBackbone
5
+
6
+
7
+ def convert_backbone_config(transformers_config):
8
+ """Convert a Hugging Face T5Gemma config to a KerasHub backbone config."""
9
+ encoder_config = transformers_config["encoder"]
10
+ decoder_config = transformers_config["decoder"]
11
+
12
+ if decoder_config.get("hidden_activation") == "gelu_pytorch_tanh":
13
+ decoder_config["hidden_activation"] = "gelu_approximate"
14
+ if encoder_config.get("hidden_activation") == "gelu_pytorch_tanh":
15
+ encoder_config["hidden_activation"] = "gelu_approximate"
16
+
17
+ backbone_config = {
18
+ "vocabulary_size": decoder_config["vocab_size"],
19
+ "encoder_hidden_dim": encoder_config["hidden_size"],
20
+ "encoder_intermediate_dim": encoder_config["intermediate_size"],
21
+ "encoder_num_layers": encoder_config["num_hidden_layers"],
22
+ "encoder_num_attention_heads": encoder_config["num_attention_heads"],
23
+ "encoder_num_key_value_heads": encoder_config["num_key_value_heads"],
24
+ "encoder_head_dim": encoder_config["head_dim"],
25
+ "encoder_layer_types": encoder_config["layer_types"],
26
+ "decoder_hidden_dim": decoder_config["hidden_size"],
27
+ "decoder_intermediate_dim": decoder_config["intermediate_size"],
28
+ "decoder_num_layers": decoder_config["num_hidden_layers"],
29
+ "decoder_num_attention_heads": decoder_config["num_attention_heads"],
30
+ "decoder_num_key_value_heads": decoder_config["num_key_value_heads"],
31
+ "decoder_head_dim": decoder_config["head_dim"],
32
+ "decoder_layer_types": decoder_config["layer_types"],
33
+ "dropout_rate": decoder_config["dropout_rate"],
34
+ "rms_norm_eps": decoder_config["rms_norm_eps"],
35
+ "query_pre_attn_scalar": decoder_config["query_pre_attn_scalar"],
36
+ "tie_word_embeddings": transformers_config.get(
37
+ "tie_word_embeddings", True
38
+ ),
39
+ "attention_bias": decoder_config["attention_bias"],
40
+ "hidden_activation": decoder_config["hidden_activation"],
41
+ "initializer_range": decoder_config["initializer_range"],
42
+ "attention_dropout": decoder_config["attention_dropout"],
43
+ "sliding_window": decoder_config["sliding_window"],
44
+ "cross_attention_hidden_size": encoder_config["hidden_size"],
45
+ "attn_logit_softcapping": decoder_config["attn_logit_softcapping"],
46
+ "final_logit_softcapping": decoder_config["final_logit_softcapping"],
47
+ "rope_max_wavelength": decoder_config["rope_theta"],
48
+ }
49
+ return backbone_config
50
+
51
+
52
+ def convert_weights(backbone, loader, transformers_config):
53
+ """Convert T5Gemma from Hugging Face to KerasHub."""
54
+ # Token embeddings.
55
+ loader.port_weight(
56
+ keras_variable=backbone.token_embedding.embeddings,
57
+ hf_weight_key="encoder.embed_tokens.weight",
58
+ )
59
+ loader.port_weight(
60
+ keras_variable=backbone.decoder_token_embedding.embeddings,
61
+ hf_weight_key="decoder.embed_tokens.weight",
62
+ )
63
+
64
+ # Encoder.
65
+ loader.port_weight(
66
+ keras_variable=backbone.encoder_norm.scale,
67
+ hf_weight_key="encoder.norm.weight",
68
+ )
69
+ for i in range(backbone.encoder_num_layers):
70
+ layer = backbone.get_layer(f"encoder_layer_{i}")
71
+ hf_prefix = f"encoder.layers.{i}"
72
+
73
+ # Self-attention.
74
+ loader.port_weight(
75
+ keras_variable=layer.self_attn.query_dense.kernel,
76
+ hf_weight_key=f"{hf_prefix}.self_attn.q_proj.weight",
77
+ hook_fn=lambda w, s: w.T.reshape(s),
78
+ )
79
+ loader.port_weight(
80
+ keras_variable=layer.self_attn.key_dense.kernel,
81
+ hf_weight_key=f"{hf_prefix}.self_attn.k_proj.weight",
82
+ hook_fn=lambda w, s: w.T.reshape(s),
83
+ )
84
+ loader.port_weight(
85
+ keras_variable=layer.self_attn.value_dense.kernel,
86
+ hf_weight_key=f"{hf_prefix}.self_attn.v_proj.weight",
87
+ hook_fn=lambda w, s: w.T.reshape(s),
88
+ )
89
+ loader.port_weight(
90
+ keras_variable=layer.self_attn.output_dense.kernel,
91
+ hf_weight_key=f"{hf_prefix}.self_attn.o_proj.weight",
92
+ hook_fn=lambda w, s: w.T.reshape(s),
93
+ )
94
+
95
+ # MLP.
96
+ loader.port_weight(
97
+ keras_variable=layer.mlp.gate_proj.kernel,
98
+ hf_weight_key=f"{hf_prefix}.mlp.gate_proj.weight",
99
+ hook_fn=lambda w, s: w.T,
100
+ )
101
+ loader.port_weight(
102
+ keras_variable=layer.mlp.up_proj.kernel,
103
+ hf_weight_key=f"{hf_prefix}.mlp.up_proj.weight",
104
+ hook_fn=lambda w, s: w.T,
105
+ )
106
+ loader.port_weight(
107
+ keras_variable=layer.mlp.down_proj.kernel,
108
+ hf_weight_key=f"{hf_prefix}.mlp.down_proj.weight",
109
+ hook_fn=lambda w, s: w.T,
110
+ )
111
+
112
+ # Layer norm.
113
+ loader.port_weight(
114
+ keras_variable=layer.pre_self_attn_layernorm.scale,
115
+ hf_weight_key=f"{hf_prefix}.pre_self_attn_layernorm.weight",
116
+ )
117
+ loader.port_weight(
118
+ keras_variable=layer.post_self_attn_layernorm.scale,
119
+ hf_weight_key=f"{hf_prefix}.post_self_attn_layernorm.weight",
120
+ )
121
+ loader.port_weight(
122
+ keras_variable=layer.pre_feedforward_layernorm.scale,
123
+ hf_weight_key=f"{hf_prefix}.pre_feedforward_layernorm.weight",
124
+ )
125
+ loader.port_weight(
126
+ keras_variable=layer.post_feedforward_layernorm.scale,
127
+ hf_weight_key=f"{hf_prefix}.post_feedforward_layernorm.weight",
128
+ )
129
+
130
+ # Decoder.
131
+ loader.port_weight(
132
+ keras_variable=backbone.decoder_norm.scale,
133
+ hf_weight_key="decoder.norm.weight",
134
+ )
135
+ for i in range(backbone.decoder_num_layers):
136
+ layer = backbone.get_layer(f"decoder_layer_{i}")
137
+ hf_prefix = f"decoder.layers.{i}"
138
+
139
+ # Self-attention.
140
+ loader.port_weight(
141
+ keras_variable=layer.self_attn.query_dense.kernel,
142
+ hf_weight_key=f"{hf_prefix}.self_attn.q_proj.weight",
143
+ hook_fn=lambda w, s: w.T.reshape(s),
144
+ )
145
+ loader.port_weight(
146
+ keras_variable=layer.self_attn.key_dense.kernel,
147
+ hf_weight_key=f"{hf_prefix}.self_attn.k_proj.weight",
148
+ hook_fn=lambda w, s: w.T.reshape(s),
149
+ )
150
+ loader.port_weight(
151
+ keras_variable=layer.self_attn.value_dense.kernel,
152
+ hf_weight_key=f"{hf_prefix}.self_attn.v_proj.weight",
153
+ hook_fn=lambda w, s: w.T.reshape(s),
154
+ )
155
+ loader.port_weight(
156
+ keras_variable=layer.self_attn.output_dense.kernel,
157
+ hf_weight_key=f"{hf_prefix}.self_attn.o_proj.weight",
158
+ hook_fn=lambda w, s: w.T.reshape(s),
159
+ )
160
+
161
+ # Cross-attention.
162
+ loader.port_weight(
163
+ keras_variable=layer.cross_attn.query_dense.kernel,
164
+ hf_weight_key=f"{hf_prefix}.cross_attn.q_proj.weight",
165
+ hook_fn=lambda w, s: w.T.reshape(s),
166
+ )
167
+ loader.port_weight(
168
+ keras_variable=layer.cross_attn.key_dense.kernel,
169
+ hf_weight_key=f"{hf_prefix}.cross_attn.k_proj.weight",
170
+ hook_fn=lambda w, s: w.T.reshape(s),
171
+ )
172
+ loader.port_weight(
173
+ keras_variable=layer.cross_attn.value_dense.kernel,
174
+ hf_weight_key=f"{hf_prefix}.cross_attn.v_proj.weight",
175
+ hook_fn=lambda w, s: w.T.reshape(s),
176
+ )
177
+ loader.port_weight(
178
+ keras_variable=layer.cross_attn.output_dense.kernel,
179
+ hf_weight_key=f"{hf_prefix}.cross_attn.o_proj.weight",
180
+ hook_fn=lambda w, s: w.T.reshape(s),
181
+ )
182
+
183
+ # MLP.
184
+ loader.port_weight(
185
+ keras_variable=layer.mlp.gate_proj.kernel,
186
+ hf_weight_key=f"{hf_prefix}.mlp.gate_proj.weight",
187
+ hook_fn=lambda w, s: w.T,
188
+ )
189
+ loader.port_weight(
190
+ keras_variable=layer.mlp.up_proj.kernel,
191
+ hf_weight_key=f"{hf_prefix}.mlp.up_proj.weight",
192
+ hook_fn=lambda w, s: w.T,
193
+ )
194
+ loader.port_weight(
195
+ keras_variable=layer.mlp.down_proj.kernel,
196
+ hf_weight_key=f"{hf_prefix}.mlp.down_proj.weight",
197
+ hook_fn=lambda w, s: w.T,
198
+ )
199
+
200
+ # Layer norm.
201
+ loader.port_weight(
202
+ keras_variable=layer.pre_self_attn_layernorm.scale,
203
+ hf_weight_key=f"{hf_prefix}.pre_self_attn_layernorm.weight",
204
+ )
205
+ loader.port_weight(
206
+ keras_variable=layer.post_self_attn_layernorm.scale,
207
+ hf_weight_key=f"{hf_prefix}.post_self_attn_layernorm.weight",
208
+ )
209
+ loader.port_weight(
210
+ keras_variable=layer.pre_cross_attn_layernorm.scale,
211
+ hf_weight_key=f"{hf_prefix}.pre_cross_attn_layernorm.weight",
212
+ )
213
+ loader.port_weight(
214
+ keras_variable=layer.post_cross_attn_layernorm.scale,
215
+ hf_weight_key=f"{hf_prefix}.post_cross_attn_layernorm.weight",
216
+ )
217
+ loader.port_weight(
218
+ keras_variable=layer.pre_feedforward_layernorm.scale,
219
+ hf_weight_key=f"{hf_prefix}.pre_feedforward_layernorm.weight",
220
+ )
221
+ loader.port_weight(
222
+ keras_variable=layer.post_feedforward_layernorm.scale,
223
+ hf_weight_key=f"{hf_prefix}.post_feedforward_layernorm.weight",
224
+ )
225
+
226
+
227
+ def convert_tokenizer(cls, preset, **kwargs):
228
+ """Convert a T5Gemma tokenizer."""
229
+ return cls(get_file(preset, "tokenizer.model"), **kwargs)
@@ -19,6 +19,7 @@ from keras_hub.src.utils.transformers import convert_pali_gemma
19
19
  from keras_hub.src.utils.transformers import convert_qwen
20
20
  from keras_hub.src.utils.transformers import convert_qwen3
21
21
  from keras_hub.src.utils.transformers import convert_qwen_moe
22
+ from keras_hub.src.utils.transformers import convert_t5gemma
22
23
  from keras_hub.src.utils.transformers import convert_vit
23
24
  from keras_hub.src.utils.transformers.safetensor_utils import SafetensorLoader
24
25
 
@@ -62,6 +63,8 @@ class TransformersPresetLoader(PresetLoader):
62
63
  self.converter = convert_qwen_moe
63
64
  elif model_type == "qwen3":
64
65
  self.converter = convert_qwen3
66
+ elif model_type == "t5gemma":
67
+ self.converter = convert_t5gemma
65
68
  else:
66
69
  raise ValueError(
67
70
  "KerasHub has no converter for huggingface/transformers models "
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.23.0.dev202508250413"
4
+ __version__ = "0.23.0.dev202508260411"
5
5
 
6
6
 
7
7
  @keras_hub_export("keras_hub.version")
@@ -88,6 +88,9 @@ from keras_hub.src.models.siglip.siglip_tokenizer import (
88
88
  SigLIPTokenizer as SigLIPTokenizer,
89
89
  )
90
90
  from keras_hub.src.models.t5.t5_tokenizer import T5Tokenizer as T5Tokenizer
91
+ from keras_hub.src.models.t5gemma.t5gemma_tokenizer import (
92
+ T5GemmaTokenizer as T5GemmaTokenizer,
93
+ )
91
94
  from keras_hub.src.models.whisper.whisper_tokenizer import (
92
95
  WhisperTokenizer as WhisperTokenizer,
93
96
  )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: keras-hub-nightly
3
- Version: 0.23.0.dev202508250413
3
+ Version: 0.23.0.dev202508260411
4
4
  Summary: Pretrained models for Keras.
5
5
  Author-email: Keras team <keras-users@googlegroups.com>
6
6
  License-Expression: Apache-2.0
@@ -1,11 +1,11 @@
1
1
  keras_hub/__init__.py,sha256=bJbUZkqwhZvTb1Tqx1fbkq6mzBYiEyq-Hin3oQIkhdE,558
2
2
  keras_hub/layers/__init__.py,sha256=SMkchjCbNydCBULOFC1pzZRaD-KWZ2CaH6CEVf1MRWE,5428
3
3
  keras_hub/metrics/__init__.py,sha256=KYalsMPBnfwim9BdGHFfJ5WxUKFXOQ1QoKIMT_0lwlM,439
4
- keras_hub/models/__init__.py,sha256=UXMwKVZ7bg-AOrq2xsl8M0idUAS89pkdCvQKhzL-D3I,28439
4
+ keras_hub/models/__init__.py,sha256=BIiZQysBWPgBaShlvPu2wGvDOeHZyJ5IEcaGmdO3KJA,28899
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=hda9lLVTfIS7cJbaqRyEGv8ngWNeZ8dwdekqAtgdTnA,222
8
+ keras_hub/src/version.py,sha256=g1tcd00bjQZuGngpSoTU2YlVzqJrCZYrV6wu_r4dQOA,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
@@ -437,6 +437,16 @@ keras_hub/src/models/t5/t5_preprocessor.py,sha256=UVOnCHUJF_MBcOyfR9G9oeRUEoN3Xo
437
437
  keras_hub/src/models/t5/t5_presets.py,sha256=I9rOBMG4dcBaSK3UHRcaJHUuVHeXsez60TYRqXZKL-A,3173
438
438
  keras_hub/src/models/t5/t5_tokenizer.py,sha256=pLTu15JeYSpVmy-2600vBc-Mxn_uHyTKts4PI2MxxBM,2517
439
439
  keras_hub/src/models/t5/t5_transformer_layer.py,sha256=uDeP84F1x7xJxki5iKe12Zn6eWD_4yVjoFXMuod-a3A,5347
440
+ keras_hub/src/models/t5gemma/__init__.py,sha256=KFXci5c05Fi2xqmdn8wj0oz38GeCcIksaYo9bQWGOLA,263
441
+ keras_hub/src/models/t5gemma/t5gemma_attention.py,sha256=j1BqTCCEfeRiwYOlwrBDrLoIPB5mRaCMRS9J5bWobWA,15232
442
+ keras_hub/src/models/t5gemma/t5gemma_backbone.py,sha256=wV5UTSlHm9P5AhsK-Bnab_myyTaDEOtI-0h5Glhf_VA,16574
443
+ keras_hub/src/models/t5gemma/t5gemma_decoder.py,sha256=BHzdk5akm7sVbEyL7e176YYeuT2gVtSW7ol41b0PdSM,14375
444
+ keras_hub/src/models/t5gemma/t5gemma_encoder.py,sha256=KW5xZTVS9UgzoQspHwKcYkqKWYxob2wACZKQUv-zIC0,8675
445
+ keras_hub/src/models/t5gemma/t5gemma_layers.py,sha256=19_CLs6_lYTqdQJQTlalI50VEI8F3buNgXWoBoIgjas,4381
446
+ keras_hub/src/models/t5gemma/t5gemma_presets.py,sha256=tfAu9fOxrrvF6vf8_zOY8be2RKU-0BoQpshCupOqH80,532
447
+ keras_hub/src/models/t5gemma/t5gemma_seq_2_seq_lm.py,sha256=-dRXqt1DbKQVUKqUqafBft2rJUB89tEj7NuRMlhX5og,17836
448
+ keras_hub/src/models/t5gemma/t5gemma_seq_2_seq_lm_preprocessor.py,sha256=AXjmd0vOQ2J__E9GACeKWTosGrlkzcriC2OstQi0-x0,8186
449
+ keras_hub/src/models/t5gemma/t5gemma_tokenizer.py,sha256=4EUX_kUEDqB6QAKSv2VxBVUVrF16TIBBX34Dir7f-70,2740
440
450
  keras_hub/src/models/vae/__init__.py,sha256=i3UaSW4IJf76O7lSPE1dyxOVjuHx8iAYKivqvUbDHOw,62
441
451
  keras_hub/src/models/vae/vae_backbone.py,sha256=Yk0srJhB-zfxQeAoyZdNzvxfxPxPMVie0nqKU7cp-2M,7033
442
452
  keras_hub/src/models/vae/vae_layers.py,sha256=NaPjITYTvMcEOrtCQZXxqtkbDzB7odtiNxJx-YpvYy8,27751
@@ -539,14 +549,15 @@ keras_hub/src/utils/transformers/convert_pali_gemma.py,sha256=B1leeDw96Yvu81hYum
539
549
  keras_hub/src/utils/transformers/convert_qwen.py,sha256=WUxMAEFVqRs7TRw7QU5TH3_ev4yf02R1xFVliMvTQqg,5886
540
550
  keras_hub/src/utils/transformers/convert_qwen3.py,sha256=LIormvCMWPq6X9Wo2eNbADjtFZ0nI7tFGZFBxmo4GKw,5700
541
551
  keras_hub/src/utils/transformers/convert_qwen_moe.py,sha256=a7R28aln-PdAcNuKAXdrtzvslho2Co6GypChxLMKPpc,10618
552
+ keras_hub/src/utils/transformers/convert_t5gemma.py,sha256=DPOwd61UhjspKuCsk3_EaNvSADGP_f8KLcZARHYVk5Y,9490
542
553
  keras_hub/src/utils/transformers/convert_vit.py,sha256=9SUZ9utNJhW_5cj3acMn9cRy47u2eIcDsrhmzj77o9k,5187
543
- keras_hub/src/utils/transformers/preset_loader.py,sha256=YZVpeNhFITHdauY3MWESrZLNUIJt9ilHJ1jUhvITNT8,4781
554
+ keras_hub/src/utils/transformers/preset_loader.py,sha256=JZn5mfKnVTN5aAvdZ6GWbS_CK3wP42iDkEJsmA58BVw,4925
544
555
  keras_hub/src/utils/transformers/safetensor_utils.py,sha256=CYUHyA4y-B61r7NDnCsFb4t_UmSwZ1k9L-8gzEd6KRg,3339
545
556
  keras_hub/src/utils/transformers/export/gemma.py,sha256=xX_vfQwvFZ_-lQX4kgMNOGKL7fL_1yk7QyGYV2Qyly4,4699
546
557
  keras_hub/src/utils/transformers/export/hf_exporter.py,sha256=Qk52c6LIA2eMHUNY9Vy4STJSpnhLMdJ_t-3ljqhSr4k,5081
547
- keras_hub/tokenizers/__init__.py,sha256=gQIESc4erRLuwxHyxtYy_Z0ePQXw_uhXAa4GVHMffYk,4244
558
+ keras_hub/tokenizers/__init__.py,sha256=B-LdN3lKiXaqv9MV7JiVaKiVqs8SL_1sqSpdbg_qtJY,4349
548
559
  keras_hub/utils/__init__.py,sha256=jXPqVGBpJr_PpYmqD8aDG-fRMlxH-ulqCR2SZMn288Y,646
549
- keras_hub_nightly-0.23.0.dev202508250413.dist-info/METADATA,sha256=-mvp1ZJsgMdQ3PlKEf9_5htPCfHjyZyw0TfWwa3C-yY,7395
550
- keras_hub_nightly-0.23.0.dev202508250413.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
551
- keras_hub_nightly-0.23.0.dev202508250413.dist-info/top_level.txt,sha256=N4J6piIWBKa38A4uV-CnIopnOEf8mHAbkNXafXm_CuA,10
552
- keras_hub_nightly-0.23.0.dev202508250413.dist-info/RECORD,,
560
+ keras_hub_nightly-0.23.0.dev202508260411.dist-info/METADATA,sha256=KdNoOY6Bw-w1ZrGexPSltZfYkpESpzxpf9YfkLvENiY,7395
561
+ keras_hub_nightly-0.23.0.dev202508260411.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
562
+ keras_hub_nightly-0.23.0.dev202508260411.dist-info/top_level.txt,sha256=N4J6piIWBKa38A4uV-CnIopnOEf8mHAbkNXafXm_CuA,10
563
+ keras_hub_nightly-0.23.0.dev202508260411.dist-info/RECORD,,