Skip to content

Commit 852625a

Browse files
authored
Add Qwen3.5 MoE Model to Hub (keras-team#2665)
* Add Qwen3_5 MoE model to Hub * Update the MoE files * run api_gen * Address valid gemini comments * Format fix * Adopt Python workflow into Test cases with recent PR merged to master * address reviwer and gemini comments * remove chat template for text generation * Fix text generation mismatch and save errors for Qwen3.5 MoE checkpoint conversion
1 parent a3682a0 commit 852625a

18 files changed

Lines changed: 3087 additions & 1 deletion

keras_hub/api/models/__init__.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -624,6 +624,24 @@
624624
from keras_hub.src.models.qwen3_5.qwen3_5_tokenizer import (
625625
Qwen3_5Tokenizer as Qwen3_5Tokenizer,
626626
)
627+
from keras_hub.src.models.qwen3_5_moe.qwen3_5_moe_backbone import (
628+
Qwen3_5MoeBackbone as Qwen3_5MoeBackbone,
629+
)
630+
from keras_hub.src.models.qwen3_5_moe.qwen3_5_moe_causal_lm import (
631+
Qwen3_5MoeCausalLM as Qwen3_5MoeCausalLM,
632+
)
633+
from keras_hub.src.models.qwen3_5_moe.qwen3_5_moe_causal_lm_preprocessor import (
634+
Qwen3_5MoeCausalLMPreprocessor as Qwen3_5MoeCausalLMPreprocessor,
635+
)
636+
from keras_hub.src.models.qwen3_5_moe.qwen3_5_moe_image_converter import (
637+
Qwen3_5MoeImageConverter as Qwen3_5MoeImageConverter,
638+
)
639+
from keras_hub.src.models.qwen3_5_moe.qwen3_5_moe_tokenizer import (
640+
Qwen3_5MoeTokenizer as Qwen3_5MoeTokenizer,
641+
)
642+
from keras_hub.src.models.qwen3_5_moe.qwen3_5_moe_video_converter import (
643+
Qwen3_5MoeVideoConverter as Qwen3_5MoeVideoConverter,
644+
)
627645
from keras_hub.src.models.qwen3_moe.qwen3_moe_backbone import (
628646
Qwen3MoeBackbone as Qwen3MoeBackbone,
629647
)

keras_hub/api/tokenizers/__init__.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,9 @@
9696
from keras_hub.src.models.qwen3_5.qwen3_5_tokenizer import (
9797
Qwen3_5Tokenizer as Qwen3_5Tokenizer,
9898
)
99+
from keras_hub.src.models.qwen3_5_moe.qwen3_5_moe_tokenizer import (
100+
Qwen3_5MoeTokenizer as Qwen3_5MoeTokenizer,
101+
)
99102
from keras_hub.src.models.qwen3_moe.qwen3_moe_tokenizer import (
100103
Qwen3MoeTokenizer as Qwen3MoeTokenizer,
101104
)

keras_hub/src/models/qwen3_5/qwen3_5_backbone_test.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ def test_backbone_basics(self):
4343
init_kwargs=self.init_kwargs,
4444
input_data=self.input_data,
4545
expected_output_shape=(2, 5, 16),
46-
run_quantization_check=False,
46+
run_quantization_check=True,
4747
)
4848

4949
@pytest.mark.large
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
from keras_hub.src.models.qwen3_5_moe.qwen3_5_moe_backbone import (
2+
Qwen3_5MoeBackbone,
3+
)
4+
from keras_hub.src.models.qwen3_5_moe.qwen3_5_moe_presets import (
5+
backbone_presets,
6+
)
7+
from keras_hub.src.utils.preset_utils import register_presets
8+
9+
register_presets(backbone_presets, Qwen3_5MoeBackbone)

0 commit comments

Comments
 (0)