Spaces:
Sleeping
Sleeping
| from flask import Flask, render_template, request | |
| import numpy as np | |
| import pickle | |
| app = Flask(__name__) | |
| # -------- Load Model -------- | |
| with open("model.pkl", "rb") as f: | |
| model = pickle.load(f) | |
| # -------- Load Label Encoder -------- | |
| with open("label_encoder.pkl", "rb") as f: | |
| le = pickle.load(f) | |
| def home(): | |
| return render_template('index.html') | |
| def predict(): | |
| try: | |
| # Get values from form | |
| N = float(request.form['N']) | |
| P = float(request.form['P']) | |
| K = float(request.form['K']) | |
| temperature = float(request.form['temperature']) | |
| humidity = float(request.form['humidity']) | |
| ph = float(request.form['ph']) | |
| rainfall = float(request.form['rainfall']) | |
| # Create input array | |
| input_data = np.array([[N, P, K, temperature, humidity, ph, rainfall]]) | |
| # Predict encoded label | |
| encoded_pred = model.predict(input_data)[0] | |
| # Decode original crop name | |
| crop_name = le.inverse_transform([encoded_pred])[0] | |
| return render_template('result.html', crop=crop_name) | |
| except Exception as e: | |
| return f"Error occurred: {str(e)}" | |
| if __name__ == "__main__": | |
| app.run(debug=True) | |