|
|
import gradio as gr |
|
|
import joblib |
|
|
import pandas as pd |
|
|
from huggingface_hub import hf_hub_download |
|
|
|
|
|
|
|
|
model_path = hf_hub_download( |
|
|
repo_id="manjuprasads/predictive-maintenance-random-forest", |
|
|
filename="tuned_random_forest_model.pkl" |
|
|
) |
|
|
|
|
|
model = joblib.load(model_path) |
|
|
|
|
|
def predict_engine_condition( |
|
|
engine_rpm, |
|
|
lub_oil_pressure, |
|
|
fuel_pressure, |
|
|
coolant_pressure, |
|
|
lub_oil_temp, |
|
|
coolant_temp |
|
|
): |
|
|
data = pd.DataFrame([{ |
|
|
"engine_rpm": engine_rpm, |
|
|
"lub_oil_pressure": lub_oil_pressure, |
|
|
"fuel_pressure": fuel_pressure, |
|
|
"coolant_pressure": coolant_pressure, |
|
|
"lub_oil_temp": lub_oil_temp, |
|
|
"coolant_temp": coolant_temp |
|
|
}]) |
|
|
|
|
|
prediction = model.predict(data)[0] |
|
|
|
|
|
return "Maintenance Required" if prediction == 1 else "Normal Operation" |
|
|
|
|
|
demo = gr.Interface( |
|
|
fn=predict_engine_condition, |
|
|
inputs=[ |
|
|
gr.Number(label="Engine RPM"), |
|
|
gr.Number(label="Lubricating Oil Pressure"), |
|
|
gr.Number(label="Fuel Pressure"), |
|
|
gr.Number(label="Coolant Pressure"), |
|
|
gr.Number(label="Lubricating Oil Temperature"), |
|
|
gr.Number(label="Coolant Temperature"), |
|
|
], |
|
|
outputs="text", |
|
|
title="Predictive Maintenance – Engine Health", |
|
|
description="Enter engine sensor values to predict whether maintenance is required." |
|
|
) |
|
|
|
|
|
demo.launch() |