Spaces:
No application file
No application file
| 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() | |