File size: 2,058 Bytes
1db1a66
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
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()