Spaces:
Sleeping
Sleeping
import requests | |
import streamlit as st | |
from config import API_URL, CLASS_LABELS | |
def model_page(): | |
st.write("#### Please upload MRI scan here...") | |
uploaded_file = st.file_uploader("Upload MRI scan here...", type=["jpg", "png", "jpeg"], label_visibility="hidden") | |
predict_button = st.button("ㅤㅤPredictㅤㅤ") | |
if predict_button and uploaded_file: | |
result_ele = st.empty() | |
result_ele.write("Processing...") | |
st.image(uploaded_file, use_column_width=True) | |
result = predict_image(uploaded_file) | |
label = CLASS_LABELS[int(result['label'])] | |
prob = round(result['probability'], 4)*100 | |
# According to our model, there is a 99.97% chance that this scan is from a non demented person. | |
result_ele.info(f"""According to our model, there is a **{prob}%** chance that this scan is from a **{label}** person.""") | |
st.toast("Prediction completed!", icon="🎉") | |
elif predict_button and not uploaded_file: | |
st.toast("Please upload an MRI scan first!", icon="⚠️") | |
def predict_image(image): | |
files = {'file': image} | |
headers = {'accept': 'application/json'} | |
try: | |
response = requests.post(API_URL, headers=headers, files=files) | |
response.raise_for_status() | |
result = response.json() | |
return result | |
except Exception as e: | |
st.error(f"An error occurred: {e}") | |
return None |