msVision_3 / app.py
seawolf2357's picture
Update app.py
23708c8 verified
raw
history blame
1.12 kB
import gradio as gr
from transformers import pipeline
# ์ด๋ฏธ์ง€ ์ธ์‹ ํŒŒ์ดํ”„๋ผ์ธ ๋กœ๋“œ
model = pipeline("image-classification", model="google/vit-base-patch16-224")
# ์นดํ…Œ๊ณ ๋ฆฌ์— ๋”ฐ๋ฅธ ์‚ฌ์šด๋“œ ํŒŒ์ผ URL์„ ์ •์˜
sound_urls = {
"dog": "https://example.com/dog_bark.mp3",
"cat": "https://example.com/cat_meow.mp3",
# ... ๊ฐ ์นดํ…Œ๊ณ ๋ฆฌ์— ๋Œ€ํ•œ ์‚ฌ์šด๋“œ ํŒŒ์ผ URL ์ถ”๊ฐ€
}
def classify_image(uploaded_image):
predictions = model(uploaded_image)
# ๊ฐ€์žฅ ํ™•๋ฅ ์ด ๋†’์€ ์˜ˆ์ธก ๊ฒฐ๊ณผ๋ฅผ ๊ฐ€์ ธ์˜ด
top_prediction = predictions[0]['label']
# ์˜ˆ์ธก ๊ฒฐ๊ณผ์— ํ•ด๋‹นํ•˜๋Š” ์‚ฌ์šด๋“œ ํŒŒ์ผ์˜ URL์„ ๋ฐ˜ํ™˜
sound_url = sound_urls.get(top_prediction, None)
return top_prediction, sound_url
# Gradio ์ธํ„ฐํŽ˜์ด์Šค ์ƒ์„ฑ
iface = gr.Interface(
fn=classify_image,
inputs=gr.Image(type="pil"),
outputs=[gr.Label(), gr.Audio()],
title="์ด๋ฏธ์ง€ ๋ถ„๋ฅ˜ ๋ฐ ์‚ฌ์šด๋“œ ์žฌ์ƒ",
description="์ด๋ฏธ์ง€๋ฅผ ์—…๋กœ๋“œํ•˜๋ฉด, ์‚ฌ๋ฌผ์„ ์ธ์‹ํ•˜๊ณ  ํ•ด๋‹นํ•˜๋Š” ์‚ฌ์šด๋“œ์˜ URL์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค."
)
# ์ธํ„ฐํŽ˜์ด์Šค ์‹คํ–‰
iface.launch()