Spaces:
Sleeping
Sleeping
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() | |