import gradio as gr from tensorflow.keras.models import Sequential model = Sequential([ layers.experimental.preprocessing.Rescaling(1./255, input_shape=(img_height, img_width, 3)), layers.Conv2D(16, 3, padding='same', activation='relu'), layers.MaxPooling2D(), layers.Conv2D(32, 3, padding='same', activation='relu'), layers.MaxPooling2D(), layers.Conv2D(64, 3, padding='same', activation='relu'), layers.MaxPooling2D(), layers.Flatten(), layers.Dense(128, activation='relu'), layers.Dense(num_classes,activation='softmax') ]) def predict_image(img): img_2d=img.reshape(-1,180,180,3) prediction=model.predict(img_2d)[0] return {class_names[i]: float(prediction[i]) for i in range(5)} image = gr.inputs.Image(shape=(180,180)) label = gr.outputs.Label(num_top_classes=5) gr.Interface(fn=predict_image, inputs=image, outputs=label,interpretation='default').launch()