import gradio as gr import pandas as pd import numpy as np import os from tqdm import tqdm import tensorflow as tf from tensorflow import keras from keras.utils import np_utils from tensorflow.keras.preprocessing import image from tensorflow.keras.preprocessing.image import ImageDataGenerator import matplotlib.pyplot as plt new_model = tf.keras.models.load_model('modelo_entrenado.h5') objects = ('angry', 'disgust', 'fear', 'happy', 'sad', 'surprise', 'neutral') y_pos = np.arange(len(objects)) def predict_image(pic): img = image.load_img(pic, grayscale=True, target_size=(48, 48)) x = image.img_to_array(img) x = np.expand_dims(x, axis = 0) x /= 255 custom = new_model.predict(x) m=0.000000000000000000001 a=custom[0] for i in range(0,len(a)): if a[i]>m: m=a[i] ind=i return ('Expression Prediction:',objects[ind]) iface = gr.Interface( predict_image, [ gr.inputs.Image(source="upload",type="filepath", label="Imagen") ], "text", interpretation="default", title = 'FER - Facial Expression Recognition', description = 'Probablemente nos daremos cuenta de que muchas veces se miente cuando se tratan las emociones, ¿pero nuestra cara también miente? https://saturdays.ai/2022/03/16/detectando-emociones-mediante-imagenes-con-inteligencia-artificial/ ', examples=[["28860.png"], ["28790.png"], ["28953.png"], ["30369.png"], ["28722.png"], ["29026.png"], ["28857.png"], ["28795.png"], ["28880.png"], ["28735.png"], ["28757.png"], ["28727.png"], ["28874.png"], ["28723.png"]], theme = 'grass' ) iface.launch()