import requests import tensorflow as tf inception_net = tf.keras.applications.MobileNetV2() import requests response = requests.get("https://git.io/JJkYN") labels = response.text.split("\n") title = "Image Classifier Three -- Keras Mobile Net" description = """This machine has vision. It can see objects and concepts in an image. To test the machine, upload or drop an image, submit and read the results. The results comprise a list of words that the machine sees in the image. Beside a word, the length of the bar indicates the confidence with which the machine sees the word. The longer the bar, the more confident the machine is. """ article = "This app was made by following [this Gradio guide](https://gradio.app/image_classification_in_tensorflow/)." 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() confidences = {labels[i]: float(prediction[i]) for i in range(1000)} return confidences import gradio as gr gr.Interface(fn=classify_image, inputs=gr.inputs.Image(shape=(224, 224)), outputs=gr.outputs.Label(num_top_classes=3), title=title, description=description, article=article).launch()