import tensorflow from tensorflow.keras.datasets import imdb from tensorflow import keras import gradio as gr import numpy as np rnn = keras.models.load_model('model.h5') words_per_review = 200 word_to_index = imdb.get_word_index() # Створення функції для оцінки коментаря def predict_comment_score(comment): class_names = ["Negative", "Positive"] words = comment.split() print(len(words)) indexes = np.zeros(words_per_review).astype(int) indexes[words_per_review -len(words) - 1] = 1 for i, word in enumerate(words): indexes[words_per_review -len(words) + i] = word_to_index.get(word, 0) + 3 indexes = np.expand_dims(indexes, axis=0) predictions = rnn.predict(indexes) prediction = { } prediction["Negative"] = float(np.round(1 - predictions[0], 3)) prediction["Positive"] = float(np.round(predictions[0], 3)) return prediction demo = gr.Blocks() # Створення інтерфейсу Gradio with demo: with gr.Tab("Predict comment score"): image_input = gr.TextArea(label="Enter a comment") output = gr.Label(label="Comment score") image_button = gr.Button("Predict") image_button.click(predict_comment_score, inputs=image_input, outputs=output) demo.launch()