import gradio as gr import pandas as pd import numpy as np from keras.models import model_from_json from tensorflow.keras.preprocessing import image from keras.applications.vgg16 import VGG16, preprocess_input import heapq file = open("focusondriving.json", 'r') model_json2 = file.read() file.close() loaded_model = model_from_json(model_json2) loaded_model.load_weights("focusondriving.h5") class_dict = { 'c0': 'Conduciendo de forma segura', 'c1': 'Móvil en la mano derecha', 'c2': 'Hablando por el teléfono con la mano derecha', 'c3': "Móvil en la mano izquierda", 'c4': 'Hablando con el teléfono con la mano izquierda', 'c5': 'Tocando la radio o el salpicadero', 'c6': 'Bebiendo', 'c7': 'Buscando en la parte trasera', 'c8': 'Manos en la cara o el pelo', 'c9': 'Mirando hacia el lado' } def predict_image(pic): img = image.load_img(pic, target_size=(224, 224)) x = image.img_to_array(img) x = np.expand_dims(x, axis=0) x = preprocess_input(x) preds = loaded_model.predict(x) preds = list(preds[0]) list_desc_order = heapq.nlargest(2, range(len(preds)), key=preds.__getitem__) result1 = f'c{list_desc_order[0]}' result2 = '-' result2_ = 0 if preds[list_desc_order[1]] > 0.3: result2 = f'c{list_desc_order[1]}' result2_ = round(preds[list_desc_order[1]], 2) score = round(preds[list_desc_order[0]], 2)*100 score = int(score) txt2 = f"Resultado: {class_dict.get(result1)} Probabilidad {score}%" txt3="pepe" return txt2 iface = gr.Interface( predict_image, [ gr.inputs.Image(source="upload",type="filepath", label="Imagen") ], "text", interpretation="default", title = 'Focus on Driving', description = 'El objetivo de este proyecto es ajustar un modelo de Machine Learning capaz de identificar y clasificar las diferentes distracciones a que estamos expuestos siempre que conducimos. https://saturdays.ai/2022/03/16/focus-on-driving-redes-neuronales-aplicadas-a-la-seguridad-vial/', examples=[["img_50156.jpg"], ["img_32161.jpg"], ["img_97052.jpg"], ["img_95082.jpg"], ["img_32168.jpg"], ["img_42945.jpg"], ["img_62638.jpg"], ["img_30.jpg"], ["img_13171.jpg"], ["img_90752.jpg"]], theme = 'peach' ) iface.launch()