Spaces:
Runtime error
Runtime error
| import os | |
| import streamlit as st | |
| import numpy as np | |
| import PIL.Image | |
| #from PIL import Image | |
| from fastai.vision.all import * | |
| import pathlib | |
| import matplotlib.pyplot as pt | |
| plt = platform.system() | |
| if plt == 'Windows': pathlib.PosixPath = pathlib.WindowsPath | |
| model = load_learner('ksl_model.pkl') | |
| def predict(image_path): | |
| # load the image and convert into | |
| # numpy array | |
| #image= Image.open(image) | |
| # image = Image.open(image) | |
| # PIL images into NumPy arrays | |
| pred_label= model.predict(image_path) | |
| return pred_label | |
| # def show_likelihood(pred_label): | |
| # class_probs = pred_label[9].numpy() | |
| # classes = pred_label[9] | |
| # class_labels = [classes[i] for i in range(len(class_probs))] | |
| # fig = pt.figure(figsize=(10, 10)) | |
| # pt.barh(class_labels, class_probs) | |
| # pt.ylabel("Class") | |
| # pt.xlabel("Probability") | |
| # pt.title("Class Probabilities") | |
| # pt.xlim(0, 1) | |
| # pt.ylim(-1, len(class_probs)) | |
| # st.pyplot(fig) | |
| def main(): | |
| # Add an image to your app | |
| image = "ksl1.jpg" | |
| st.image(image) | |
| st.write("# KSL Image Classification App") | |
| st.write("This app allows you to upload a KSL image and have it classified by a pre-trained machine learning model into one of 9 classes.") | |
| uploaded_file = st.file_uploader("Upload an image", type=["jpg", "png", "jpeg"]) | |
| if uploaded_file is not None: | |
| image = PIL.Image.open(uploaded_file) | |
| image_path = os.path.join("tempDir",uploaded_file.name) | |
| with open(image_path, "wb") as f: | |
| f.write(uploaded_file.getbuffer()) | |
| st.image(image, caption="Uploaded Image", use_column_width=True) | |
| pred_label = predict(image_path) | |
| st.write("The image was classified as:", pred_label[0]) | |
| # show_likelihood(pred_label) | |
| if __name__ == '__main__': | |
| main() | |