File size: 1,079 Bytes
2bd9468
 
9902a40
 
2bd9468
9902a40
891d8e1
2bd9468
9902a40
 
 
 
 
 
891d8e1
2bd9468
9902a40
2bd9468
c1a4cc8
891d8e1
2bd9468
9902a40
 
2bd9468
 
 
9902a40
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
import gradio as gr
from transformers import pipeline
from PIL import Image
import io

# ์ด๋ฏธ์ง€ ์ธ์‹ ํŒŒ์ดํ”„๋ผ์ธ ๋กœ๋“œ
model = pipeline("image-classification", model="google/vit-base-patch16-224")

def classify_image(uploaded_image):
    # ์—…๋กœ๋“œ๋œ ์ด๋ฏธ์ง€๊ฐ€ PIL ์ด๋ฏธ์ง€ ๊ฐ์ฒด์ธ์ง€ ํ™•์ธ (Gradio๋Š” ์ž๋™์œผ๋กœ PIL ์ด๋ฏธ์ง€ ๊ฐ์ฒด๋กœ ๋ณ€ํ™˜)
    if not isinstance(uploaded_image, Image.Image):
        raise ValueError("Uploaded image is not in the correct format.")
    
    predictions = model(uploaded_image)
    return {prediction['label']: prediction['score'] for prediction in predictions}

# Gradio ์ธํ„ฐํŽ˜์ด์Šค ์ƒ์„ฑ
iface = gr.Interface(fn=classify_image,
                     inputs=gr.Image(),
                     outputs=gr.Label(num_top_classes=3),
                     title="์ด๋ฏธ์ง€ ๋ถ„๋ฅ˜๊ธฐ",
                     description="์ด๋ฏธ์ง€๋ฅผ ์—…๋กœ๋“œํ•˜๋ฉด, ์‚ฌ๋ฌผ์„ ์ธ์‹ํ•˜๊ณ  ์ตœ์ƒ์œ„ 3๊ฐœ์˜ ๋ถ„๋ฅ˜ ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.",
                     share=True)  # Public link ์ƒ์„ฑ

# ์ธํ„ฐํŽ˜์ด์Šค ์‹คํ–‰
iface.launch()