gtsrb / app.py
Bazyl
rounding and remaking 5 results
85de7ad
from transformers import pipeline
from PIL import Image
import os
import gradio as gr
from timeit import default_timer as timer
from typing import Tuple, Dict
def predict(img) -> Tuple[Dict, float]:
start_time = timer()
classifier = pipeline("image-classification", model="bazyl/gtsrb-model")
result = classifier(img, top_k=5)
response = {result[i]["label"]: result[i]["score"] for i in range(len(result))}
pred_time = round(timer() - start_time, 3)
return response, pred_time
title = "GTSRB - German Traffic Sign Recognition by Bazyl Horsey"
description = "CNN created for the GTSRB Dataset, achieved 99.93% test accuracy"
# Create examples list from "examples/" directory
example_list = [["examples/" + example] for example in os.listdir("examples")]
# Create Gradio interface
demo = gr.Interface(
fn=predict,
inputs=gr.Image(type="pil"),
outputs=[
gr.Label(num_top_classes=5, label="Predictions"),
gr.Number(label="Prediction time (s)"),
],
examples=example_list,
title=title,
description=description,
)
# Launch the app!
demo.launch()