File size: 1,426 Bytes
4ab2b9e
2b6173e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45

import gradio as gr
from tensorflow.keras.models import load_model
import numpy as np

# Charger les modèles
model_TB = load_model("Tuberculosis_model.h5")
model_Pneumonia = load_model("Pneunomia_model.h5")
model_ImageTB = load_model("Image_TB_classifier.h5")

def predict(model_name, input_text):
    # Transformer l'entrée texte en tableau numpy
    # Exemple simple : input_text est des chiffres séparés par virgule
    try:
        input_array = np.array([[float(x) for x in input_text.split(",")]])
    except:
        return "Format d'entrée incorrect. Utilisez des nombres séparés par des virgules."

    # Choix du modèle
    if model_name == "Tuberculosis":
        pred = model_TB.predict(input_array)
    elif model_name == "Pneumonia":
        pred = model_Pneumonia.predict(input_array)
    elif model_name == "Image TB Classifier":
        pred = model_ImageTB.predict(input_array)
    else:
        return "Modèle inconnu."

    return str(pred[0])

# Interface Gradio
iface = gr.Interface(
    fn=predict,
    inputs=[
        gr.Dropdown(["Tuberculosis", "Pneumonia", "Image TB Classifier"], label="Choisir le modèle"),
        gr.Textbox(lines=1, placeholder="Entrée : valeurs séparées par virgule")
    ],
    outputs="text",
    title="Prédiction IA TeamAI",
    description="Tester les modèles Tuberculosis, Pneumonia, Image TB Classifier"
)

if __name__ == "__main__":
    iface.launch()