IIS_2023_1/antonov_dmitry_lab_7/for_test.py

35 lines
1.3 KiB
Python
Raw Normal View History

2023-10-12 21:19:26 +04:00
import numpy as np
from keras.models import load_model
from keras_preprocessing.sequence import pad_sequences
from keras_preprocessing.text import Tokenizer
from antonov_dmitry_lab_7.lab7 import tokenizer, max_sequence_length
# Step 3: Load the pre-trained model
model = load_model('my_model.h5') # Replace with the actual path to your model file
# Recreate the Tokenizer and compile the model (in case the model was not compiled before saving)
with open('small.txt', 'r') as file:
text = file.read()
tokenizer = Tokenizer()
tokenizer.fit_on_texts([text])
total_words = len(tokenizer.word_index) + 1
def generate_text(seed_text, next_words, model, max_sequence_length):
for _ in range(next_words):
token_list = tokenizer.texts_to_sequences([seed_text])[0]
token_list = pad_sequences([token_list], maxlen=max_sequence_length - 1, padding='pre')
predicted = np.argmax(model.predict(token_list), axis=-1)
output_word = ""
for word, index in tokenizer.word_index.items():
if index == predicted:
output_word = word
break
seed_text += " " + output_word
return seed_text
# Generate text using the loaded model (same as before)
generated_text = generate_text("Once upon a", 50, model, max_sequence_length)
print(generated_text)