suyagi's picture
Update app.py
1d96855 verified
import gradio as gr
import tensorflow as tf
import numpy as np
from PIL import Image
# ==== LOAD ALL MODELS ====
model_resnet = tf.keras.models.load_model("model_resnet.keras")
model_effnet = tf.keras.models.load_model("efficientnet_b3_isic2019.h5")
model_cnn = tf.keras.models.load_model("skin_disease_model_final.h5")
model_svm = tf.keras.models.load_model("multilabel_svm_isic2019.h5")
model_rf = tf.keras.models.load_model("rf_model") # folder saved_model
# ==== FUNCTION ====
def preprocess(image):
image = image.resize((224, 224))
arr = np.array(image) / 255.0
return np.expand_dims(arr, axis=0)
def predict_all(image):
img = preprocess(image)
pred_resnet = model_resnet.predict(img)[0].tolist()
pred_effnet = model_effnet.predict(img)[0].tolist()
pred_cnn = model_cnn.predict(img)[0].tolist()
pred_svm = model_svm.predict(img)[0].tolist()
pred_rf = model_rf.predict(img)[0].tolist()
return {
"resnet": pred_resnet,
"efficientnet": pred_effnet,
"cnn": pred_cnn,
"svm": pred_svm,
"random_forest": pred_rf
}
# ==== GRADIO API ====
iface = gr.Interface(
fn=predict_all,
inputs=gr.Image(type="pil"),
outputs="json"
)
iface.launch()