Spaces:
Sleeping
Sleeping
import streamlit as st | |
from fastai.vision.widgets import * | |
from fastai.vision.all import * | |
from pathlib import Path | |
import streamlit as st | |
def is_cat(x): return x[0].isupper() | |
class Predict: | |
def __init__(self, filename): | |
self.learn_inference = load_learner(Path()/filename) | |
self.img = self.get_image_from_upload() | |
if self.img is not None: | |
self.display_output() | |
self.get_prediction() | |
def get_image_from_upload(): | |
uploaded_file = st.file_uploader("Upload Files",type=['png','jpeg', 'jpg']) | |
if uploaded_file is not None: | |
return PILImage.create((uploaded_file)) | |
return None | |
def display_output(self): | |
st.image(self.img.to_thumb(500,500), caption='Uploaded Image') | |
def get_prediction(self): | |
if st.button('Classify'): | |
pred, pred_idx, probs = self.learn_inference.predict(self.img) | |
st.write(f'Prediction: {pred}; Probability: {probs[pred_idx]:.04f}') | |
else: | |
st.write(f'Click the button to classify') | |
if __name__=='__main__': | |
file_name='model.pkl' | |
predictor = Predict(file_name) |