Views
No views yet
1from transformers import AutoModelForCausalLM, AutoProcessor
2import torch
3
4DEVICE="cuda" if torch.cuda.is_available() else "mps" if torch.mps.is_available() else "cpu"
5model_id = "pcuenq/PaddleOCR-VL-0.9B"
6
7model = AutoModelForCausalLM.from_pretrained(
8 model_id, trust_remote_code=True, dtype=torch.bfloat16
9).to(DEVICE).eval()
10processor = AutoProcessor.from_pretrained(model_id, trust_remote_code=True)
11
12from transformers.image_utils import load_image
13image_url = "https://fiverr-res.cloudinary.com/images/t_main1,q_auto,f_auto,q_auto,f_auto/gigs/154456946/original/41556aac80fc43dcb29ce656d786c0a6f9b4073f/do-handwritten-text-image-or-pdf-to-word-means-typing-form.jpg"
14image = load_image(image_url)
15
16messages = [{"role": "user", "content": "OCR"}]
17text = processor.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
18inputs = processor(text=[text], images=[image], return_tensors="pt").to(DEVICE)
19
20generated = model.generate(**inputs, max_new_tokens=200, do_sample=False)
21
22resp = processor.batch_decode(generated, skip_special_tokens=True)[0]
23answer = resp.split(text)[-1].strip()
24print(answer)