File size: 2,979 Bytes
df617cd
 
 
 
 
e86c91a
df617cd
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
import gradio as gr
import imageio.v3 as iio
from PIL import Image
import hopsworks

project = hopsworks.login(api_key_value='U6PiDFwDVDQHP26X.XhXDZQ9QKiNwafhLh11PUntcyYW5Zp8aoXhoj1IJTGHDBu8owQJUKbFClHaehyMU')
fs = project.get_feature_store()

dataset_api = project.get_dataset_api()

dataset_api.download("Resources/images/latest_bitcoin_fluctuation_prediction_2.png", overwrite=True)
dataset_api.download("Resources/images/latest_bitcoin_fluctuation_actual_2.png", overwrite=True)
dataset_api.download("Resources/images/df_recent_2.png", overwrite=True)
dataset_api.download("Resources/images/confusion_matrix_2.png", overwrite=True)

def update():
    dataset_api.download("Resources/images/latest_bitcoin_fluctuation_prediction_2.png", overwrite=True)
    dataset_api.download("Resources/images/latest_bitcoin_fluctuation_actual_2.png", overwrite=True)
    dataset_api.download("Resources/images/df_recent_2.png", overwrite=True)
    dataset_api.download("Resources/images/confusion_matrix_2.png", overwrite=True)

def update_fluctuation_prediction_img():
    im_pred = iio.imread('latest_bitcoin_fluctuation_prediction_2.png')
    return im_pred

def update_actual_fluctuation_img():
    im_act = iio.imread('latest_bitcoin_fluctuation_actual_2.png')
    return im_act

def update_df_recent_img():
    im_hist = iio.imread('df_recent_2.png')
    return im_hist

def update_confusion_matrix_img():
    im_matr = iio.imread('confusion_matrix_2.png')
    return im_matr

with gr.Blocks() as demo:
    with gr.Row():
      gr.Markdown(
        """
        # Bitcoin Twitter Sentiment Predictor Monitor v2
        Model version build upon hyperparameter tuning for max. f-1 score.
        """
        )
    with gr.Row():
        load=gr.Button("Load Images")
        load.click(fn=update)
    with gr.Row():
        refresh=gr.Button("Refresh (wait 10 seconds after loading images before refreshing")
        
    with gr.Row():
      with gr.Column():
        gr.Label("Today's Predicted Image")
        input_img_pred = gr.Image("latest_bitcoin_fluctuation_prediction_2.png", elem_id="predicted-img")
        refresh.click(update_fluctuation_prediction_img,outputs=input_img_pred)

      with gr.Column():          
        gr.Label("Today's Actual Image")
        input_img_act = gr.Image("latest_bitcoin_fluctuation_actual_2.png", elem_id="actual-img")
        refresh.click(update_actual_fluctuation_img,outputs=input_img_act)
        
    with gr.Row():
      with gr.Column():
        gr.Label("Recent Prediction History")
        input_img_hist = gr.Image("df_recent_2.png", elem_id="recent-predictions")
        refresh.click(update_df_recent_img,outputs=input_img_hist)

      with gr.Column():          
        gr.Label("Confusion Maxtrix with Historical Prediction Performance")
        input_img_matr = gr.Image("confusion_matrix_2.png", elem_id="confusion-matrix")  
        refresh.click(update_confusion_matrix_img,outputs=input_img_matr)
      

demo.launch()