CoolFace
Apppublic

Ilham26/ann_algorithm

sourceHugging Faceupdated 7mo agoView on Hugging Face
0likes
app.py51 linesDownload Raw Back to root
1from flask import Flask, request, jsonify2import numpy as np3from tensorflow.keras.models import load_model4import joblib5import os6 7app = Flask(__name__)8 9# Memuat model dan scaler saat server menyala10model = load_model('model_baterai_ann.keras')11scaler = joblib.load('scaler_baterai.pkl')12 13@app.route('/')14def home():15    return "API ANN Baterai Solar Aktif"16 17@app.route('/api/predict', methods=['POST'])18def predict():19    try:20        # Menangkap data JSON dari Laravel21        data = request.get_json()22        23        if not data or 'voltage' not in data:24            return jsonify({"error": "Data 'voltage' wajib dikirim"}), 40025 26        voltage = float(data['voltage'])27 28        # Menyiapkan data untuk ANN29        live_data = np.array([[voltage]])30        live_data_scaled = scaler.transform(live_data)31        32        # Prediksi33        prediction = model.predict(live_data_scaled)[0][0]34        35        # Berdasarkan training: angka > 0.5 berarti TETAP (1), angka <= 0.5 berarti PINDAH (0)36        decision = "TETAP" if prediction > 0.5 else "PINDAH"37 38        return jsonify({39            "status": "success",40            "voltage_received": voltage,41            "decision": decision,42            "confidence_score": float(prediction)43        })44        45    except Exception as e:46        return jsonify({"error": str(e)}), 50047 48# Konfigurasi port untuk server Cloud49if __name__ == '__main__':50    port = int(os.environ.get('PORT', 5000))51    app.run(host='0.0.0.0', port=port)