Ariel013 commited on
Commit
40472a6
verified
1 Parent(s): a6e51fc

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +43 -35
app.py CHANGED
@@ -3,66 +3,74 @@ from PIL import Image
3
  import numpy as np
4
  import tensorflow as tf
5
 
6
- # Etiquetas en espa帽ol
7
  cifar10_labels = [
8
  'avi贸n', 'autom贸vil', 'p谩jaro', 'gato', 'venado',
9
  'perro', 'rana', 'caballo', 'barco', 'cami贸n'
10
  ]
11
 
12
- # Cargar el modelo
13
  model = tf.keras.models.load_model('my_model.keras')
14
 
15
  def preprocess_image(image):
16
- """Preprocesado de imagen"""
17
  img = image.resize((32, 32)).convert('RGB')
18
  return np.array(img).astype('float32') / 255
19
 
20
  def predict(image):
21
- """Realizar predicci贸n"""
22
  processed_img = preprocess_image(image)
23
  preds = model.predict(np.expand_dims(processed_img, axis=0))[0]
24
  return {label: float(preds[i]) for i, label in enumerate(cifar10_labels)}
25
 
26
- # Configurar ejemplos con etiquetas
27
- dataset_info = "**Este dataset incluye las siguientes 10 categor铆as:**\n" + "\n".join(
28
- [f"- {label.capitalize()}" for label in cifar10_labels]
29
- )
30
-
31
  examples = [
32
- ["ejemplos/avion.jpg", "avi贸n"],
33
- ["ejemplos/automovil.jpg", "autom贸vil"],
34
- ["ejemplos/pajaro.jpg", "p谩jaro"],
35
- ["ejemplos/gato.jpg", "gato"],
36
- ["ejemplos/venado.jpg", "venado"],
37
- ["ejemplos/perro.jpg", "perro"],
38
- ["ejemplos/rana.jpg", "rana"],
39
- ["ejemplos/caballo.jpg", "caballo"],
40
- ["ejemplos/barco.jpg", "barco"],
41
- ["ejemplos/camion.jpg", "cami贸n"]
42
  ]
43
 
44
- # Construir interfaz
45
- with gr.Blocks(theme=gr.themes.Soft()) as app:
46
- gr.Markdown("# Clasificador CIFAR-10 鉁堬笍馃殫")
47
- gr.Markdown("Sube una imagen o prueba con nuestros ejemplos:")
48
 
49
  with gr.Row():
50
  with gr.Column():
51
- input_image = gr.Image(type="pil", label="Imagen de entrada")
52
- submit_btn = gr.Button("Clasificar")
 
 
 
 
 
 
53
 
54
  with gr.Column():
55
- output_label = gr.Label(label="Predicciones", num_top_classes=10)
56
-
57
- gr.Markdown(dataset_info)
 
 
 
58
 
59
- # Secci贸n de ejemplos con etiquetas
60
- gr.Examples(
61
- examples=examples,
62
- inputs=[input_image],
63
- label="Ejemplos del Dataset",
64
- examples_per_page=5
65
- )
 
 
 
 
 
66
 
67
  # Lanzar aplicaci贸n
68
  if __name__ == "__main__":
 
3
  import numpy as np
4
  import tensorflow as tf
5
 
6
+ # Configuraci贸n inicial
7
  cifar10_labels = [
8
  'avi贸n', 'autom贸vil', 'p谩jaro', 'gato', 'venado',
9
  'perro', 'rana', 'caballo', 'barco', 'cami贸n'
10
  ]
11
 
 
12
  model = tf.keras.models.load_model('my_model.keras')
13
 
14
  def preprocess_image(image):
15
+ """Preprocesado de imagen para el modelo"""
16
  img = image.resize((32, 32)).convert('RGB')
17
  return np.array(img).astype('float32') / 255
18
 
19
  def predict(image):
20
+ """Realizar predicci贸n y formatear resultados"""
21
  processed_img = preprocess_image(image)
22
  preds = model.predict(np.expand_dims(processed_img, axis=0))[0]
23
  return {label: float(preds[i]) for i, label in enumerate(cifar10_labels)}
24
 
25
+ # Configurar ejemplos con miniaturas y etiquetas
 
 
 
 
26
  examples = [
27
+ "ejemplos/avion.jpg",
28
+ "ejemplos/automovil.jpg",
29
+ "ejemplos/pajaro.jpg",
30
+ "ejemplos/gato.jpg",
31
+ "ejemplos/venado.jpg",
32
+ "ejemplos/perro.jpg",
33
+ "ejemplos/rana.jpg",
34
+ "ejemplos/caballo.jpg",
35
+ "ejemplos/barco.jpg",
36
+ "ejemplos/camion.jpg"
37
  ]
38
 
39
+ # Construir interfaz con m煤ltiples fuentes de entrada
40
+ with gr.Blocks(theme=gr.themes.Soft(), css=".example-image {max-height: 150px}") as app:
41
+ gr.Markdown("# 馃摲 Clasificador CIFAR-10 Multifuente")
 
42
 
43
  with gr.Row():
44
  with gr.Column():
45
+ # Entrada de imagen con m煤ltiples fuentes
46
+ input_image = gr.Image(
47
+ sources=["upload", "webcam", "clipboard"],
48
+ type="pil",
49
+ label="Selecciona, toma foto o pega imagen (Ctrl+V)",
50
+ height=300
51
+ )
52
+ submit_btn = gr.Button("Clasificar 馃殌", variant="primary")
53
 
54
  with gr.Column():
55
+ output_label = gr.Label(
56
+ label="Resultados",
57
+ num_top_classes=10,
58
+ container=True,
59
+ show_label=True
60
+ )
61
 
62
+ # Secci贸n de ejemplos con miniaturas y etiquetas
63
+ gr.Markdown("## Ejemplos del Dataset (10 categor铆as)")
64
+ with gr.Row(variant="panel"):
65
+ for label, example in zip(cifar10_labels, examples):
66
+ with gr.Column(scale=1, min_width=120):
67
+ gr.Image(
68
+ example,
69
+ label=label.capitalize(),
70
+ show_label=True,
71
+ container=True,
72
+ elem_classes="example-image"
73
+ )
74
 
75
  # Lanzar aplicaci贸n
76
  if __name__ == "__main__":