CoolFace
Modelpublic

zeromodels/internvl3-38b

sourceHugging Faceapache-2.0updated 28d agoView on Hugging Face
0likes55downloads
Model Card

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

![GitHub](https://github.com/IMvision12/ZeroModels) ![Docs](https://imvision12.github.io/ZeroModels/internvl/) ![HuggingFace](https://huggingface.co/collections/zeromodels/internvl-6a8eae0aeee279da77e075c7)

zeromodels/internvl3-38b

Pure-Keras 3 conversion of `OpenGVLab/InternVL3-38B-hf` for zeromodels. One implementation runs unmodified on TensorFlow / Torch / JAX. This is a InternVL3 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: Exploring Advanced Training and Test-Time Recipes for Open-Source Multimodal Models (arXiv:2504.10479) · HF Papers

Paper: Qwen2.5 Technical Report (arXiv:2412.15115) · HF Papers

✨ Quick start

python

import os

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

from PIL import Image

from zeromodels.models.internvl import InternVLConditionalGenerate, InternVLProcessor

model = InternVLConditionalGenerate.from_weights("zeromodels/internvl3-38b")

processor = InternVLProcessor.from_weights("zeromodels/internvl3-38b")

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("zeromodels/<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: see the upstream license.