Spaces:
Runtime error
Runtime error
import requests | |
from PIL import Image | |
from transformers import AutoProcessor, Blip2ForConditionalGeneration | |
import torch | |
import gradio as gr | |
processor = AutoProcessor.from_pretrained("Salesforce/blip2-opt-2.7b") | |
model = Blip2ForConditionalGeneration.from_pretrained("Salesforce/blip2-opt-2.7b", torch_dtype=torch.float16) | |
device = "cuda" if torch.cuda.is_available() else "cpu" | |
model.to(device) | |
# def predict(inp): | |
# inp = transforms.ToTensor()(inp).unsqueeze(0) | |
# with torch.no_grad(): | |
# prediction = torch.nn.functional.softmax(model(inp)[0], dim=0) | |
# confidences = {labels[i]: float(prediction[i]) for i in range(1000)} | |
# return confidences | |
# demo = gr.Interface(fn=predict, | |
# inputs=gr.inputs.Image(type="pil"), | |
# outputs=gr.outputs.Label(num_top_classes=3) | |
# ) | |
def predict(imageurl): | |
image = Image.open(requests.get(imageurl, stream=True).raw).convert('RGB') | |
inputs = processor(image, return_tensors="pt") | |
generated_ids = model.generate(**inputs, max_new_tokens=20) | |
generated_text = processor.batch_decode(generated_ids, skip_special_tokens=True)[0].strip() | |
return('caption: '+generated_text) | |
demo = gr.Interface(fn=predict, | |
inputs="text", | |
outputs=gr.outputs.Label(num_top_classes=3) | |
) | |
demo.launch() |