Spaces:
Sleeping
Sleeping
import gradio as gr | |
import pickle | |
import matplotlib.pyplot as plt | |
import numpy as np | |
import os | |
import PIL | |
import tensorflow as tf | |
from tensorflow import keras | |
from tensorflow.keras import layers | |
from keras.models import load_model | |
img_height,img_width=180,180 | |
model_flower = load_model('model_flower.h5') | |
from tensorflow.keras.models import Sequential | |
num_classes = 5 | |
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') | |
]) | |
model.compile(optimizer='adam', | |
loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True), | |
metrics=['accuracy']) | |
def predict_image(img): | |
img_2d=img.reshape(-1,180,180,3) | |
prediction=model_flower.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() |