CoolFace
Apppublic

ilham86/manufacturing_predictive_maintenance

sourceHugging Faceupdated 1y agoView on Hugging Face
0likes
prediction.py79 linesDownload Raw Back to src
1import streamlit as st2import pickle3import pandas as pd4from PIL import Image5import datetime6 7# Load File8 9with open('./src/model_best.pkl', 'rb') as file:10    best_pipe = pickle.load(file)11 12def run():13    # Title14    st.title('Equipment in Smart Manufacturing for Predictive Maintenance')15 16    # Sub Header17    st.subheader('Equipment Predictive Maintenance Prediction')18 19    # Image20    image = Image.open('./src/image2.jpg')21    st.image(image)22 23    # Create form24    with st.form(key='maintenance-prediction'):25 26        st.markdown('Data ID')27        date = st.date_input("Select a date")28        time = st.time_input("Select a time")29        timestamp = datetime.datetime.combine(date, time)30        machine_id = st.text_input('Machine ID', value='---machine id--')31 32        st.markdown('Equipment Operation Parameters')33        temperature = st.number_input('Temperature', min_value=0.00, max_value=200.00, value=0.00)34        vibration = st.number_input('Vibration', min_value=-20.00, max_value=200.00, value=0.00)35        humidity = st.number_input('Humidity', min_value=0.00, max_value=85.00, value=0.00)36        pressure = st.number_input('Pressure', min_value=0.00, max_value=6.00, value=0.00)37        energy_consumption = st.number_input('Energy Consumption', min_value=0.00, max_value=6.00, value=0.00)38 39        st.markdown('Equipment Status and Condition')40        machine_status = st.selectbox('Machine Status', (0, 1), index=0, help='0 = not running, 1 = running')41        anomaly_flag = st.selectbox('Anomaly Flag', (0, 1), index=0, help='0 = normal temperature & vibration, 1 = extreme temperature & vibration')42        predicted_remaining_life = st.number_input ('Remaining life Prediction', min_value=0, max_value=500, value=0)43        failure_type = st.selectbox('Failure Type', ('Normal', 'Vibration Issue', 'Overheating', 'Pressure Drop', 'Electrical Fault'), index=0)44        downtime_risk = st.number_input('Downtime Risk Score', min_value=0.00, max_value=1.00, value=0.00, help='range from 0-1')45 46        submitted = st.form_submit_button('Predict')47 48    # Data inference49    data_inf_input = {50        'timestamp': timestamp,51        'machine_id': machine_id,52        'temperature': temperature,53        'vibration': vibration,54        'humidity': humidity,55        'pressure': pressure,56        'energy_consumption': energy_consumption,57        'machine_status': machine_status,58        'anomaly_flag': anomaly_flag,59        'predicted_remaining_life': predicted_remaining_life,60        'failure_type': failure_type,61        'downtime_risk': downtime_risk,62    }63 64    # Data frame65    st.markdown('Data Summary:')66    data_inference = pd.DataFrame([data_inf_input])67    st.dataframe(data_inference)68 69    st.markdown('Result:')70    if submitted:71        # Prediction (0/1)72        pred = best_pipe.predict(data_inference)73        if pred == 1:74            st.write('### Equipment NEEDS Maintenance')75        else:76            st.write('### Equipment NO NEED Maintenance')77 78if __name__ == '__main__':79    run()