jeysshon commited on
Commit
5523171
·
verified ·
1 Parent(s): 50496e6

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +41 -45
app.py CHANGED
@@ -1,54 +1,50 @@
1
  import gradio as gr
2
  import numpy as np
3
- import tensorflow as tf
4
  from tensorflow.keras.models import load_model
5
  from tensorflow.keras.preprocessing import image
6
 
7
- MODELO_ISATRON_JEY = 'modelo_isatron_jeysshonl.h5'
8
 
9
- # Define un diccionario de objetos personalizado para cargar el modelo
10
- objetos_personalizados = {
11
- 'SeparableConv2D': tf.keras.layers.SeparableConv2D
12
- }
13
 
14
- # Carga el modelo con el argumento custom_objects
15
- modelo_cnn = load_model(MODELO_ISATRON_JEY, custom_objects=objetos_personalizados)
16
-
17
- def hacer_prediccion(imagen_prueba):
18
- imagen_prueba = imagen_prueba.name
19
- imagen_prueba = image.load_img(imagen_prueba, target_size=(224, 224))
20
- imagen_prueba = image.img_to_array(imagen_prueba) / 255.
21
- imagen_prueba = np.expand_dims(imagen_prueba, axis=0)
22
- resultado = modelo_cnn.predict(imagen_prueba)
23
- return {"Normal": str(resultado[0][0]), "Neumonía": str(resultado[0][1])}
24
 
25
- entrada_imagen = gr.inputs.Image(type="file")
26
 
27
- descripcion = "El modelo IsaTron es una Red Neuronal Convolucional (CNN) diseñada como un método de apoyo médico para el diagnóstico en imágenes radiológicas de neumonía pediátrica. IsaTron arroja un porcentaje para interpretar la radiografía torácica. En la parte inferior encontrarás algunas imágenes que pueden ser usadas para ejemplificar el funcionamiento del modelo. [Enlace al conjunto de datos](https://repositorio.unbosque.edu.co/handle/20.500.12495/9514)"
28
-
29
- habilitar_cola = True
30
- ejemplos = [
31
- ['1normal.jpeg'],
32
- ['image1_pneumonia_virus.jpeg'],
33
- ['image1_pneumonia_bacteria.jpeg'],
34
- ['image2_normal.jpeg'],
35
- ['image2_pneumonia_bacteria.jpeg'],
36
- ['image3_normal.jpeg'],
37
- ['image4_normal.jpeg'],
38
- ]
39
-
40
- articulo= "<p style='text-align: center'><span style='font-size: 15pt;'>IsaTron . Jeysshon Bustos . 2022. </span></p>"
41
-
42
- interfaz = gr.Interface(
43
- fn=hacer_prediccion,
44
- inputs=entrada_imagen,
45
- outputs='label',
46
- title="Modelo (CNN) IsaTron",
47
- description=descripcion,
48
- theme="default",
49
- article=articulo,
50
- examples=ejemplos,
51
- enable_queue=habilitar_cola
52
- )
53
-
54
- interfaz.launch(share=True)
 
 
1
  import gradio as gr
2
  import numpy as np
3
+ import tensorflow
4
  from tensorflow.keras.models import load_model
5
  from tensorflow.keras.preprocessing import image
6
 
7
+ MODEL_ISATRON_JEY = 'modelo_isatron_jeysshonl.h5'
8
 
9
+ cnn_model = load_model(MODEL_ISATRON_JEY)
 
 
 
10
 
11
+ def make_prediction(test_image):
12
+ test_image = test_image.name
13
+ test_image = image.load_img(test_image, target_size=(224, 224))
14
+ test_image = image.img_to_array(test_image) / 255.
15
+ test_image = np.expand_dims(test_image, axis=0)
16
+ result = cnn_model.predict(test_image)
17
+ return {"Normal": str(result[0][0]), "Neumonia": str(result[0][1])}
18
+
 
 
19
 
20
+ image_input = gr.inputs.Image(type="file")
21
 
22
+ description = " El modelo IsaTron es una Red Neuronal Convolucional (CNN) diseñada como un método de apoyo medico para el diagnóstico en imágenes radiológicas de neumonía pediátrica. Isatron arroja un porcentaje para lograr interpretar la radiografia torácica. En la parte inferior encontrará unas imágenes que pueden ser usadas para ejemplificar el funcionamiento del modelo. https://repositorio.unbosque.edu.co/handle/20.500.12495/9514"
23
+
24
+
25
+
26
+ enable_queue = True
27
+ examples = [
28
+ ['1normal.jpeg'],
29
+ ['image1_pneumonia_virus.jpeg'],
30
+ ['image1_pneumonia_bacteria.jpeg'],
31
+ ['image2_normal.jpeg'],
32
+ ['image2_pneumonia_bacteria.jpeg'],
33
+ ['image3_normal.jpeg'],
34
+ ['image4_normal.jpeg'],
35
+ ]
36
+
37
+ article= "<p style='text-align: center'><span style='font-size: 15pt;'>IsaTron . Jeysshon Bustos . 2022. </span></p>"
38
+
39
+
40
+ interface=gr.Interface(fn=make_prediction,
41
+ inputs=image_input,
42
+ outputs='label',
43
+ title="Modelo (CNN) IsaTron ",
44
+ ##interpretation = "default",
45
+ description=description,
46
+ theme="default",
47
+ article=article,
48
+ examples=examples,
49
+ enable_queue=enable_queue )
50
+ interface.launch(share=True)