Skip to content

Commit a59b0be

Browse files
authored
Update transformers to latest version (#2635)
* Update transformer version * Fix HF export tests for transformers 5.3.0 compatibility * Fix numpy attribute error for jax backend
1 parent 0429824 commit a59b0be

4 files changed

Lines changed: 17 additions & 3 deletions

File tree

keras_hub/src/utils/transformers/export/gemma3.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,9 @@ def get_gemma3_config(backbone):
1515
"architectures": ["Gemma3ForCausalLM"],
1616
"model_type": "gemma3_text",
1717
"vocab_size": backbone.vocabulary_size,
18+
"pad_token_id": 0,
19+
"bos_token_id": 1,
20+
"eos_token_id": 2,
1821
"num_hidden_layers": backbone.num_layers,
1922
"num_attention_heads": backbone.num_query_heads,
2023
"num_key_value_heads": backbone.num_key_value_heads,

keras_hub/src/utils/transformers/export/gemma3_test.py

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
import os
22

3+
import keras.ops as ops
34
import numpy as np
5+
import torch
46
from transformers import AutoModel
57
from transformers import AutoModelForCausalLM
68
from transformers import AutoTokenizer
@@ -140,13 +142,19 @@ def test_export_to_hf(self):
140142
keras_output = keras_model.generate(prompt, max_length=20)
141143

142144
# Generate with HuggingFace model using slow tokenizer
143-
input_ids_slow = hf_tokenizer_slow.encode(prompt, return_tensors="pt")
145+
# Transformers 5.3.0 GemmaTokenizer (BPE) fails to encode
146+
# Unigram test vocab properly.
147+
# So we use the Keras preprocessor to get the valid
148+
# input IDs for testing the model export.
149+
keras_inputs = preprocessor.generate_preprocess(prompt)["token_ids"]
150+
keras_inputs = keras_inputs[keras_inputs != 0] # strip padding
151+
input_ids_slow = torch.tensor([ops.convert_to_numpy(keras_inputs)])
144152
output_ids_slow = hf_full_model.generate(
145153
input_ids_slow, max_length=20, do_sample=False
146154
)
147155
hf_slow_output = hf_tokenizer_slow.decode(
148156
output_ids_slow[0], skip_special_tokens=True
149-
)
157+
).lstrip()
150158

151159
# Debug print to see the actual outputs
152160
print(f"Keras output: '{keras_output}'")

keras_hub/src/utils/transformers/export/gpt2_test.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,9 @@ def test_export_to_hf(self):
3434
"i": 8,
3535
"c": 9,
3636
"k": 10,
37+
"Ġq": 11,
38+
"ui": 12,
39+
"ck": 13,
3740
}
3841
merges = ["Ġ q", "u i", "c k"]
3942

requirements-common.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,4 @@ tensorflow-datasets
1919
safetensors
2020
pillow
2121
openvino
22-
transformers<5.0.0
22+
transformers

0 commit comments

Comments
 (0)