image_net / app.py
malihoseini's picture
Update app.py
1a9f609 verified
raw
history blame contribute delete
957 Bytes
import gradio as gr
import numpy as np
import tensorflow as tf
import json
import cv2
from os.path import dirname, realpath, join
current_dir = dirname(realpath(__file__))
with open(join(current_dir, 'image_labels.json')) as labels_file:
labels=json.load(labels_file)
mobile_net = tf.keras.applications.MobileNetV2()
def image_classifier(img):
img = cv2.resize(img, (224,224))
arr = np.expand_dims(img, axis=0)
arr = tf.keras.applications.mobilenet.preprocess_input(arr)
prediction = mobile_net.predict(arr).flatten()
return {labels[i]:float(prediction[i]) for i in range(1000)}
iface = gr.Interface(
image_classifier,
gr.Image(height=224, width=224),
gr.Label(num_top_classes = 3),
examples=[
['Komodo_dragon.jpg'],['tiger_shark.jpg'],['tench.jpg'],['hair_slide.jpg']
],
example_labels = ['Komodo_dragon','tiger_shark','tench','hair_slide']
)
if __name__ == '__main__':
iface.launch(share=True)