JeanCGuerrero's picture
Update app.py
3af1e47 verified
raw
history blame contribute delete
1.13 kB
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()