Spaces:
Runtime error
Runtime error
| import gradio as gr | |
| import tensorflow as tf | |
| import numpy as np | |
| # ---------------------------------------------------- | |
| # ЗАГРУЗКА МОДЕЛИ | |
| # ---------------------------------------------------- | |
| # Предполагается, что модель сохранена в папке "model" | |
| model = tf.keras.models.load_model("model") | |
| # Если вы использовали токенизатор (например Keras Tokenizer), | |
| # загрузите его из pickle | |
| import pickle | |
| with open("tokenizer.pkl", "rb") as f: | |
| tokenizer = pickle.load(f) | |
| # Метки классов | |
| EMOTIONS = ["neutral", "joy", "sadness", "anger", "fear", "surprise"] | |
| # поменяйте на свои реальные метки | |
| # ---------------------------------------------------- | |
| # ФУНКЦИЯ ПРЕДСКАЗАНИЯ | |
| # ---------------------------------------------------- | |
| def predict(text): | |
| # Преобразуем текст в sequence | |
| seq = tokenizer.texts_to_sequences([text]) | |
| # Паддинг — на ту длину, на которой обучалась модель | |
| padded = tf.keras.preprocessing.sequence.pad_sequences(seq, maxlen=100) | |
| # Получаем предсказание | |
| preds = model.predict(padded)[0] | |
| # Находим класс | |
| emotion_idx = np.argmax(preds) | |
| emotion = EMOTIONS[emotion_idx] | |
| # Вернём все вероятности (удобно для вывода) | |
| return {EMOTIONS[i]: float(preds[i]) for i in range(len(EMOTIONS))} | |
| # ---------------------------------------------------- | |
| # GRADIO UI | |
| # ---------------------------------------------------- | |
| iface = gr.Interface( | |
| fn=predict, | |
| inputs=gr.Textbox(label="Введите текст"), | |
| outputs=gr.Label(num_top_classes=6, label="Эмоции"), | |
| title="Emotion Classification", | |
| description="Классификация эмоций по тексту с использованием Keras модели" | |
| ) | |
| iface.launch() |