import gradio as gr import tensorflow as tf import numpy as np import os model = tf.keras.models.load_model('model_cv.h5') def detect(img): img = img.reshape(1, 100, 100, 3) prediction = np.around(model.predict(img)[0], decimals=0)[0] if prediction == 1: return "Pneumonia Detected!" return "Pneumonia Not Detected!" input = gr.inputs.Image(shape=(100, 100)) 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', 'examples/p1.jpeg', 'examples/p2.jpeg', 'examples/p3.jpeg', 'examples/p4.jpeg', 'examples/p8.jpeg'] title = "PneumoDetect: Pneumonia Detection from Chest X-Rays" iface = gr.Interface(fn=detect, inputs=input, outputs="text", examples=examples, examples_per_page=20, title=title) iface.launch(inline=False) # model_name = "Horus7/kaduce" # Remplacez par le nom de votre modèle Hugging Face # # tokenizer = AutoTokenizer.from_pretrained(model_name) # model = AutoModelForSequenceClassification.from_pretrained(model_name) # def predict(image): # # Prétraiter l'image (vous pouvez adapter cela en fonction des besoins de votre modèle) # preprocessed_image = preprocess_image(image) # # Faire une prédiction avec le modèle # prediction = model.predict(preprocessed_image) # # Renvoyer la prédiction # return prediction # # Fonction pour prétraiter l'image avant la prédiction # def preprocess_image(image): # # Effectuer les étapes de prétraitement nécessaires pour votre modèle (redimensionnement, normalisation, etc.) # return image # # Interface Gradio # inputs = gr.inputs.Image() # Entrée : une image # outputs = gr.outputs.Label() # Sortie : une étiquette # gr.Interface(fn=predict, inputs=inputs, outputs=outputs).launch()