MS-YUN
ํŠธ๋žœ์Šคํฌ๋จธ"
bc3b9d1
# ๋ชจ๋ธ๋กœ๋”ฉ
# ImageNet-1k์— ํ›ˆ๋ จ๋œ ๋ชจ๋ธ๊ณผ ํŠน์ง• ์ถ”์ถœ๊ธฐ ๋กœ๋“œ
from transformers import ViTImageProcessor, ViTForImageClassification
model_name = "google/vit-base-patch16-224"
model = ViTForImageClassification.from_pretrained(model_name)
image_processor = ViTImageProcessor.from_pretrained(model_name)
# ์ด๋ฏธ์ง€ ์˜ˆ์ธก ๋ถ„๋ฅ˜ํ•จ์ˆ˜
import torch
def classify_image(inp):
# ์ด๋ฏธ์ง€๋ฅผ ํŠน์ง• ๋ฒกํ„ฐ๋กœ ๋ณ€ํ™˜
inputs = image_processor(images=inp, return_tensors="pt")
pixel_values = inputs["pixel_values"]
# ์˜ˆ์ธก ์ˆ˜ํ–‰
outputs = model(pixel_values)
logits = outputs.logits
predicted_index = torch.argmax(logits, 1)[0].item()
# ๊ฐ€์žฅ ํ™•๋ฅ ์ด ๋†’์€ ๋ผ๋ฒจ ๋ฐ˜ํ™˜``
label = model.config.id2label[predicted_index]
return label
# Gradio ์ธํ„ฐํŽ˜์ด์Šค ์„ค์ •
from PIL import Image
import gradio as gr
interface = gr.Interface(
fn=classify_image,
inputs=gr.components.Image(type="pil", label="Upload an Image"),
outputs="text",
live=True
)
interface.launch()