import gradio as gr import pickle import numpy as np from sklearn.preprocessing import StandardScaler # Load the pre-trained model at startup with open("rf_model.pkl", "rb") as f: MODEL = pickle.load(f) def predict(f1, f2, f3, f4, f5): data = np.array([[f1, f2, f3, f4, f5]]) scaled = StandardScaler().fit_transform(data) return int(MODEL.predict(scaled)[0]) if __name__ == "__main__": demo = gr.Interface( fn=predict, inputs=[ gr.Slider(0, 10, value=5, label="Feature 1"), gr.Slider(0, 10, value=3, label="Feature 2"), gr.Slider(0, 10, value=7, label="Feature 3"), gr.Slider(0, 10, value=6, label="Feature 4"), gr.Slider(0, 10, value=4, label="Feature 5"), ], outputs=gr.Textbox(label="Prediction"), title="🐨 TaskMaster Job Scheduler", description="Enter five features and get a RandomForest prediction.", ) demo.launch() # on Spaces, this binds to 0.0.0.0:7860 and blocks the process