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()