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.
- keras_hub/models/__init__.py +12 -0
- keras_hub/src/models/t5gemma/__init__.py +5 -0
- keras_hub/src/models/t5gemma/t5gemma_attention.py +370 -0
- keras_hub/src/models/t5gemma/t5gemma_backbone.py +366 -0
- keras_hub/src/models/t5gemma/t5gemma_decoder.py +355 -0
- keras_hub/src/models/t5gemma/t5gemma_encoder.py +214 -0
- keras_hub/src/models/t5gemma/t5gemma_layers.py +118 -0
- keras_hub/src/models/t5gemma/t5gemma_presets.py +15 -0
- keras_hub/src/models/t5gemma/t5gemma_seq_2_seq_lm.py +442 -0
- keras_hub/src/models/t5gemma/t5gemma_seq_2_seq_lm_preprocessor.py +216 -0
- keras_hub/src/models/t5gemma/t5gemma_tokenizer.py +84 -0
- keras_hub/src/utils/transformers/convert_t5gemma.py +229 -0
- keras_hub/src/utils/transformers/preset_loader.py +3 -0
- keras_hub/src/version.py +1 -1
- keras_hub/tokenizers/__init__.py +3 -0
- {keras_hub_nightly-0.23.0.dev202508250413.dist-info → keras_hub_nightly-0.23.0.dev202508260411.dist-info}/METADATA +1 -1
- {keras_hub_nightly-0.23.0.dev202508250413.dist-info → keras_hub_nightly-0.23.0.dev202508260411.dist-info}/RECORD +19 -8
- {keras_hub_nightly-0.23.0.dev202508250413.dist-info → keras_hub_nightly-0.23.0.dev202508260411.dist-info}/WHEEL +0 -0
- {keras_hub_nightly-0.23.0.dev202508250413.dist-info → keras_hub_nightly-0.23.0.dev202508260411.dist-info}/top_level.txt +0 -0
@@ -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
keras_hub/tokenizers/__init__.py
CHANGED
@@ -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,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=
|
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=
|
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=
|
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=
|
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.
|
550
|
-
keras_hub_nightly-0.23.0.
|
551
|
-
keras_hub_nightly-0.23.0.
|
552
|
-
keras_hub_nightly-0.23.0.
|
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,,
|
File without changes
|