Views
No views yet
LogisticRegression pipeline (StandardScaler + LR) trained on synthetic tabular features with industrial-energy-flavored names, exported to ONNX for CPU / edge demos.specific_power, vibration_rms, steam_makeup, etc.) are illustrative only. Do not treat predictions as plant savings, control advice, or operational recommendations. Synthetic ≠ measured plant outcomes.| Feature | Description (synthetic) |
|---|---|
specific_power | Relative specific power |
vibration_rms | Vibration RMS |
steam_makeup | Steam makeup rate |
condenser_approach | Condenser approach |
cooling_tower_delta_t | Cooling tower delta-T |
boiler_o2_pct | Boiler O₂ % |
intervene (binary)model.onnx — ONNX graph (opset 12)latency.json — local CPU ORT benchmarktrain_export.py — reproducible train + exportlatency.json (1000 single-row inferences, CPUExecutionProvider, warm-up excluded):| Metric | Value |
|---|---|
| mean_ms | 0.0046 |
| p50_ms | 0.0038 |
| p95_ms | 0.0090 |
| provider | CPUExecutionProvider |
| n_inferences | 1000 |
latency.json from the export run (macOS ARM CPU).1pip install onnxruntime numpy
2python - <<'PY'
3import json
4import numpy as np
5import onnxruntime as ort
6
7session = ort.InferenceSession("model.onnx", providers=["CPUExecutionProvider"])
8name = session.get_inputs()[0].name
9# order: specific_power, vibration_rms, steam_makeup,
10# condenser_approach, cooling_tower_delta_t, boiler_o2_pct
11x = np.array([[0.9, 3.0, 5.0, 9.0, 11.0, 4.0]], dtype=np.float32)
12label, probs = session.run(None, {name: x})
13print("label", label, "probs", probs)
14print(json.load(open("latency.json"))["mean_ms"], "ms mean")
15PY1python3 -m venv .venv-onnx
2.venv-onnx/bin/pip install scikit-learn onnx onnxruntime skl2onnx numpy
3.venv-onnx/bin/python train_export.pySEED=42).