IAColmenas / app.py
XA-vito's picture
Update app.py
383dc66 verified
raw
history blame
1.44 kB
import gradio as gr
import joblib
import numpy as np
import os
# Cargar el modelo entrenado
modelo_path = "modelo_colmena.pkl"
if os.path.exists(modelo_path):
modelo = joblib.load(modelo_path)
else:
raise FileNotFoundError("El modelo no se encuentra en el servidor.")
# Función para hacer predicciones con el modelo
def predecir(temp, humedad, peso, co2, vco, frecuencia, voltaje, temp_ext, humedad_ext, ver_tempSelect):
# Convertir valores a números y reemplazar NaN con 0
valores = [temp, humedad, peso, co2, vco, frecuencia, voltaje, temp_ext, humedad_ext, ver_tempSelect]
valores_limpios = [0 if v is None or np.isnan(v) else v for v in valores] # Reemplaza NaN y None con 0
entrada = np.array([valores_limpios])
prediccion = modelo.predict(entrada)[0] # El modelo devuelve [ventilador, ultrasonido]
mensaje = f"🔹 Ventilador: {'ENCENDER' if prediccion[0] == 1 else 'APAGAR'}"
mensaje += f"\n🔹 Ultrasonido: {'ENCENDER' if prediccion[1] == 1 else 'APAGAR'}"
return mensaje
# Crear la API en Gradio
iface = gr.Interface(
fn=predecir,
inputs=["number", "number", "number", "number", "number", "number", "number", "number", "number"],
outputs="text",
title="🐝 IA Inteligente para Colmenas",
description="Introduce los datos de la colmena y la IA predecirá si es necesario activar ventilador y ultrasonido."
)
# Lanzar la API
iface.launch()