blip-api / app.py
memegpt's picture
Update app.py
1aa9781
raw
history blame contribute delete
847 Bytes
from PIL import Image
import requests
import gradio as gr
from io import BytesIO
from transformers import BlipProcessor, BlipForConditionalGeneration
model_id = "Salesforce/blip-image-captioning-base"
model = BlipForConditionalGeneration.from_pretrained(model_id)
processor = BlipProcessor.from_pretrained(model_id)
def decode_base64_image(image_string):
base64_image = base64.b64decode(image_string)
buffer = BytesIO(base64_image)
return Image.open(buffer)
def launch(input_b64):
image = decode_base64_image(input_b64)
#inputsData = data.pop("inputs", data)
# decode base64 image to PIL
inputs = processor(image, return_tensors="pt")
out = model.generate(**inputs)
return processor.decode(out[0], skip_special_tokens=True)
iface = gr.Interface(launch, inputs=gr.inputs.Image(), outputs="text")
iface.launch()