eman-khalaf's picture
Update app.py
07ab9cf
import pickle
import gradio as gr
import tensorflow as tf
from tensorflow.keras.layers import TextVectorization
def sentiment_pred2(text):
load_vectorizer = pickle.load(open("tv_layer.pkl", "rb"))
new_vectorizer = TextVectorization.from_config(load_vectorizer['config'])
# You have to call `adapt` with some dummy data (BUG in Keras)
new_vectorizer.adapt(tf.data.Dataset.from_tensor_slices(["xyz"])) #some argues that it is not necessary
new_vectorizer.set_weights(load_vectorizer['weights'])
vectorized_text = new_vectorizer([text])
load_model = tf.keras.models.load_model('ar_sentiment_15_ep.h5')
result = load_model.predict([vectorized_text])
pred = np.argmax(result[0])+1
labels = ["نص يعبر عن الاستياء","نص يعبر عن الحياد","نص يعبر عن الثناء"]
print(pred)
print(np.argmax(pred))
print(labels[np.argmax(pred)-1])
return (labels[np.argmax(pred)-1])
interface = gr.Interface(fn=sentiment_pred2,
inputs=gr.inputs.Textbox(lines=2, placeholder='enter your text'),
outputs=["text"])
interface.launch()