Spaces:
Sleeping
Sleeping
| import tensorflow.keras.backend as K | |
| from tensorflow.keras.layers import LSTM | |
| from pickle import load | |
| import numpy as np | |
| import tensorflow as tf | |
| import gradio as gr | |
| model_V2 = 'ByteLevelLM.h5' | |
| K.clear_session() | |
| tf.keras.backend.clear_session() | |
| np.random.seed(42) | |
| tf.random.set_seed(42) | |
| HeNormal = tf.keras.initializers.he_normal() | |
| daily_V2 = tf.keras.models.load_model(model_V2, | |
| custom_objects={'HeNormal': HeNormal},compile=False) | |
| #Tokenizer | |
| def tokenize(): | |
| import json | |
| with open('Tokenizer.json', encoding='utf-8') as f: | |
| data = json.load(f) | |
| tokenizer = tf.keras.preprocessing.text.tokenizer_from_json(data) | |
| with open('index2char.json', encoding='utf-8') as f: | |
| index2char = json.load(f) | |
| char2index = dict((int(v),int(k)) for k,v in index2char.items()) | |
| tokenizer.word_index = char2index | |
| return tokenizer | |
| def model2_preds(news_headline_input): | |
| headline = news_headline_input | |
| headline = '<s>' + headline + '<\s' | |
| tokenizer = tokenize() | |
| sample_2 = headline.encode('utf-8') | |
| sample_2 = tokenizer.texts_to_sequences([sample_2]) | |
| predict_v2 = daily_V2.predict(sample_2, verbose = 0)[0,0] | |
| # app_type = ui_display(title = "Model 2 Predictions (256 Bits Embeddings)") | |
| return "Probability of Buy Signal from News Headline/s: %f" % predict_v2 | |
| # Create an instance of the Gradio Interface application function with the appropriate parameters. | |
| app = gr.Interface(fn=model2_preds, | |
| title="Event Driven Trading (Byte Level Language Modelling)", | |
| description='News headlines from OverNight concatenated for next day Buy/Sell Probability/Signal', | |
| inputs = gr.Textbox(label="News Headline/s", info='Separate several news headlines by a space'), | |
| outputs=gr.Textbox(show_label = True,label="Prediction", info='This is the probability to buy at market close today and sell market close tomorrow'), | |
| submit_btn = 'Predict') | |
| # Launch the app | |
| if __name__ == '__main__': | |
| app.launch(share=True) | |