Parthjain9925's picture
Update app3.py
79892f6
from keras.models import load_model
import numpy as np # linear algebra
import pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)
import matplotlib.pyplot as plt
from numpy import load
import gradio as gr
# from keras.datasets import mnist
import keras.utils.np_utils as ku
import keras.models as models
import keras.layers as layers
from keras import regularizers
import numpy.random as nr
# save numpy array as npy file
from numpy import asarray
from numpy import save
# save to npy file
import keras
from keras.layers import Dropout
from keras.preprocessing.image import ImageDataGenerator
from tensorflow.keras.optimizers import RMSprop,Adam
from tensorflow.keras.layers import BatchNormalization
from sklearn.metrics import confusion_matrix
import warnings
warnings.simplefilter(action='ignore')
from PIL import Image, ImageFilter
# %matplotlib inline
from tensorflow.keras.preprocessing.image import ImageDataGenerator
nn = load_model('my_model-2.h5')
def predict_image(img):
print("Digit Recognizer")
img_3d=img.reshape(-1,28,28)
im_resize=img_3d/255.0
prediction=nn.predict(im_resize).tolist()[0]
return {str(i):prediction[i] for i in range(10)}
'''
with gr.Blocks() as demo:
gr.Title("Digit Recognizer")
ac_inputs=gr.Sketchpad()
ac_outputs=gr.outputs.Label(num_top_classes=3)
greet_btn = gr.Button("Greet")
gr.interface(fn=predict_image, inputs="sketchpad",outputs=gr.outputs.Label(num_top_classes=3))
'''
label=gr.outputs.Label(num_top_classes=3)
iface=gr.Interface(predict_image, inputs="sketchpad",outputs=label,title=f"Digit Recognizer",allow_flagging='manual',description="Note:Draw Digits from 0-9 and Try to Draw the Digit in the center for better accuracy")
iface.launch(debug='True')