Spaces:
Sleeping
Sleeping
| import tensorflow as tf | |
| import numpy as np | |
| import joblib | |
| import os | |
| def predict_marks(num_courses, time_study): | |
| # Load model and scalers | |
| if not (os.path.exists('student_marks_rnn_model.h5') and | |
| os.path.exists('scaler_X.pkl') and | |
| os.path.exists('scaler_y.pkl')): | |
| return "Error: Model or scalers not found. Please run train_rnn.py first." | |
| model = tf.keras.models.load_model('student_marks_rnn_model.h5') | |
| scaler_X = joblib.load('scaler_X.pkl') | |
| scaler_y = joblib.load('scaler_y.pkl') | |
| # Preprocess input | |
| input_data = np.array([[num_courses, time_study]]) | |
| input_scaled = scaler_X.transform(input_data) | |
| # Reshape for RNN (Samples, TimeSteps, Features) | |
| input_reshaped = input_scaled.reshape((1, 1, 2)) | |
| # Predict | |
| prediction_scaled = model.predict(input_reshaped) | |
| prediction = scaler_y.inverse_transform(prediction_scaled) | |
| return prediction[0][0] | |
| if __name__ == "__main__": | |
| print("--- Student Marks Prediction RNN ---") | |
| try: | |
| nc = float(input("Enter number of courses: ")) | |
| ts = float(input("Enter time spent studying (hours): ")) | |
| result = predict_marks(nc, ts) | |
| if isinstance(result, str): | |
| print(result) | |
| else: | |
| print(f"\nPredicted Marks: {result:.2f}") | |
| except ValueError: | |
| print("Invalid input. Please enter numeric values.") | |
| except Exception as e: | |
| print(f"Error: {e}") | |