GianmarcoJTA commited on
Commit
fa482a9
verified
1 Parent(s): 2a07b08

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +23 -12
app.py CHANGED
@@ -7,9 +7,12 @@ import os
7
 
8
  # Definir rutas
9
  code_path = '/app' # Usando ruta del contenedor Docker
10
- models_path = os.path.join(code_path, 'models')
11
  haarcascade_path = 'haarcascade_frontalface_default.xml' # Usamos ruta relativa
12
 
 
 
 
 
13
  # Imprimir la ruta para verificar
14
  print(f"Ruta al archivo Haar Cascade: {haarcascade_path}")
15
 
@@ -26,17 +29,20 @@ if face_cascade.empty():
26
  print("Error al cargar el clasificador Haar Cascade.")
27
  exit()
28
 
29
- # Verificar si el modelo existe
30
- modelo_guardado = os.path.join(models_path, 'modelo_estimacion_edad_mejor.h5')
31
- if not os.path.exists(modelo_guardado):
32
- print(f'No se encontr贸 el modelo en {modelo_guardado}. Por favor, entrena el modelo primero.')
33
- exit()
34
 
35
- modelo = load_model(modelo_guardado)
36
- print('Modelo cargado exitosamente.')
37
 
38
  # Funci贸n para procesar la imagen y predecir la edad
39
- def estimar_edad(imagen):
 
 
 
 
 
 
40
  # Convertir la imagen a escala de grises para la detecci贸n de rostros
41
  gray = cv2.cvtColor(imagen, cv2.COLOR_BGR2GRAY)
42
 
@@ -67,9 +73,14 @@ def estimar_edad(imagen):
67
  return "No se detectaron rostros en la imagen."
68
 
69
  # Crear la interfaz con Gradio
70
- iface = gr.Interface(fn=estimar_edad,
71
- inputs=gr.inputs.Image(type="numpy", label="Sube una imagen"),
72
- outputs="text")
 
 
 
 
 
73
 
74
  # Lanzar la interfaz de Gradio
75
  iface.launch()
 
7
 
8
  # Definir rutas
9
  code_path = '/app' # Usando ruta del contenedor Docker
 
10
  haarcascade_path = 'haarcascade_frontalface_default.xml' # Usamos ruta relativa
11
 
12
+ # Rutas de los modelos
13
+ modelo_mejor_path = os.path.join(code_path, 'modelo_estimacion_edad_mejor.h5')
14
+ modelo_final_path = os.path.join(code_path, 'modelo_estimacion_edad_final.h5')
15
+
16
  # Imprimir la ruta para verificar
17
  print(f"Ruta al archivo Haar Cascade: {haarcascade_path}")
18
 
 
29
  print("Error al cargar el clasificador Haar Cascade.")
30
  exit()
31
 
32
+ # Cargar ambos modelos
33
+ modelo_mejor = load_model(modelo_mejor_path)
34
+ modelo_final = load_model(modelo_final_path)
 
 
35
 
36
+ print('Modelos cargados exitosamente.')
 
37
 
38
  # Funci贸n para procesar la imagen y predecir la edad
39
+ def estimar_edad(imagen, modelo_seleccionado="mejor"):
40
+ # Seleccionar el modelo
41
+ if modelo_seleccionado == "mejor":
42
+ modelo = modelo_mejor
43
+ else:
44
+ modelo = modelo_final
45
+
46
  # Convertir la imagen a escala de grises para la detecci贸n de rostros
47
  gray = cv2.cvtColor(imagen, cv2.COLOR_BGR2GRAY)
48
 
 
73
  return "No se detectaron rostros en la imagen."
74
 
75
  # Crear la interfaz con Gradio
76
+ iface = gr.Interface(
77
+ fn=estimar_edad,
78
+ inputs=[
79
+ gr.inputs.Image(type="numpy", label="Sube una imagen"),
80
+ gr.inputs.Radio(choices=["mejor", "final"], label="Selecciona el modelo", default="mejor") # Elegir modelo
81
+ ],
82
+ outputs="text"
83
+ )
84
 
85
  # Lanzar la interfaz de Gradio
86
  iface.launch()