See our collection for all Gemma 3 sizes and variants.
Run Gemma 3 with Keras 3: JAX, PyTorch, or TensorFlow
zeromodels/gemma-3-1b-it
Pure-Keras 3 conversion of google/gemma-3-1b-it for
zeromodels. One implementation runs unmodified on
TensorFlow / Torch / JAX. This is the instruction-tuned checkpoint, served here as text -> text via Gemma3TextGenerate; weights are
stored in bfloat16.
For model details, license, and usage terms, see Google's model card.
✨ Quick start
import os
os.environ["KERAS_BACKEND"] = "torch" # or "jax" / "tensorflow"
from zeromodels.models.gemma3 import Gemma3TextGenerate, Gemma3Tokenizer
model = Gemma3TextGenerate.from_weights("zeromodels/gemma-3-1b-it")
tokenizer = Gemma3Tokenizer.from_weights("zeromodels/gemma-3-1b-it")
inputs = tokenizer([{"role": "user", "content": "Hello, who are you?"}])
outputs = model.generate(**inputs, max_new_tokens=64)
print(tokenizer.decode(outputs[0]))
Load any Gemma 3 variant the same way with from_weights("zeromodels/<variant>"):
| Variant | Hub |
|---|---|
gemma-3-12b-it |
zeromodels/gemma-3-12b-it |
gemma-3-12b-pt |
zeromodels/gemma-3-12b-pt |
gemma-3-1b-it |
zeromodels/gemma-3-1b-it |
gemma-3-1b-pt |
zeromodels/gemma-3-1b-pt |
gemma-3-270m |
zeromodels/gemma-3-270m |
gemma-3-270m-it |
zeromodels/gemma-3-270m-it |
gemma-3-27b-it |
zeromodels/gemma-3-27b-it |
gemma-3-27b-pt |
zeromodels/gemma-3-27b-pt |
gemma-3-4b-it |
zeromodels/gemma-3-4b-it |
gemma-3-4b-pt |
zeromodels/gemma-3-4b-pt |
Tips
- Set
KERAS_BACKENDbefore importing Keras / zeromodels. - Loads in bfloat16 by default. Pass
load_dtype="float32"for full precision, orquantization="int8"to shrink further. - See the Gemma 3 docs.
- Community / upstream weights still work via the
hf:prefix:Gemma3TextGenerate.from_weights("hf:google/gemma-3-1b-it").
Special Thanks
A huge thank you to the Google Gemma authors for creating and releasing these models.
License: Gemma (gated). Accept the license on the upstream Hub card before downloading.