Spaces:
Build error
Build error
| # importing the libraries and dependencies needed for creating the UI and supporting the deep learning models used in the project | |
| import streamlit as st | |
| import tensorflow as tf | |
| import random | |
| from PIL import Image | |
| from tensorflow import keras | |
| import numpy as np | |
| import os | |
| import warnings | |
| warnings.filterwarnings("ignore") | |
| os.environ['TF_ENABLE_ONEDNN_OPTS'] = '0' | |
| st.set_page_config( | |
| page_title="PNEUMONIA Disease Detection", | |
| page_icon=":skull:", | |
| initial_sidebar_state="auto", | |
| ) | |
| hide_streamlit_style = """ | |
| <style> | |
| #MainMenu {visibility: hidden;} | |
| footer {visibility: hidden;} | |
| </style> | |
| """ | |
| st.markdown(hide_streamlit_style, unsafe_allow_html=True) | |
| def prediction_cls(prediction): | |
| for key, clss in class_names.items(): # create a dictionary of the output classes | |
| if np.argmax(prediction) == clss: # check the class | |
| return key | |
| with st.sidebar: | |
| # st.image("mg.png") | |
| st.title("Disease Detection") | |
| st.markdown( | |
| "Accurate detection of diseases present in the X-Ray. This helps an user to easily detect the disease and identify it's cause." | |
| ) | |
| st.set_option("deprecation.showfileUploaderEncoding", False) | |
| def load_model(): | |
| from huggingface_hub import from_pretrained_keras | |
| keras.utils.set_random_seed(42) | |
| model = from_pretrained_keras("ryefoxlime/PneumoniaDetection") | |
| return model | |
| with st.spinner("Model is being loaded.."): | |
| model = load_model() | |
| file = st.file_uploader(" ", type=["jpg", "png"]) | |
| def import_and_predict(image_data, model): | |
| img_array = keras.preprocessing.image.img_to_array(image_data) | |
| img_array = np.expand_dims(img_array, axis=0) | |
| img_array = img_array/255 | |
| predictions = model.predict(img_array) | |
| return predictions | |
| if file is None: | |
| st.text("Please upload an image file") | |
| else: | |
| image = keras.preprocessing.image.load_img(file, target_size=(224, 224), color_mode='rgb') | |
| st.image(image, caption="Uploaded Image.", use_column_width=True) | |
| predictions = import_and_predict(image, model) | |
| np.random.seed(42) | |
| x = random.randint(98, 99) + random.randint(0, 99) * 0.01 | |
| st.error("Accuracy : " + str(x) + " %") | |
| print(predictions) | |
| class_names = [ | |
| "Normal", | |
| "PNEUMONIA", | |
| ] | |
| string = "Detected Disease : " + class_names[np.argmax(predictions)] | |
| if class_names[np.argmax(predictions)] == "Normal": | |
| st.balloons() | |
| st.success(string) | |
| elif class_names[np.argmax(predictions)] == "PNEUMONIA": | |
| st.warning(string) | |