Image-Text-to-Text
ZeroModels
Keras
PyTorch
JAX
TensorFlow
English
qwen3_vl_moe
qwen3-vl-moe
multimodal
vision
mixture-of-experts
Instructions to use zeromodels/qwen3-vl-30b-a3b-thinking with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- ZeroModels
How to use zeromodels/qwen3-vl-30b-a3b-thinking with ZeroModels:
# No code snippets available yet for this library. # To use this model, check the repository files and the library's documentation. # Want to help? PRs adding snippets are welcome at: # https://github.com/huggingface/huggingface.js
- Keras
How to use zeromodels/qwen3-vl-30b-a3b-thinking with Keras:
# Available backend options are: "jax", "torch", "tensorflow". import os os.environ["KERAS_BACKEND"] = "jax" import keras model = keras.saving.load_model("hf://zeromodels/qwen3-vl-30b-a3b-thinking") - Notebooks
- Google Colab
- Kaggle
Migrate to zeromodels (rename kf_*.json -> zm_*.json, fix refs in config + README, ensure tag + badge)
Browse files- README.md +11 -11
- kf_config.json → zm_config.json +3 -3
- kf_preprocessor.json → zm_preprocessor.json +3 -3
README.md
CHANGED
|
@@ -2,12 +2,12 @@
|
|
| 2 |
pipeline_tag: image-text-to-text
|
| 3 |
license: apache-2.0
|
| 4 |
base_model: Qwen/Qwen3-VL-30B-A3B-Thinking
|
| 5 |
-
library_name:
|
| 6 |
language:
|
| 7 |
- en
|
| 8 |
tags:
|
| 9 |
- keras
|
| 10 |
-
-
|
| 11 |
- qwen3_vl_moe
|
| 12 |
- qwen3-vl-moe
|
| 13 |
- multimodal
|
|
@@ -21,11 +21,11 @@ tags:
|
|
| 21 |
|
| 22 |
# Run Qwen3-VL-MoE with Keras 3: JAX, PyTorch, or TensorFlow
|
| 23 |
|
| 24 |
-
[ for [
|
| 29 |
|
| 30 |
For model details, license, and usage terms, see the upstream [model card](https://huggingface.co/Qwen/Qwen3-VL-30B-A3B-Thinking).
|
| 31 |
|
|
@@ -45,10 +45,10 @@ Paper: [Qwen-VL: A Frontier Large Vision-Language Model with Versatile Abilities
|
|
| 45 |
import os
|
| 46 |
os.environ["KERAS_BACKEND"] = "torch" # or "jax" / "tensorflow"
|
| 47 |
|
| 48 |
-
from
|
| 49 |
|
| 50 |
-
model = Qwen3VLMoeTextGenerate.from_weights("
|
| 51 |
-
processor = Qwen3VLMoeProcessor.from_weights("
|
| 52 |
|
| 53 |
inputs = processor(conversation=[
|
| 54 |
{"role": "user", "content": [{"type": "text", "text": "Hello, who are you?"}]}
|
|
@@ -64,10 +64,10 @@ import os
|
|
| 64 |
os.environ["KERAS_BACKEND"] = "torch" # or "jax" / "tensorflow"
|
| 65 |
|
| 66 |
from PIL import Image
|
| 67 |
-
from
|
| 68 |
|
| 69 |
-
model = Qwen3VLMoeConditionalGenerate.from_weights("
|
| 70 |
-
processor = Qwen3VLMoeProcessor.from_weights("
|
| 71 |
|
| 72 |
inputs = processor(conversation=[
|
| 73 |
{"role": "user", "content": [
|
|
|
|
| 2 |
pipeline_tag: image-text-to-text
|
| 3 |
license: apache-2.0
|
| 4 |
base_model: Qwen/Qwen3-VL-30B-A3B-Thinking
|
| 5 |
+
library_name: zeromodels
|
| 6 |
language:
|
| 7 |
- en
|
| 8 |
tags:
|
| 9 |
- keras
|
| 10 |
+
- zeromodels
|
| 11 |
- qwen3_vl_moe
|
| 12 |
- qwen3-vl-moe
|
| 13 |
- multimodal
|
|
|
|
| 21 |
|
| 22 |
# Run Qwen3-VL-MoE with Keras 3: JAX, PyTorch, or TensorFlow
|
| 23 |
|
| 24 |
+
[](https://github.com/IMvision12/ZeroModels) [](https://imvision12.github.io/ZeroModels/qwen3_vl_moe/) [](https://huggingface.co/collections/zeromodels/qwen3-vl-moe-6a7eb7d3e6d95b296dae7d0d)
|
| 25 |
|
| 26 |
+
# zeromodels/qwen3-vl-30b-a3b-thinking
|
| 27 |
|
| 28 |
+
Pure-**Keras 3** conversion of [`Qwen/Qwen3-VL-30B-A3B-Thinking`](https://huggingface.co/Qwen/Qwen3-VL-30B-A3B-Thinking) for [zeromodels](https://github.com/IMvision12/ZeroModels). One implementation runs unmodified on **TensorFlow / Torch / JAX**. Qwen3-VL-MoE is Qwen3-VL with a Mixture-of-Experts text decoder; weights are stored in **bfloat16**.
|
| 29 |
|
| 30 |
For model details, license, and usage terms, see the upstream [model card](https://huggingface.co/Qwen/Qwen3-VL-30B-A3B-Thinking).
|
| 31 |
|
|
|
|
| 45 |
import os
|
| 46 |
os.environ["KERAS_BACKEND"] = "torch" # or "jax" / "tensorflow"
|
| 47 |
|
| 48 |
+
from zeromodels.models.qwen3_vl_moe import Qwen3VLMoeTextGenerate, Qwen3VLMoeProcessor
|
| 49 |
|
| 50 |
+
model = Qwen3VLMoeTextGenerate.from_weights("zeromodels/qwen3-vl-30b-a3b-thinking")
|
| 51 |
+
processor = Qwen3VLMoeProcessor.from_weights("zeromodels/qwen3-vl-30b-a3b-thinking")
|
| 52 |
|
| 53 |
inputs = processor(conversation=[
|
| 54 |
{"role": "user", "content": [{"type": "text", "text": "Hello, who are you?"}]}
|
|
|
|
| 64 |
os.environ["KERAS_BACKEND"] = "torch" # or "jax" / "tensorflow"
|
| 65 |
|
| 66 |
from PIL import Image
|
| 67 |
+
from zeromodels.models.qwen3_vl_moe import Qwen3VLMoeConditionalGenerate, Qwen3VLMoeProcessor
|
| 68 |
|
| 69 |
+
model = Qwen3VLMoeConditionalGenerate.from_weights("zeromodels/qwen3-vl-30b-a3b-thinking")
|
| 70 |
+
processor = Qwen3VLMoeProcessor.from_weights("zeromodels/qwen3-vl-30b-a3b-thinking")
|
| 71 |
|
| 72 |
inputs = processor(conversation=[
|
| 73 |
{"role": "user", "content": [
|
kf_config.json → zm_config.json
RENAMED
|
@@ -1,7 +1,7 @@
|
|
| 1 |
{
|
| 2 |
-
"library_name": "
|
| 3 |
-
"
|
| 4 |
-
"model_module": "
|
| 5 |
"model_class": "Qwen3VLMoeConditionalGenerate",
|
| 6 |
"variant": "qwen3-vl-30b-a3b-thinking",
|
| 7 |
"weights": "model.weights.json",
|
|
|
|
| 1 |
{
|
| 2 |
+
"library_name": "zeromodels",
|
| 3 |
+
"zeromodels_version": "1.2.2",
|
| 4 |
+
"model_module": "zeromodels.models.qwen3_vl_moe",
|
| 5 |
"model_class": "Qwen3VLMoeConditionalGenerate",
|
| 6 |
"variant": "qwen3-vl-30b-a3b-thinking",
|
| 7 |
"weights": "model.weights.json",
|
kf_preprocessor.json → zm_preprocessor.json
RENAMED
|
@@ -1,7 +1,7 @@
|
|
| 1 |
{
|
| 2 |
-
"library_name": "
|
| 3 |
-
"
|
| 4 |
-
"preprocessor_module": "
|
| 5 |
"preprocessor_class": "Qwen2VLImageProcessor",
|
| 6 |
"variant": "qwen3-vl-30b-a3b-thinking",
|
| 7 |
"patch_size": 14,
|
|
|
|
| 1 |
{
|
| 2 |
+
"library_name": "zeromodels",
|
| 3 |
+
"zeromodels_version": "1.2.2",
|
| 4 |
+
"preprocessor_module": "zeromodels.models.qwen2_vl",
|
| 5 |
"preprocessor_class": "Qwen2VLImageProcessor",
|
| 6 |
"variant": "qwen3-vl-30b-a3b-thinking",
|
| 7 |
"patch_size": 14,
|