from transformers import pipeline | |
captioner = None | |
PROMPT = "The main subject of this picture is a" | |
def init(): | |
global captioner | |
print("Initializing captioner...") | |
captioner = pipeline( | |
"image-to-text", | |
model="Salesforce/blip-image-captioning-base", | |
prompt=PROMPT | |
) | |
def derive_caption(image): | |
result = captioner(image, max_new_tokens=20) | |
raw_caption = result[0]["generated_text"] | |
caption = raw_caption.lower().replace(PROMPT.lower(), "").strip() | |
return caption | |