bhavyapandya's picture
Update app.py
75a8b15
raw
history blame
1.25 kB
import gradio as gr
import numpy as np
from tensorflow import keras
import tensorflow as tf
import pickle
from tensorflow.keras.models import load_model
from tensorflow.keras.preprocessing.sequence import pad_sequences
pickle_open = open("tokenizer.pkl","rb")
tokenizer = pickle.load(pickle_open)
model = load_model("model.h5")
pickle_open.close()
def predict(text):
example = tokenizer.texts_to_sequences([text])
example = pad_sequences(example, maxlen=2)
prediction = model.predict(np.array(example))
predictions = []
sorted_ = np.sort(prediction[0])[::-1]
for i in sorted_[:5]:
predictions.append(np.where(prediction[0] == i)[0])
predicted_words = []
reverse_word_map = dict(map(reversed, tokenizer.word_index.items()))
for i in predictions:
predicted_words.append(reverse_word_map[i[0]])
return predicted_words
input_text = gr.inputs.Textbox(lines=1, placeholder="Enter sentence or word here...")
output_text = gr.outputs.Textbox()
title = "Next Word Prediction"
description = "Enter some text or sentence or word and get the next 5 possible autocompletion words"
gr.Interface(fn=predict, inputs=input_text, outputs=output_text, title=title, description=description).launch()