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() | |