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
texte = ""
# 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
'
if format_decimal(prediction[1]) >= seuil_poumon_sain:
texte += 'Poumon sain
'
if format_decimal(prediction[2]) >= seuil_infection_biologique:
texte += 'Risque d\'infection biologique
'
if texte == "":
texte = "Classe indéterminée"
return texte
# 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",examples = examples, examples_per_page=20, title=title)
iface.launch(inline=False)