poem-bot / app.py
amanneo's picture
feat: Added required files
d84944c
raw
history blame
1.28 kB
import gradio as gr
import json
import numpy as np
import tensorflow as tf
from tensorflow.keras.preprocessing.text import Tokenizer
from tensorflow.keras.preprocessing.sequence import pad_sequences
# Static constants
model = tf.keras.Sequential([
tf.keras.layers.Embedding(vocab_size, 120, input_length=max_seq_len-1),
tf.keras.layers.Bidirectional(tf.keras.layers.LSTM(120)),
tf.keras.layers.Dense(vocab_size, activation='softmax')
])
model.load_weights("model_weight/")
word_token = json.load("word_token.json")
# Main function
def text_generator(seed_text,n):
for _ in range(n):
token_list = tokenizer.texts_to_sequences([seed_text])[0]
token_list = pad_sequences([token_list], maxlen=max_seq_len-1, padding='pre')
predicted = np.argmax(model.predict(token_list), axis=-1)
output_word = ""
output_word = word_token[predicted[0]]
if "0" in output_word[-1]:
output_word = output_word[:-1]
seed_text += " " + output_word +"."
break
seed_text += " " + output_word
return seed_text
iface = gr.Interface(
fn=text_generator,
inputs=["text","slider"],
outputs="text",
title="Poem Bot",
live=False
)
iface.launch()