hadt-app / app.py
GitHub Actions
Sync App from main repo
b5b39b7
raw
history blame
1.47 kB
import streamlit as st
import requests
import pandas as pd
import matplotlib.pyplot as plt
st.title("Arrhythmia Detection")
models = {
"LSTM Multi": "lstm_multi_model.h5",
"CNN Multi": "cnn_multi_model.h5",
"PCA XGBoost Multi": "pca_xgboost_multi_model.pkl",
"LSTM Binary": "lstm_binary_model.h5",
"CNN Binary": "cnn_binary_model.h5",
"PCA XGBoost Binary": "pca_xgboost_binary_model.pkl",
}
# Model selection
model_name = st.selectbox("Select a Model", list(models.keys()))
# File uploader
uploaded_file = st.file_uploader("Upload a CSV file", type="csv")
if uploaded_file is not None:
df = pd.read_csv(uploaded_file)
# st.write("Uploaded Data:", df)
st.write("Visualized Data:")
fig, ax = plt.subplots(figsize=(10, 6))
df.plot(ax=ax)
st.pyplot(fig)
if st.button("Predict"):
model = models[model_name]
# Reset the file pointer to the beginning
uploaded_file.seek(0)
# Call the API with the file directly
response = requests.post(
f"https://fabriciojm-hadt-api.hf.space/predict?model_name={model}",
files={"filepath_csv": (uploaded_file.name, uploaded_file, "text/csv")},
)
if response.status_code == 200:
prediction = response.json()["prediction"]
st.write(f"Prediction using {model_name}:", prediction)
else:
st.error(f"Error: {response.json().get('detail', 'Unknown error')}")