FreeXrayCovid / app.py
sebasfb99's picture
Update app.py
6fe913c verified
import gradio as gr
import numpy as np
from tensorflow.keras.models import load_model
from tensorflow.keras.preprocessing.image import img_to_array
# Cargar el modelo .keras
model = load_model('cnn_covid.keras')
# Funci贸n para hacer la predicci贸n
def predict_image(image):
if image is None:
return "Por favor suba una imagen / Please upload an image"
try:
img = image.resize((200, 200)) # Redimensionar a 200x200
img_array = img_to_array(img)
img_array = np.expand_dims(img_array, axis=0) # A帽adir dimensi贸n para el batch
prediction = model.predict(img_array)
if prediction[0][0] < 0.5:
result = "COVID-19 Detectado (COVID-19 Detected)"
else:
result = "No tiene COVID-19 (No COVID-19 detected)"
return result
except Exception as e:
return f"Error en el procesamiento: {str(e)}"
# Crear la interfaz de Gradio
iface = gr.Interface(
fn=predict_image,
inputs=gr.Image(type="pil"),
outputs=gr.Textbox(label="Resultado de la predicci贸n", lines=2),
title="COVID-19 X-Ray Classifier",
description="""
[Espa帽ol]
Precisi贸n del modelo: 98.9% (11 errores por cada 1000 im谩genes analizadas)
Si desea probar el modelo, puede descargar im谩genes desde este enlace:
https://drive.google.com/drive/folders/1Dr11dKuSlgtWaTzNLRixzB19y588iNib?usp=drive_link
Algunas de estas im谩genes fueron utilizadas para entrenar el modelo, mientras que otras fueron reservadas exclusivamente para validaci贸n (el modelo nunca tuvo contacto con ellas durante el entrenamiento). Esto permite una evaluaci贸n m谩s precisa del rendimiento real del modelo.
[English]
Model Accuracy: 98.9% (11 errors per 1000 images analyzed)
If you want to test the model, you can download images from this link:
https://drive.google.com/drive/folders/1Dr11dKuSlgtWaTzNLRixzB19y588iNib?usp=drive_link
Some of these images were used to train the model, while others were exclusively reserved for validation (the model never interacted with them during training). This allows for a more accurate evaluation of the model's real performance.
"""
)
# Lanzar la interfaz
if __name__ == "__main__":
iface.launch()