import streamlit as st
from transformers import pipeline
from transformers import BeitFeatureExtractor, BeitForImageClassification
from PIL import Image
import requests

pipeline = pipeline(task = "image-classification", model = "microsoft/beit-base-patch16-224-pt22k-ft22k")

st.title("Predict the class of an image")

file_name = st.file_uploader("Upload an image here")

if file_name is not None:
  col1, col2 = st.columns(2)

  image = Image.open(file_name)
  col1.image(image, use_column_width=True)
  predictions = pipeline(image)

  col2.header("Probabilities")
  for p in predictions:
    col2.subheader(f"{ p['label'] }: { round(p['score'] * 100, 1)}%")