pn / app.py
lun0tic-j's picture
Update app.py
5b48efb verified
Raw
History Blame Contribute Delete
1.18 kB
import gradio as gr
import tensorflow as tf
from tensorflow.keras.preprocessing.sequence import pad_sequences
import numpy as np
import pickle
# ํ† ํฌ๋‚˜์ด์ € ๋ถˆ๋Ÿฌ์˜ค๊ธฐ
with open('tokenizer.pickle', 'rb') as handle:
tokenizer = pickle.load(handle)
# ํ…์ŠคํŠธ ์ƒ์„ฑ ๋ชจ๋ธ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ
model = tf.keras.models.load_model("text_generation_model")
# ์‚ฌ์šฉ์ž ์ž…๋ ฅ ๋ฐ›๊ธฐ
user_input = input("ํ…์ŠคํŠธ ์ƒ์„ฑ์„ ์‹œ์ž‘ํ•  ๋‹จ์–ด๋ฅผ ์ž…๋ ฅํ•˜์„ธ์š”: ")
# ํ…์ŠคํŠธ ์ƒ์„ฑ ํ•จ์ˆ˜ ์ •์˜
def generate_text(seed_text, next_words, max_sequence_len):
for _ in range(next_words):
token_list = tokenizer.texts_to_sequences([seed_text])[0]
token_list = pad_sequences([token_list], maxlen=max_sequence_len-1, padding='pre')
predicted = model.predict_classes(token_list, verbose=0)
output_word = ""
for word, index in tokenizer.word_index.items():
if index == predicted:
output_word = word
break
seed_text += " " + output_word
return seed_text
# ํ…์ŠคํŠธ ์ƒ์„ฑ
generated_text = generate_text(user_input, next_words=50, max_sequence_len=25)
print(generated_text)