kmsmohamedansar commited on
Commit
8485fd5
·
verified ·
1 Parent(s): 621ef15

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +26 -24
app.py CHANGED
@@ -3,38 +3,40 @@ import pickle
3
  import numpy as np
4
  from sklearn.preprocessing import StandardScaler
5
 
6
- # Load the model
7
  def load_model():
8
  with open("rf_model.pkl", "rb") as f:
9
- model = pickle.load(f)
10
- return model
11
 
12
- # Make predictions with the model
13
- def predict(model, feature1, feature2, feature3, feature4, feature5):
14
- new_data = np.array([[feature1, feature2, feature3, feature4, feature5]])
15
- scaler = StandardScaler()
16
- new_data_scaled = scaler.fit_transform(new_data) # Standardize the data
17
- return model.predict(new_data_scaled)[0]
18
 
19
- # Gradio Interface
20
  def main():
21
  model = load_model()
22
-
23
  inputs = [
24
- gr.Slider(minimum=0, maximum=10, value=5, label="Feature 1"),
25
- gr.Slider(minimum=0, maximum=10, value=3, label="Feature 2"),
26
- gr.Slider(minimum=0, maximum=10, value=7, label="Feature 3"),
27
- gr.Slider(minimum=0, maximum=10, value=6, label="Feature 4"),
28
- gr.Slider(minimum=0, maximum=10, value=4, label="Feature 5")
29
  ]
30
-
31
- output = gr.Textbox()
32
 
33
- # Launch the Gradio interface without the gpu argument
34
- gr.Interface(
35
- fn=lambda feature1, feature2, feature3, feature4, feature5: predict(model, feature1, feature2, feature3, feature4, feature5),
36
- inputs=inputs, outputs=output, live=True
37
- ).launch()
 
 
 
38
 
39
- if __name__ == '__main__':
 
 
 
40
  main()
 
3
  import numpy as np
4
  from sklearn.preprocessing import StandardScaler
5
 
6
+ # 1) Load the model from the file you uploaded
7
  def load_model():
8
  with open("rf_model.pkl", "rb") as f:
9
+ return pickle.load(f)
 
10
 
11
+ # 2) Prediction logic
12
+ def predict(model, f1, f2, f3, f4, f5):
13
+ X = np.array([[f1, f2, f3, f4, f5]])
14
+ X_scaled = StandardScaler().fit_transform(X)
15
+ return model.predict(X_scaled)[0]
 
16
 
17
+ # 3) Build & launch the Gradio interface
18
  def main():
19
  model = load_model()
 
20
  inputs = [
21
+ gr.Slider(0, 10, value=5, label="Feature 1"),
22
+ gr.Slider(0, 10, value=3, label="Feature 2"),
23
+ gr.Slider(0, 10, value=7, label="Feature 3"),
24
+ gr.Slider(0, 10, value=6, label="Feature 4"),
25
+ gr.Slider(0, 10, value=4, label="Feature 5")
26
  ]
27
+ output = gr.Textbox(label="Prediction")
 
28
 
29
+ demo = gr.Interface(
30
+ fn=lambda f1, f2, f3, f4, f5: predict(model, f1, f2, f3, f4, f5),
31
+ inputs=inputs,
32
+ outputs=output,
33
+ live=True,
34
+ title="TaskMaster Job Scheduler",
35
+ description="Random Forest inference on 5 features"
36
+ )
37
 
38
+ # Disable SSR so it stays up on Spaces
39
+ demo.launch(ssr=False)
40
+
41
+ if __name__ == "__main__":
42
  main()