Horus7-kaduce / app.py
Horus7's picture
Update app.py
d31d503 verified
raw
history blame
1.84 kB
import gradio as gr
import tensorflow as tf
import numpy as np
import os
import tensorflow as tf
import numpy as np
from keras.models import load_model
from tensorflow.keras.utils import load_img
# Charger le modèle
model = load_model('model_multi.h5')
def format_decimal(value):
decimal_value = format(value, ".2f")
return decimal_value
def detect(img):
img = np.expand_dims(img, axis=0)
img = img/255
prediction = model.predict(img)[0]
# Définition des seuils pour chaque classe
seuil_infection_bacterienne = 0.5
seuil_poumon_sain = 0.5
seuil_infection_biologique = 0.5
# Initialisation du texte et de la couleur
texte = ""
couleur = ""
# Détermination du texte et de la couleur pour chaque classe
if format_decimal(prediction[0]) >= seuil_infection_bacterienne:
texte = "Risque d'infection bactérienne"
couleur = "red"
elif format_decimal(prediction[1]) >= seuil_poumon_sain:
texte = "Poumon sain"
couleur = "green"
elif format_decimal(prediction[2]) >= seuil_infection_biologique:
texte = "Risque d'infection biologique"
couleur = "orange"
else:
texte = "Classe indéterminée"
couleur = "black"
return texte, couleur
# result = detect(img)
# print(result)
os.system("tar -zxvf examples.tar.gz")
examples = ['examples/n1.jpeg', 'examples/n2.jpeg', 'examples/n3.jpeg', 'examples/n4.jpeg', 'examples/n5.jpeg',
'examples/n6.jpeg', 'examples/n7.jpeg', 'examples/n8.jpeg', 'examples/p6.jpeg', 'examples/p7.jpeg',]
input = gr.inputs.Image(shape=(100,100))
title = "PneumoDetect: Detection de pneumonie par x-ray"
iface = gr.Interface(fn=detect, inputs=input, outputs=["text", "color"],examples = examples, examples_per_page=20, title=title)
iface.launch(inline=False)