File size: 1,202 Bytes
74be9b2 e452513 74be9b2 252d274 6fcc800 e452513 6fcc800 74be9b2 6fcc800 74be9b2 6fcc800 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
import gradio as gr
import json
import pickle
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
max_seq_len = 18
model = tf.keras.models.load_model('poembot_weight.h5')
with open('tokenizer.pickle', 'rb') as handle:
tokenizer = pickle.load(handle)
with open("word_token.json") as wt:
word_token = json.load(wt)
# 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.get(str(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(debug=True)
|