File size: 708 Bytes
53db934
744215f
 
9fd0959
8f1ad47
9fd0959
 
67ec7c7
53db934
4401a89
53db934
744215f
53db934
744215f
53db934
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
from transformers import BlipProcessor, BlipForConditionalGeneration
from PIL import Image
import torch
import os

os.environ["HF_HOME"] = "/app/.cache"

model_id = "Salesforce/blip-image-captioning-base"
processor = BlipProcessor.from_pretrained(model_id)
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
model = BlipForConditionalGeneration.from_pretrained(model_id).to(device)

def describe_image(image_path, prompt="Describe this image."):
    image = Image.open(image_path).convert("RGB")
    inputs = processor(image, prompt, return_tensors="pt").to(device)
    output = model.generate(**inputs, max_new_tokens=100)
    return processor.decode(output[0], skip_special_tokens=True)