Spaces:
Sleeping
Sleeping
Upload 5 files
Browse files- app.py +46 -0
- breast_cancer_model.h5 +3 -0
- diabetes_model.h5 +3 -0
- malaria_model.h5 +3 -0
- pneumonia_model.h5 +3 -0
app.py
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import gradio as gr
|
| 2 |
+
import tensorflow as tf
|
| 3 |
+
import numpy as np
|
| 4 |
+
import pandas as pd
|
| 5 |
+
from PIL import Image
|
| 6 |
+
|
| 7 |
+
# Load trained models
|
| 8 |
+
malaria_model = tf.keras.models.load_model("malaria_model.h5")
|
| 9 |
+
pneumonia_model = tf.keras.models.load_model("pneumonia_model.h5")
|
| 10 |
+
cancer_model = tf.keras.models.load_model("breast_cancer_model.h5")
|
| 11 |
+
diabetes_model = tf.keras.models.load_model("diabetes_model.h5")
|
| 12 |
+
|
| 13 |
+
# Function to preprocess images
|
| 14 |
+
def preprocess_image(image):
|
| 15 |
+
img = image.convert("RGB").resize((128, 128))
|
| 16 |
+
img_array = np.array(img) / 255.0
|
| 17 |
+
img_array = np.expand_dims(img_array, axis=0)
|
| 18 |
+
return img_array
|
| 19 |
+
|
| 20 |
+
# Function to make predictions
|
| 21 |
+
def predict_disease(file, disease):
|
| 22 |
+
if disease in ["Malaria", "Pneumonia"]:
|
| 23 |
+
img_array = preprocess_image(file)
|
| 24 |
+
model = malaria_model if disease == "Malaria" else pneumonia_model
|
| 25 |
+
prediction = model.predict(img_array)
|
| 26 |
+
return "Infected" if prediction[0][0] > 0.5 else "Uninfected"
|
| 27 |
+
|
| 28 |
+
elif disease in ["Breast Cancer", "Diabetes"]:
|
| 29 |
+
df = pd.read_csv(file)
|
| 30 |
+
model = cancer_model if disease == "Breast Cancer" else diabetes_model
|
| 31 |
+
prediction = model.predict(df)
|
| 32 |
+
return ["Positive" if p > 0.5 else "Negative" for p in prediction]
|
| 33 |
+
|
| 34 |
+
return "Invalid disease selected"
|
| 35 |
+
|
| 36 |
+
# Gradio Interface
|
| 37 |
+
interface = gr.Interface(
|
| 38 |
+
fn=predict_disease,
|
| 39 |
+
inputs=[gr.File(), gr.Radio(["Malaria", "Pneumonia", "Breast Cancer", "Diabetes"])],
|
| 40 |
+
outputs="text",
|
| 41 |
+
title="Disease Prediction App",
|
| 42 |
+
description="Upload an image (for Malaria/Pneumonia) or a CSV file (for Breast Cancer/Diabetes) to get a prediction."
|
| 43 |
+
)
|
| 44 |
+
|
| 45 |
+
# Run the app
|
| 46 |
+
interface.launch()
|
breast_cancer_model.h5
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:8d23c824876a859b1b42b848bd537ca3d1134888b1d6723f94f06b6ab4f58a72
|
| 3 |
+
size 47144
|
diabetes_model.h5
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:8586302f3f933089837037a37b4d4fe50491b86c6b0a05b89fad3fc8258d68cd
|
| 3 |
+
size 37192
|
malaria_model.h5
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:a55593c274bd2f96b12497cd90177644e876b5f60e39815f1a104108569cae52
|
| 3 |
+
size 14010440
|
pneumonia_model.h5
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:c71733f77266a4f3e4714c74f365df98f9e6eb460a30dcaa938e02f82f88a261
|
| 3 |
+
size 63147432
|