import gradio as gr from tensorflow.keras.models import load_model import pandas as pd import numpy as np import cv2 dataCsv = pd.read_csv('birds.csv') def display_image_and_prediction(bird): model = load_model('mon_modele/mon_modele') generator = np.load('test_data.npy') bird_array_resized = cv2.resize(bird,(224, 224), 3) bird_array = np.expand_dims(bird_array_resized.astype('float32') / 255.0, axis=0) prediction = model.predict(bird_array) predicted_class = np.argmax(prediction) predicted_class_name = generator[predicted_class] scientificName = dataCsv.loc[dataCsv["labels"]==predicted_class_name,"scientific name"].iloc[0]#récupération du nom scientifique de cette oiseau return predicted_class_name, scientificName iface = gr.Interface(fn=display_image_and_prediction, inputs="image", outputs=["text","text"]) iface.launch(share=True)