File size: 2,274 Bytes
a5e0c71 10e58eb a5e0c71 4cd8e85 e9e7980 4cd8e85 a5e0c71 4cd8e85 7c579e4 2db5c0c 0de90cf a5e0c71 7242ff5 a5e0c71 9d5b6df ea46f1b a5e0c71 96543a7 a5e0c71 c79a95e a5e0c71 38397f0 a5e0c71 a403ed6 a5e0c71 |
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 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 |
import gradio as gr
import pandas as pd
import numpy as np
import os
#import cv2
from tqdm import tqdm
import tensorflow as tf
from tensorflow import keras
from keras.utils import np_utils
#from tensorflow.python.keras.preprocessing import image
#from tensorflow.python.keras.preprocessing.image import ImageDataGenerator
from keras.preprocessing import image
from keras.preprocessing.image import ImageDataGenerator
#from skimage import io
import matplotlib.pyplot as plt
#from tensorflow.python.keras.utils import np_utils
import pickle
#with Path("modelo_entrenado.pkl").open("br")as f:
# new_model=pickle.load(f)
#new_model = pickle.load(open("modelo_entrenado.pkl", 'rb'))
new_model = tf.keras.models.load_model('modelo_entrenado.h5')
objects = ('angry', 'disgust', 'fear', 'happy', 'sad', 'surprise', 'neutral')
y_pos = np.arange(len(objects))
print(y_pos)
def emotion_analysis(emotions):
objects = ['angry', 'disgust', 'fear', 'happy', 'sad', 'surprise', 'neutral']
y_pos = np.arange(len(objects))
plt.bar(y_pos, emotions, align='center', alpha=0.9)
plt.tick_params(axis='x', which='both', pad=10,width=4,length=10)
plt.xticks(y_pos, objects)
plt.ylabel('percentage')
plt.title('emotion')
plt.show()
def predict_image(pic):
#img = image.load_img(pic, grayscale=True, target_size=(48, 48))
#show_img=image.load_img(pic, grayscale=False, target_size=(200, 200))
x = image.img_to_array(pic)
x = np.expand_dims(x, axis = 0)
x /= 255
custom = new_model.predict(x)
emotion_analysis(custom[0])
x = np.array(x, 'float32')
x = x.reshape([48, 48,1]);
plt.gray()
plt.imshow(show_img)
plt.show()
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(shape=None, image_mode="RGB", invert_colors=False, source="upload", tool="editor", type="numpy", label=None, optional=False)
gr.inputs.Image(source="upload")
],
"text",
interpretation="default",
title = 'FER',
description = 'El ',
theme = 'grass'
)
iface.launch()
|