import gradio as gr import torch, numpy as np, pandas as pd import skimage import pickle default_columns = [ 'Wind', 'Max Temperature', 'Min Temperature', 'Precipitation', ] options = [ 'drizzle', 'fog', 'rain', 'snow', 'sun', ] with open("model.pkl", "rb") as f: model = pickle.load(f) def predict(wind, max_temp, min_temp, precipitation): f_wind = float(wind) f_max_temp = float(max_temp) f_min_temp = float(min_temp) f_precipitation = float(precipitation) default = [ f_wind, f_max_temp, f_min_temp, f_precipitation, ] df = pd.DataFrame([default], columns=default_columns) prediction = model.predict(df) return options[prediction[0]] iface = gr.Interface( fn=predict, title="Weather Prediction", allow_flagging="never", inputs=[ gr.inputs.Slider(0, 100, default=50, label="Wind"), gr.inputs.Slider(0, 100, default=50, label="Max Temperature"), gr.inputs.Slider(0, 100, default=50, label="Min Temperature"), gr.inputs.Slider(0, 100, default=50, label="Precipitation"), ], outputs=[ gr.outputs.Label(label="Weather"), ], ) iface.launch()