Views
No views yet
1from transformers import AutoProcessor, PaliGemmaForConditionalGeneration
2from PIL import Image
3import torch
4import json
5
6# Load model and processor
7model_id = "google/paligemma-3b-pt-448"
8peft_adapter_id = "riphunter7001x/PaliGemma3_FT_OCR"
9
10model = PaliGemmaForConditionalGeneration.from_pretrained(model_id, device_map="auto")
11processor = AutoProcessor.from_pretrained(model_id)
12model.load_adapter(peft_adapter_id).eval()
13
14TORCH_DTYPE = model.dtype
15DEVICE = torch.device("cuda" if torch.cuda.is_available() else "cpu")
16
17# Load and process image
18image = Image.open("image.jpg")
19
20prefix = "<image>extract Document data in JSON format"
21
22inputs = processor(
23 text=prefix,
24 images=image,
25 return_tensors="pt"
26).to(TORCH_DTYPE).to(DEVICE)
27
28prefix_length = inputs["input_ids"].shape[-1]
29
30with torch.inference_mode():
31 generation = model.generate(**inputs, max_new_tokens=512, do_sample=False)
32 generation = generation[0][prefix_length:]
33 decoded = processor.decode(generation, skip_special_tokens=True)
34 print(json.dumps(json.loads(decoded), indent=4))