|
import requests |
|
from PIL import Image |
|
from io import BytesIO |
|
import torch |
|
import streamlit as st |
|
|
|
from transformers import ViTFeatureExtractor, ViTForImageClassification |
|
|
|
st.title('๋์ด๋ฅผ ์์ธก') |
|
uploaded_file = st.file_uploader("๋์ด ์์ธก ์ฉ ํ์ผ ์
๋ก๋") |
|
if uploaded_file is not None: |
|
im = Image.open(uploaded_file) |
|
|
|
|
|
|
|
|
|
|
|
model = ViTForImageClassification.from_pretrained('nateraw/vit-age-classifier') |
|
transforms = ViTFeatureExtractor.from_pretrained('nateraw/vit-age-classifier') |
|
|
|
|
|
inputs = transforms(im, return_tensors='pt') |
|
output = model(**inputs) |
|
|
|
|
|
proba = output.logits.softmax(1) |
|
|
|
values, indices = torch.topk(proba, k=5) |
|
|
|
result_dict = {model.config.id2label[i.item()]: v.item() for i, v in zip(indices.numpy()[0], values.detach().numpy()[0])} |
|
first_result = list(result_dict.keys())[0] |
|
|
|
print(f'predicted result:{result_dict}') |
|
print(f'first_result: {first_result}') |
|
|
|
st.write(f'์์ธก๋์ด : {first_result}') |
|
|