File size: 1,378 Bytes
1d354e3
d945aa3
1d354e3
 
 
 
 
 
 
 
 
d945aa3
1d354e3
 
 
 
 
7181cda
1d354e3
 
 
 
 
56de050
1d354e3
 
 
 
7e91b24
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29

import gradio as gr
import requests
from PIL import Image
from transformers import BlipProcessor, BlipForConditionalGeneration
import time
processor = BlipProcessor.from_pretrained("Salesforce/blip-image-captioning-large")
model = BlipForConditionalGeneration.from_pretrained("Salesforce/blip-image-captioning-large")

def caption(img,min_len,max_len):
    raw_image =Image.open(img).convert('RGB')

    inputs =processor(raw_image,return_tensors="pt")
    out = model.generate(**inputs, min_length=min_len, max_length=max_len)
    return processor.decode(out[0],skip_special_tokens=True)
def greet(img, min_len,max_len):
    start = time.time()
    result=caption(img,min_len,max_len)
    end =time.time()
    total_time =str(end - start)
    result=result+'n'+total_time +'seconds'
    return result
iface = gr.Interface(fn=greet,
                    title='Blip Image Captioning Large',
                    description=" [Salesforce/blip-image-captioning-largel(https: //huggingface,co/Salesforce/blip-image-captioning-large)",
                    inputs=[gr.Image(type='filepath', label='Image'), gr.Slider(label='Minimum Length', minimum=1, maximum=1000, value=30)],
                    outputs=gr.Textbox(label='Caption'),
                    theme = gr.themes.Base(primary_hue="teal",secondary_hue="teal",neutral_hue="slate"))
iface.launch(server_port=23765, share=True)