Spaces:
Sleeping
Sleeping
File size: 2,436 Bytes
ee3c55d ee1abf0 9799a89 ee3c55d de6820c 50b9d16 de6820c ee3c55d de6820c ee3c55d |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
import gradio as gr
import joblib
import numpy as np
# Load the trained model
model = joblib.load("decision_tree_regressor_model.pkl")
# Define the prediction function
def predict_rpm(
TM, U_percent, Thin, Thick, Neps, IPI, HI, ARKM, RKM_CV, MRKM, Elongation, Elon_CV
):
features = np.array([
TM, U_percent, Thin, Thick, Neps, IPI, HI, ARKM, RKM_CV, MRKM, Elongation, Elon_CV
]).reshape(1, -1)
prediction = model.predict(features)
return round(prediction[0], 2)
# Define sliders for each feature
sliders = [
gr.Slider(minimum=3.8, maximum=4.2, step=0.1, label="TM"),
gr.Slider(minimum=9.42, maximum=10.16, step=0.01, label="U_percent"),
gr.Slider(minimum=0.0, maximum=4, step=1, label="Thin"),
gr.Slider(minimum=18.0, maximum=40, step=1, label="Thick"),
gr.Slider(minimum=56, maximum=101.0, step=1, label="Neps"),
gr.Slider(minimum=89, maximum=122.0, step=1, label="IPI"),
gr.Slider(minimum=3.51, maximum=4.45, step=0.1, label="HI"),
gr.Slider(minimum=18.7, maximum=20.24, step=0.1, label="ARKM"),
gr.Slider(minimum=6.89, maximum=8.6, step=0.1, label="RKM_CV"),
gr.Slider(minimum=13.55, maximum=15.95, step=0.1, label="MRKM"),
gr.Slider(minimum=3.75, maximum=5.52, step=0.1, label="Elongation"),
gr.Slider(minimum=8.04, maximum=10.54, step=0.1, label="Elon_CV"),
]
with gr.Blocks() as demo:
gr.Markdown("## Loom RPM Prediction App")
gr.Markdown("Adjust sliders for 12 features to predict Loom RPM using a Decision Tree Regressor.")
with gr.Row():
sliders_row1 = sliders[0:4]
for slider in sliders_row1:
slider.render()
with gr.Row():
sliders_row2 = sliders[4:8]
for slider in sliders_row2:
slider.render()
with gr.Row():
sliders_row3 = sliders[8:12]
for slider in sliders_row3:
slider.render()
output = gr.Number(label="Predicted RPM")
predict_btn = gr.Button("Predict RPM")
predict_btn.click(
fn=predict_rpm,
inputs=sliders,
outputs=output
)
# Create the interface
# demo = gr.Interface(
# fn=predict_rpm,
# inputs=sliders,
# outputs=gr.Number(label="Predicted RPM"),
# title="RPM Prediction App",
# description="Adjust the sliders for each of the 12 features to predict the RPM."
# )
if __name__ == "__main__":
demo.launch()
|