File size: 780 Bytes
ba74f1a |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
from transformers import BlipProcessor, BlipForConditionalGeneration
from PIL import Image
import torch
import os
os.environ["HF_HOME"] = "/tmp/hf_cache"
os.environ["TRANSFORMERS_CACHE"] = "/tmp/hf_cache"
model_id = "Salesforce/blip-image-captioning-large"
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)
|