gradio/demo/image_classifier/run.py

21 lines
724 B
Python
Raw Normal View History

import gradio as gr
import tensorflow as tf
import requests
inception_net = tf.keras.applications.MobileNetV2() # load the model
# Download human-readable labels for ImageNet.
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)}
image = gr.inputs.Image(shape=(224, 224))
label = gr.outputs.Label(num_top_classes=3)
2021-12-22 16:45:23 +08:00
gr.Interface(fn=classify_image, inputs=image, outputs=label, examples=[
["images/cheetah1.jpg"], ["images/lion.jpg"]]).launch()