imdebamrita's picture
A blank line is removed to rebuild
0ec02ff
raw
history blame contribute delete
No virus
1.54 kB
import gradio as gr
from gradio import Interface
import tensorflow as tf
from tensorflow import keras
from tensorflow.keras import datasets, layers, models
import numpy as np
(X_train, y_train) , (X_test, y_test) = keras.datasets.mnist.load_data()
X_train = np.concatenate((X_train, X_test))
y_train = np.concatenate((y_train, y_test))
X_train = X_train / 255
X_test = X_test / 255
data_augmentation = keras.Sequential([
tf.keras.layers.experimental.preprocessing.RandomRotation(0.2, input_shape=(28, 28, 1)),
])
model = models.Sequential([
data_augmentation,
#cnn
layers.Conv2D(filters=32, kernel_size=(3,3), padding='same', activation='relu'),
layers.MaxPooling2D((2,2)),
layers.Conv2D(filters=32, kernel_size=(3,3), padding='same', activation='relu'),
layers.MaxPooling2D((2,2)),
#dense
layers.Flatten(),
layers.Dense(32, activation='relu'),
layers.Dense(10, activation='softmax'),
])
model.compile(optimizer='adam',
loss='sparse_categorical_crossentropy',
metrics=['accuracy'])
model.fit(X_train, y_train, epochs=5)
def predict_image(img):
img_3d = img.reshape(-1, 28,28)
img_scaled = img_3d/255
prediction = model.predict(img_scaled)
pred = np.argmax(prediction)
return pred.item()
iface = gr.Interface(predict_image, inputs='sketchpad', outputs='label', title='Digit Recognition Model By Debamrita Paul', description='Draw a single digit(0 to 9)', __gradio_theme='dark')
iface.launch()