Run InternVL3.5 with Keras 3: JAX, PyTorch, or TensorFlow

GitHub Docs HuggingFace

kerasformers/internvl3.5-2b

Pure-Keras 3 conversion of OpenGVLab/InternVL3_5-2B-HF for kerasformers. One implementation runs unmodified on TensorFlow / Torch / JAX. This is a InternVL3.5 checkpoint, served as image + text -> text via InternVLProcessor; weights are stored in bfloat16.

For model details, license, and usage terms, see the upstream model card.

Paper: InternVL3.5: Advancing Open-Source Multimodal Models in Versatility, Reasoning, and Efficiency (arXiv:2508.18265) · HF Papers

Paper: Qwen3 Technical Report (arXiv:2505.09388) · HF Papers

Paper: YaRN: Efficient Context Window Extension of Large Language Models (arXiv:2309.00071) · HF Papers

✨ Quick start

import os
os.environ["KERAS_BACKEND"] = "torch"  # or "jax" / "tensorflow"

from PIL import Image
from kerasformers.models.internvl import InternVLConditionalGenerate, InternVLProcessor

model = InternVLConditionalGenerate.from_weights("kerasformers/internvl3.5-2b")
processor = InternVLProcessor.from_weights("kerasformers/internvl3.5-2b")

inputs = processor(conversation=[
    {"role": "user", "content": [
        {"type": "image", "image": Image.open("photo.jpg")},
        {"type": "text", "text": "Describe this image in one sentence."},
    ]}
])
outputs = model.generate(**inputs, max_new_tokens=64)
print(processor.decode(outputs[0]))

Load any InternVL variant the same way with from_weights("kerasformers/<variant>"). Browse them all in the InternVL collection.

Special Thanks

A huge thank you to the OpenGVLab team for creating and releasing the InternVL models.

License: apache-2.0 (per the upstream model card).

Downloads last month
12
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for kerasformers/internvl3.5-2b

Collection including kerasformers/internvl3.5-2b

Papers for kerasformers/internvl3.5-2b