Bangla / app.py
RohanSardar's picture
Update app.py
a655577 verified
import gradio as gr
import numpy as np
import tensorflow as tf
model = tf.keras.models.load_model('model.h5')
def softmax(x):
e_x = np.exp(x - np.max(x))
return e_x / e_x.sum()
def temp(image):
img = (image['composite'])
img = np.expand_dims(img, axis=0).astype('float32')
img = np.expand_dims(img, axis=3).astype('float32')
y_pred = model.predict(img)
prediction = {0:'অ', 1:'আ', 3:'ই', 4:'ঈ', 5:'উ', 6:'ঊ', 7:'ঋ', 8:'এ', 9:'ঐ', 10:'ও', 2:'ঔ'}
for i in range(11):
if np.argmax(softmax(y_pred[0])) == i:
return prediction[i]
iface = gr.Interface(
title = 'স্বরবর্ণ Classifier',
description = 'An experimental project to try handwritten bengali স্বরবর্ণ classification',
thumbnail = 'thumb.png',
article = 'There are 11 স্বরবর্ণ (SWARABARNA) in bengali alphabet system; just write any of them and it will predict: অ, আ, ই, ঈ, উ, ঊ, ঋ, এ, ঐ, ও, ঔ',
theme = 'gstaff/whiteboard',
fn = temp,
inputs = gr.Sketchpad(crop_size=(28,28), type='numpy', image_mode='L', brush=gr.Brush()),
outputs = gr.Label(label='predicted letter'),
)
iface.launch()