CIRChat / models /caption.py
yashsharmaa's picture
Update models/caption.py
f631cb4 verified
raw
history blame contribute delete
689 Bytes
from transformers import BlipProcessor, BlipForConditionalGeneration
import torch
# Use GPU if available, otherwise fallback to CPU
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
# Load processor and model
processor = BlipProcessor.from_pretrained("Salesforce/blip-image-captioning-base")
model = BlipForConditionalGeneration.from_pretrained("Salesforce/blip-image-captioning-base").to(device)
@torch.no_grad()
def generate_caption(image):
inputs = processor(images=image, return_tensors="pt").to(device)
output = model.generate(**inputs, max_new_tokens=50)
caption = processor.tokenizer.decode(output[0], skip_special_tokens=True)
return caption