Pybunny commited on
Commit
27890e7
·
verified ·
1 Parent(s): 2edcc97

Initial upload: FaustineCNN best checkpoint + cutoffs + classes

Browse files
Files changed (4) hide show
  1. README.md +52 -0
  2. classes.json +9 -0
  3. cutoffs.json +44 -0
  4. faustine_best.pt +3 -0
README.md ADDED
@@ -0,0 +1,52 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: mit
3
+ tags:
4
+ - nilm
5
+ - energy-disaggregation
6
+ - uk-dale
7
+ - pytorch
8
+ library_name: nilmbench
9
+ datasets:
10
+ - Pybunny/nilmbench-ukdale
11
+ language:
12
+ - en
13
+ ---
14
+
15
+ # FaustineCNN — NILMbench baseline
16
+
17
+ FaustineCNN trained on UK-DALE House 1 (sparse 6-second 16 kHz V/I frames) and
18
+ evaluated on the dense House 2 set of 60,000 frames. This is the best-scoring
19
+ baseline from the NILMbench paper (`MJ_{20W} = 0.504` raw,
20
+ `0.559` with the recall-constrained cutoffs in `cutoffs.json`).
21
+
22
+ ## Files
23
+
24
+ | File | Purpose |
25
+ | ----------------- | -------------------------------------------------------------------- |
26
+ | `faustine_best.pt`| PyTorch state-dict, loadable with `nilmbench.models.FaustineCNN`. |
27
+ | `cutoffs.json` | Recall-constrained per-class cutoffs `c_k` (calibrated on House 1). |
28
+ | `classes.json` | Ordered category names (length 7). |
29
+
30
+ ## Quick start
31
+
32
+ ```python
33
+ import torch, json
34
+ from huggingface_hub import hf_hub_download
35
+ from nilmbench.models import FaustineCNN
36
+
37
+ ckpt = hf_hub_download("Pybunny/nilmbench-faustine", "faustine_best.pt")
38
+ classes = json.load(open(hf_hub_download("Pybunny/nilmbench-faustine", "classes.json")))
39
+
40
+ model = FaustineCNN(n_categories=len(classes))
41
+ model.load_state_dict(torch.load(ckpt, map_location="cpu"))
42
+ model.eval()
43
+ ```
44
+
45
+ ## Citation
46
+
47
+ NILMbench paper (2026). See https://github.com/Saharmgh/NILMbench for the
48
+ full code and reproducible-figure scripts.
49
+
50
+ ## License
51
+
52
+ MIT.
classes.json ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ [
2
+ "always on",
3
+ "cooking",
4
+ "dishwasher",
5
+ "electronics & lighting",
6
+ "fridge",
7
+ "misc",
8
+ "washing machine"
9
+ ]
cutoffs.json ADDED
@@ -0,0 +1,44 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "classes": [
3
+ "always on",
4
+ "cooking",
5
+ "dishwasher",
6
+ "electronics & lighting",
7
+ "fridge",
8
+ "misc",
9
+ "washing machine"
10
+ ],
11
+ "cutoffs_W": {
12
+ "always on": 3.0,
13
+ "cooking": 1474.240966796875,
14
+ "dishwasher": 104.46902465820312,
15
+ "electronics & lighting": 5.0,
16
+ "fridge": 61.15494155883789,
17
+ "misc": 11.852706909179688,
18
+ "washing machine": 14.989958763122559
19
+ },
20
+ "dense_after": {
21
+ "F1": 0.8084632287157288,
22
+ "Jaccard": 0.7267236904761906,
23
+ "MAE_W": 27.093177795410156,
24
+ "MF_20pct": 0.29055909090909093,
25
+ "MJ_abs_20W": 0.5597594444444445,
26
+ "MJ_rel_20pct": 0.26448138888888884,
27
+ "StateAcc_BalancedMacro": 0.645689942881223,
28
+ "StateAcc_ExactMatch": 0.3600833333333333,
29
+ "StateAcc_Hamming": 0.8766452380952381,
30
+ "TECA": 0.7393695116043091
31
+ },
32
+ "dense_before": {
33
+ "F1": 0.7871189225589227,
34
+ "Jaccard": 0.6958458333333335,
35
+ "MAE_W": 29.638530731201172,
36
+ "MF_20pct": 0.2634095466570467,
37
+ "MJ_abs_20W": 0.5025619841269842,
38
+ "MJ_rel_20pct": 0.23849805555555553,
39
+ "StateAcc_BalancedMacro": 0.6855679513646701,
40
+ "StateAcc_ExactMatch": 0.27818333333333334,
41
+ "StateAcc_Hamming": 0.8425142857142857,
42
+ "TECA": 0.7056184411048889
43
+ }
44
+ }
faustine_best.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:8ba2aae21d5b86f70bd966599cb1fa5096437761421b6f2c4de3811cada31fd5
3
+ size 1033238