Views
No views yet
1from PIL import Image
2from transformers import AutoProcessor, AutoModelForCausalLM
3from peft import PeftModel, PeftConfig
4import requests
5
6def caption(image):
7 base_model = AutoModelForCausalLM.from_pretrained("microsoft/Florence-2-base-ft", trust_remote_code=True)
8 processor = AutoProcessor.from_pretrained("microsoft/Florence-2-base-ft", trust_remote_code=True)
9 prompt = "<MORE_DETAILED_CAPTION>"
10 adapter_name = "NikshepShetty/Florence-2-Recap-DataComp"
11 model = PeftModel.from_pretrained(base_model, adapter_name, trust_remote_code=True)
12 inputs = processor(text=prompt, images=image, return_tensors="pt")
13
14 generated_ids = model.generate(
15 input_ids=inputs["input_ids"],
16 pixel_values=inputs["pixel_values"],
17 max_new_tokens=1024,
18 do_sample=False,
19 num_beams=3
20 )
21 generated_text = processor.batch_decode(generated_ids, skip_special_tokens=False)[0]
22
23 parsed_answer = processor.post_process_generation(generated_text, task="<MORE_DETAILED_CAPTION>", image_size=(image.width, image.height))
24
25 print(parsed_answer)
26
27url = "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/transformers/tasks/car.jpg?download=true"
28image = Image.open(requests.get(url, stream=True).raw)
29caption(image)| Metric | Base Model | Adapted Model | Improvement |
|---|---|---|---|
| CAPTURE | 0.546 | 0.553 | +1.3% |
| METEOR | 0.213 | 0.240 | +12.7% |
| BLEU | 0.110 | 0.150 | +36.4% |
| CIDEr | 0.031 | 0.035 | +12.9% |
| ROUGE-L | 0.275 | 0.294 | +6.9% |