Omar Sanseviero
Update app.py
8ffe3e9
import tensorflow.compat.v2 as tf
import tensorflow_hub as hub
import numpy as np
import pandas as pd
import cv2
import gradio as gr
model = hub.KerasLayer('https://tfhub.dev/google/aiy/vision/classifier/food_V1/1')
labelmap_url = "https://www.gstatic.com/aihub/tfhub/labelmaps/aiy_food_V1_labelmap.csv"
input_shape = (224, 224)
classes = list(pd.read_csv(labelmap_url)["name"])
def classify_image(image):
image = image.reshape((-1, 224, 224, 3))
image = image / image.max()
output = model(image)
output = list(output)[0]
return {classes[i]: float(output[i]) for i in range(len(classes))}
image = gr.inputs.Image(shape=(224, 224))
label = gr.outputs.Label(num_top_classes=8)
gr.Interface(
fn=classify_image,
inputs=image,
outputs=label,
description="Demo of TF Hub-hosted model aiy/vision/classifier/food_V1",
article="This demo is a proof-of-concept inspired in https://tfhub.dev/google/aiy/vision/classifier/food_V1/1",
examples=[["cake.jpg"]],
).launch()