Spaces:
Runtime error
Runtime error
File size: 2,343 Bytes
df02b79 31d4b6e 7f642aa a18be24 6efb943 2b3c38f df02b79 8604064 3fa008c 8604064 0549f6a df02b79 3fa008c 2339e41 3fa008c 2339e41 3fa008c df02b79 5900a6d 6efb943 5900a6d df02b79 3c55658 3fa008c 3c55658 43e9c7e 19aa63a 3c55658 df02b79 efa5092 1e52d4f df02b79 3fa008c c639849 df02b79 b5f6374 |
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 |
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() |