Spaces:
Sleeping
Sleeping
| import gradio as gr | |
| import numpy as np | |
| from tensorflow.keras.models import load_model | |
| from tensorflow.keras.losses import MeanSquaredError | |
| from PIL import Image | |
| # Cargar el modelo entrenado | |
| model = load_model("autoencoder.h5", custom_objects={"mse": MeanSquaredError()}) | |
| # Umbral para detectar anomal铆as (ajustable) | |
| THRESHOLD = 0.01 | |
| # Funci贸n de predicci贸n | |
| def detectar_anomalia(imagen): | |
| imagen = imagen.convert("L").resize((64, 64)) | |
| arr = np.array(imagen) / 255.0 | |
| arr = arr.reshape((1, 64, 64, 1)) | |
| reconstruido = model.predict(arr, verbose=0) | |
| error = np.mean((arr - reconstruido) ** 2) | |
| resultado = f"An贸mala" if error > THRESHOLD else "Normal" | |
| return resultado | |
| # Crear la interfaz | |
| demo = gr.Interface( | |
| fn=detectar_anomalia, | |
| inputs=gr.Image(type="pil", label="Sube una imagen para analizar"), | |
| outputs=gr.Label(label="Resultado"), | |
| examples=["anomalous.png", "normal.png"], | |
| title="Detecci贸n de Anomal铆as con Autoencoder (Keras)", | |
| description="Este Space utiliza un autoencoder entrenado con Keras para detectar anomal铆as en im谩genes de textiles.", | |
| ) | |
| demo.launch() | |