Spaces:
Build error
Build error
| import gradio as gr | |
| import joblib | |
| import pandas as pd | |
| from datetime import datetime | |
| import numpy as np | |
| # Load the model and scaler | |
| model = joblib.load('crash_detection_model.pkl') | |
| scaler = joblib.load('scaler.pkl') | |
| # Define the prediction function | |
| def predict_crash(accel_x, accel_y, accel_z, gyro_x, gyro_y, gyro_z, timestamp): | |
| # Convert timestamp | |
| timestamp = pd.to_datetime(timestamp) | |
| hour_of_day = timestamp.hour | |
| day_of_week = timestamp.dayofweek | |
| # Create DataFrame | |
| sensor_data = pd.DataFrame([[accel_x, accel_y, accel_z, gyro_x, gyro_y, gyro_z, hour_of_day, day_of_week]], | |
| columns=['accel_x', 'accel_y', 'accel_z', 'gyro_x', 'gyro_y', 'gyro_z', 'hour_of_day', 'day_of_week']) | |
| # Scale the input data | |
| sensor_data_scaled = scaler.transform(sensor_data) | |
| # Predict crash | |
| prediction = model.predict(sensor_data_scaled) | |
| return "Crash Detected" if prediction[0] == 1 else "No Crash Detected" | |
| # Create Gradio interface | |
| iface = gr.Interface( | |
| fn=predict_crash, | |
| inputs=[ | |
| gr.Number(label="Accelerometer X"), | |
| gr.Number(label="Accelerometer Y"), | |
| gr.Number(label="Accelerometer Z"), | |
| gr.Number(label="Gyroscope X"), | |
| gr.Number(label="Gyroscope Y"), | |
| gr.Number(label="Gyroscope Z"), | |
| gr.Textbox(label="Timestamp (YYYY-MM-DD HH:MM:SS)") | |
| ], | |
| outputs="text", | |
| title="Crash Detection Model", | |
| description="Predicts if a crash has occurred based on accelerometer and gyroscope data." | |
| ) | |
| # Launch the Gradio app | |
| if __name__ == "__main__": | |
| iface.launch() | |