|
import gradio as gr |
|
import torch |
|
from transformers import AutoProcessor, AutoModelForCausalLM |
|
from huggingface_hub import hf_hub_download |
|
from PIL import Image |
|
|
|
processor = AutoProcessor.from_pretrained("microsoft/git-base-vqav2") |
|
model = AutoModelForCausalLM.from_pretrained("microsoft/git-base-vqav2") |
|
|
|
file_path = hf_hub_download(repo_id="Multimodal-Fatima/OK-VQA_train", filename="data", repo_type="dataset") |
|
image = Image.open(file_path).convert("RGB") |
|
|
|
pixel_values = processor(images=image, return_tensors="pt").pixel_values |
|
|
|
question = "How many people are there?" |
|
|
|
input_ids = processor(text=question, add_special_tokens=False).input_ids |
|
input_ids = [processor.tokenizer.cls_token_id] + input_ids |
|
input_ids = torch.tensor(input_ids).unsqueeze(0) |
|
|
|
generated_ids = model.generate(pixel_values=pixel_values, input_ids=input_ids, max_length=50) |
|
print(processor.batch_decode(generated_ids, skip_special_tokens=True)) |