File size: 804 Bytes
4dcc476
 
 
 
 
 
 
 
 
 
 
 
e835084
4dcc476
 
 
e835084
4dcc476
e835084
 
6dcf182
e835084
 
 
 
4dcc476
 
 
 
 
 
 
 
 
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
30
31
32
33
34
import gradio as gr
import torch
from transformers import BlipProcessor, BlipForConditionalGeneration

model_id = "iGwangsu/my-blip-model"

processor = BlipProcessor.from_pretrained(model_id, use_fast=True)
model = BlipForConditionalGeneration.from_pretrained(
    model_id,
    low_cpu_mem_usage=True
)


def generate_caption(img):
    if img is None: return "이미지를 업로드해주세요."
    inputs = processor(images=img, return_tensors="pt")

    with torch.no_grad():
        out = model.generate(
            **inputs,
            max_length=50
        )

    caption = processor.decode(out[0], skip_special_tokens=True)
    return caption

demo = gr.Interface(
    fn=generate_caption,
    inputs=gr.Image(type="pil"),
    outputs="text",
    title="BLIP Image Captioning"
)

demo.launch()