Downloads · 30 days
289
7% of all-time downloads
Shockt/moondream-2b-2025-04-14-4bit
moondream-2b-2025-04-14-4bit is a image-text-to-text model from Shockt. Use it for the image-text-to-text task on the model card, and read the license before you ship it in a product. The card lists the license as apache-2.0.
Moondream is a small vision language model designed to run efficiently everywhere.
Downloads · 30 days
289
7% of all-time downloads
All-time downloads
4.1K
Public
Parameters
1.3B
15.7 GB on disk
Likes
0
Public
Click a slice to open those files.
.gguf3.7 GB · 65%
How the weights are stored.
BF16659M · 50%
From the Hugging Face model README
Moondream is a small vision language model designed to run efficiently everywhere.
This repository contains the 2025-04-14 4-bit release of Moondream. On an Nvidia RTX 3090, it uses 2,450 MB of VRAM and runs at a speed of 184 tokens/second. We used quantization-aware training techniques to build this version of the model, allowing us to achieve a 42% reduction in memory usage with only an 0.6% drop in accuracy.
There's more information about this version of the model in our release blog post. Other revisions, as well as release history, can be found here.
Make sure to install the requirements:
pip install pillow torchao
from transformers import AutoModelForCausalLM, AutoTokenizer
from PIL import Image
model = AutoModelForCausalLM.from_pretrained(
"moondream/moondream-2b-2025-04-14-4bit",
trust_remote_code=True,
device_map={"": "cuda"}
)
# Optional, but recommended when running inference on a large number of
# images since it has upfront compilation cost but significantly speeds
# up inference:
model.model.compile()
# Captioning
print("Short caption:")
print(model.caption(image, length="short")["caption"])
print("\nNormal caption:")
for t in model.caption(image, length="normal", stream=True)["caption"]:
# Streaming generation example, supported for caption() and detect()
print(t, end="", flush=True)
print(model.caption(image, length="normal"))
# Visual Querying
print("\nVisual query: 'How many people are in the image?'")
print(model.query(image, "How many people are in the image?")["answer"])
# Object Detection
print("\nObject detection: 'face'")
objects = model.detect(image, "face")["objects"]
print(f"Found {len(objects)} face(s)")
# Pointing
print("\nPointing: 'person'")
points = model.point(image, "person")["points"]
print(f"Found {len(points)} person(s)")