|
|
|
import requests |
|
import tensorflow as tf |
|
|
|
import gradio as gr |
|
|
|
inception_net = tf.keras.applications.MobileNetV2() |
|
|
|
response = requests.get("https://git.io/JJkYN") |
|
labels = response.text.split("\n") |
|
|
|
|
|
def classify_image(inp): |
|
inp = inp.reshape((-1, 224, 224, 3)) |
|
inp = tf.keras.applications.mobilenet_v2.preprocess_input(inp) |
|
prediction = inception_net.predict(inp).flatten() |
|
return {labels[i]: float(prediction[i]) for i in range(1000)} |
|
|
|
|
|
title = "Image Classifiction + Interpretation" |
|
description = """ |
|
Task: Image Classification\n |
|
Dataset: COCO 2017, 1,000 classes\n |
|
Model: https://huggingface.co/google/mobilenet_v2_1.0_224\n |
|
Developer: Google \n |
|
""" |
|
image = gr.Image(shape=(224, 224)) |
|
label = gr.Label(num_top_classes=3) |
|
examples = [ |
|
["buger.jpg"], |
|
["goldfish.jpg"], |
|
["lake-house.jpg"], |
|
["truck.jpg"], |
|
] |
|
|
|
demo = gr.Interface( |
|
fn=classify_image, |
|
inputs=image, |
|
outputs=label, |
|
interpretation="default", |
|
title=title, |
|
description=description, |
|
examples=examples, |
|
theme="freddyaboulton/dracula_revamped", |
|
) |
|
|
|
demo.launch() |
|
|