CoolFace
Apppublic

Sandy818/EF_MachineLearning

sourceHugging Faceupdated 2y agoView on Hugging Face
0likes
app.py42 linesDownload Raw Back to root
1import gradio as gr2import numpy as np3from tensorflow.keras.models import load_model4from tensorflow.keras.preprocessing.image import load_img, img_to_array5 6# Cargar el modelo entrenado (debe estar en el mismo directorio o proporcionar la ruta correcta)7model = load_model("neumonia_model.h5")8 9# Dimensiones de entrada esperadas por el modelo (224x224 para VGG16)10image_size = (224, 224)11 12# Función de predicción13def predict_pneumonia(image):14    # Preprocesar la imagen15    img = image.resize(image_size)  # Redimensionar la imagen16    img_array = img_to_array(img) / 255.0  # Normalizar la imagen17    img_array = np.expand_dims(img_array, axis=0)  # Agregar una dimensión adicional18 19    # Predecir usando el modelo20    prediction = model.predict(img_array)21    class_labels = ["Normal", "Pneumonia"]22    predicted_class = class_labels[np.argmax(prediction)]23 24    # Retornar la clase predicha y la probabilidad25    return f"Predicción: {predicted_class} ({np.max(prediction) * 100:.2f}%)"26 27# Crear la interfaz en Gradio28inputs = gr.Image(type="pil", label="Sube una imagen de rayos X")29outputs = gr.Textbox(label="Resultado de la predicción")30 31interface = gr.Interface(32    fn=predict_pneumonia,33    inputs=inputs,34    outputs=outputs,35    title="Detección de Neumonía en Imágenes de Rayos X",36    description="Sube una imagen de rayos X del tórax para verificar si hay indicios de neumonía.",37)38 39# Lanzar la interfaz40if __name__ == "__main__":41    interface.launch()42