SkinNet / app.py
ZELEFACK's picture
Create app.py
1db1a66
raw
history blame
2.06 kB
import gradio as gr
import tensorflow as tf
import numpy as np
import cv2
new_model = tf.keras.models.load_model('/content/drive/MyDrive/1.h5')
new_model_severite = tf.keras.models.load_model('/content/drive/MyDrive/model_severite_sckin.h5')
def classify_image(file_name,choix):
if choix == "Categorisation":
img1 = cv2.imread(file_name.name.replace("\\",'/'),0)
img = cv2.resize(img1, (256,256))
img = img.reshape(img.shape[0],img.shape[1],1)
pred = new_model.predict(np.array([img]))
pred_arg = pred.argmax()
pred_coef = pred[0][pred.argmax()]
if pred_arg == 0:
pred = "MEL avec une précision de " + str(pred_coef)
elif pred_arg == 1:
pred= "NV avec une précision de " + str(pred_coef)
elif pred_arg == 2:
pred= "BCC avec une précision de "+ str(pred_coef)
elif pred_arg == 3:
pred= "AKIEC avec une précision de "+ str(pred_coef)
elif pred_arg == 4:
pred= "BKL avec une précision de "+ str(pred_coef)
elif pred_arg == 5:
pred= "DF avec une précision de "+ str(pred_coef)
elif pred_arg == 6:
pred= "VASC avec une précision de "+ str(pred_coef)
return pred
else:
img = cv2.imread('/content/2.jpg',cv2.IMREAD_UNCHANGED)
resized_image = cv2.resize(img, (256, 256), interpolation=cv2.INTER_AREA)
pred = new_model_severite.predict(np.expand_dims(resized_image, 0))
if pred[0][0]==0:
pred = "Malin"
else:
pred = "Benin"
return pred
image = gr.inputs.File( file_count="single",type="file", label="Fichier à Traiter")
rad = gr.Radio(["Severité", "Categorisation"], label="Choix de mode de traitement", info="Que voulez-vous faire?")
gr.Interface(
fn=classify_image,
inputs=[image,rad],
outputs="text",
interpretation="default",
theme="dark-peach",
title="API SkinNet de Test de diagnostique du Cancer de peau",
description="Cette API est utilisé pour dire si le Cancer de sein est Maline ou Pas"
).launch()