# Load model directly
from transformers import AutoProcessor, AutoModelForImageTextToText
processor = AutoProcessor.from_pretrained("ngxson/tinygemma3_cifar")
model = AutoModelForImageTextToText.from_pretrained("ngxson/tinygemma3_cifar")
messages = [
{
"role": "user",
"content": [
{"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"},
{"type": "text", "text": "What animal is on the candy?"}
]
},
]
inputs = processor.apply_chat_template(
messages,
add_generation_prompt=True,
tokenize=True,
return_dict=True,
return_tensors="pt",
).to(model.device)
outputs = model.generate(**inputs, max_new_tokens=40)
print(processor.decode(outputs[0][inputs["input_ids"].shape[-1]:]))Quick Links
tinygemma3 with vision
This is trained on CIFAR-10 dataset.
How to use:
from transformers import AutoModelForImageTextToText, AutoProcessor
model_id = "ngxson/tinygemma3_cifar"
model = AutoModelForImageTextToText.from_pretrained(model_id).to("cuda")
processor = AutoProcessor.from_pretrained(model_id)
#####################
from datasets import load_dataset, Dataset
ds_full = load_dataset("uoft-cs/cifar10")
def ex_to_msg(ex):
txt = [
{
"role": "user",
"content": [
{"type": "text", "text": "What is this:"},
{"type": "image"}
]
}
]
img = ex["img"]
return {
"messages": txt,
"images": [img],
}
#####################
test_idx = 0
test_msg = ex_to_msg(ds_full["train"][test_idx])
test_txt = processor.apply_chat_template(test_msg["messages"], tokenize=False, add_generation_prompt=True)
test_input = processor(text=test_txt, images=test_msg["images"], return_tensors="pt").to(model.device)
#####################
generated_ids = model.generate(**test_input, do_sample=False, max_new_tokens=1)
generated_texts = processor.batch_decode(
generated_ids,
skip_special_tokens=True,
)
print(generated_texts)
# expected answer for test_idx = 0 is "airplane"
- Downloads last month
- 3
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("image-text-to-text", model="ngxson/tinygemma3_cifar") messages = [ { "role": "user", "content": [ {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"}, {"type": "text", "text": "What animal is on the candy?"} ] }, ] pipe(text=messages)