import gradio as gr import numpy as np import tensorflow as tf import json from os.path import dirname, realpath, join import matplotlib.pyplot as plt 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): arr = np.expand_dims(img, axis=0) arr = tf.keras.applications.mobilenet.preprocess_input(arr) prediction = mobile_net.prediction(arr).flatten() return {labels[i]:float(prediction[i]) for i in range(1000)} iface = gr.Interface( image_classifier, gr.inputs.Image(height=224, width=224), gr.outputs.Label(num_top_classes=3), capture_session=True, interpretation='default', ) if __name__ == '__main__': iface.launch(share=True)