File size: 1,163 Bytes
651f27d
 
724adcd
651f27d
 
07ab9cf
 
651f27d
 
 
 
 
 
07ab9cf
651f27d
07ab9cf
 
 
 
 
 
651f27d
07ab9cf
651f27d
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
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()