predict_weather / app.py
matheuscvp
fix
b4513b7
import gradio as gr
import torch, numpy as np, pandas as pd
import skimage
import pickle
default_columns = [
'precipitation',
'temp_max',
'temp_min',
'wind',
]
options = [
'drizzle',
'fog',
'rain',
'snow',
'sun',
]
with open("model.pkl", "rb") as f:
model = pickle.load(f)
with open("model2.pkl", "rb") as f:
model2 = pickle.load(f)
def predict(wind, temp_max, temp_min, precipitation):
f_precipitation = float(precipitation)
f_max_temp = float(temp_max)
f_min_temp = float(temp_min)
f_wind = float(wind)
default = [
f_precipitation,
f_max_temp,
f_min_temp,
f_wind,
]
df = pd.DataFrame([default], columns=default_columns)
prediction = model.predict(df)
prediction2 = model2.predict(df)
return [options[round(max(prediction))], options[round(max(prediction2))]]
iface = gr.Interface(
fn=predict,
title="Weather Prediction",
allow_flagging="never",
inputs=[
gr.inputs.Slider(0, 60, default=30, label="precipitation"),
gr.inputs.Slider(-10, 40, default=20, label="temp_max"),
gr.inputs.Slider(-10, 40, default=10, label="temp_min"),
gr.inputs.Slider(0, 10, default=5, label="wind"),
],
outputs=["text", "text"],
)
iface.launch()