import numpy as np import gradio as gr import tensorflow as tf model = tf.keras.models.load_model('ev2m') classes = np.loadtxt('classes.txt', dtype=str) classes.sort() classes = list(classes[:20]) classes.append('other') def pred(image): image = np.array(image) / 255.0 image = tf.image.resize(image, (480, 480)) image = tf.keras.preprocessing.image.img_to_array(image) pred = model.predict(np.expand_dims(image, axis=0)) return {classes[i]: float(pred[0][i]) for i in range(len(classes))} demo = gr.Interface(fn=pred, inputs="image", outputs="label") demo.launch()