Aurora / app.py
NeoonN's picture
Update app.py
94a9e16
raw
history blame contribute delete
No virus
1.82 kB
import gradio as gr
import numpy as np
import pandas as pd
from pandas.core.frame import DataFrame
from PIL import Image
import requests
import hopsworks
import joblib
project = hopsworks.login()
fs = project.get_feature_store()
mr = project.get_model_registry()
model = mr.get_model("aurora_model", version=1)
model_dir = model.download()
model = joblib.load(model_dir+"/aurora_model.pkl")
def tb_aurora(Kp_index, visibility, icon):
input_list = []
input_list.append(Kp_index)
input_list.append(visibility)
input_icon = icon
icon_feature_list = ['clear_day', 'clear_night', 'cloudy', 'fog', 'partly_cloudy_day', 'partly_cloudy_night', 'rain',
'snow', 'wind']
icon_feature_list.append(input_icon)
icon_df = DataFrame(icon_feature_list)
icon_df_one = pd.get_dummies(icon_df)
icon = icon_df_one.values.tolist()[9]
input_list.extend(icon)
print(input_list)
# 'res' is a list of predictions returned as the label.
# global res
res = model.predict(np.asarray(input_list).reshape(1, 11))
aurora_url = "https://raw.githubusercontent.com/NeoForNew/ID2223_scalable_machine_learning_and_deep_learning/main/Project/pic/" + str(res[0]) + ".png"
img = Image.open(requests.get(aurora_url, stream=True).raw)
return img
demo = gr.Interface(
fn=tb_aurora,
title="Aurora Predictive Analytics",
description="Predict aurora 0 for not occur and 1 for occur. ",
inputs=[
gr.inputs.Number(default=0.0, label="Kp_index"),
gr.inputs.Number(default=0.0, label="visibility"),
gr.inputs.Dropdown(['clear_day', 'clear_night', 'cloudy', 'fog', 'partly_cloudy_day', 'partly_cloudy_night', 'rain',
'snow', 'wind'], label="icon"),
],
outputs=gr.Image(type="pil"))
demo.launch()