diff --git a/.github/workflows/publish-images.yml b/.github/workflows/publish-images.yml index 2b9e993..ec33e21 100644 --- a/.github/workflows/publish-images.yml +++ b/.github/workflows/publish-images.yml @@ -37,10 +37,10 @@ jobs: context: . file: docker/Dockerfile.${{ matrix.target }} build-contexts: | - contrib=https://github.com/nilmtk/nilmtk-contrib.git#825740b39bcd44b3f4bfaf146f4c0d944843b131 + contrib=https://github.com/nilmtk/nilmtk-contrib.git#8d745493ed9f84dd00fb502ffe85943eaeedc4c8 build-args: | SOURCE_REVISION=${{ github.sha }} - NILMTK_CONTRIB_REVISION=825740b39bcd44b3f4bfaf146f4c0d944843b131 + NILMTK_CONTRIB_REVISION=8d745493ed9f84dd00fb502ffe85943eaeedc4c8 push: true tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} diff --git a/README.md b/README.md index 794d09d..67fe167 100644 --- a/README.md +++ b/README.md @@ -85,7 +85,7 @@ into `results/published`, never an automatic side effect of training. Container builds take nilmtk-contrib as a named BuildKit context. The default Compose configuration expects the two repositories to be sibling directories; set `NILMTK_CONTRIB_CONTEXT` to override that location. -Published images pin their nilmtk-contrib build context to the exact reviewed integration commit rather than a moving branch. The current dependency and image pin is [`825740b39bcd44b3f4bfaf146f4c0d944843b131`](https://github.com/nilmtk/nilmtk-contrib/commit/825740b39bcd44b3f4bfaf146f4c0d944843b131). Update that pin deliberately when a reviewed model release is adopted. Both image variants synchronize their runtime, NILMTK, and NILM Metadata dependencies from the checked-in `uv.lock` with `--frozen`; the project and named-context contrib source are then installed with `--no-deps`. The CPU-only Torch wheel is installed with `--no-deps` after its common Python dependencies have been synchronized from the same lock, avoiding the CUDA wheel stack in the CPU image. +Published images pin their nilmtk-contrib build context to the exact reviewed integration commit rather than a moving branch. The current dependency and image pin is [`8d745493ed9f84dd00fb502ffe85943eaeedc4c8`](https://github.com/nilmtk/nilmtk-contrib/commit/8d745493ed9f84dd00fb502ffe85943eaeedc4c8). Update that pin deliberately when a reviewed model release is adopted. Both image variants synchronize their runtime, NILMTK, and NILM Metadata dependencies from the checked-in `uv.lock` with `--frozen`; the project and named-context contrib source are then installed with `--no-deps`. The CPU-only Torch wheel is installed with `--no-deps` after its common Python dependencies have been synchronized from the same lock, avoiding the CUDA wheel stack in the CPU image. Model contributions and benchmark-image releases have separate cadences. A model can merge after its contrib contract, CPU, and targeted CUDA checks pass; diff --git a/configs/runtimes.toml b/configs/runtimes.toml index 1753411..dfe6a16 100644 --- a/configs/runtimes.toml +++ b/configs/runtimes.toml @@ -8,3 +8,11 @@ nilmtk_contrib_git_sha = "825740b39bcd44b3f4bfaf146f4c0d944843b131" container_image = "nilmbench:t0-83fb39e-cuda" container_digest = "sha256:dd977962c2e0d72e2d923f8f5c3e92e538f67a00495e545c2f22571001872e91" hardware = "NVIDIA A100-SXM4-80GB" + +[[runtime]] +id = "t0-redd-fridge-a100-adaf03e" +nilmbench_git_sha = "adaf03e42f5b8dd6b9ab95942ee191999f2d3b25" +nilmtk_contrib_git_sha = "8d745493ed9f84dd00fb502ffe85943eaeedc4c8" +container_image = "nilmbench:t0-adaf03e-cuda" +container_digest = "sha256:d7253754a6a9133235076fa1c1555104aa8be8128443da96bc16ae3d46809aa8" +hardware = "NVIDIA A100-SXM4-80GB" diff --git a/docs/protocol-audit.md b/docs/protocol-audit.md index 756d278..86fdc22 100644 --- a/docs/protocol-audit.md +++ b/docs/protocol-audit.md @@ -80,8 +80,10 @@ and protocol preflight; it is not a replacement for the CUDA model benchmark. ## Release sequence -PatchTST and its model-level tests should merge in `nilmtk-contrib` first. The -NILMbench PR should then replace its moving `nilmtk-contrib` dependency and -container build context with that reviewed commit, refresh `uv.lock`, and run -the CPU and CUDA smoke checks against the same revision. This keeps the two PRs -reviewable while ensuring the eventual benchmark environment is immutable. +Model implementations and their model-level tests merge in `nilmtk-contrib` +first. NILMbench then advances its single `nilmtk-contrib` dependency and +container build context to the reviewed batch commit, refreshes `uv.lock`, and +runs CPU and CUDA checks against that same revision. ModernTCN and DLinear were +adopted together at `8d745493ed9f84dd00fb502ffe85943eaeedc4c8`, avoiding a +separate benchmark image for every algorithm while preserving an immutable +campaign environment. diff --git a/leaderboard.csv b/leaderboard.csv index 9b93cce..2df93f9 100644 --- a/leaderboard.csv +++ b/leaderboard.csv @@ -5,14 +5,16 @@ corrected-t1-redd,T1,corrected,DAE,autoencoder,07f5562c93a226b28c0f287f72c181f6a corrected-t1-redd,T1,corrected,WindowGRU,recurrent,9d8de5f72b1010780ee736900644210cd60be6f1e27f64680ed20eaa30c158b6,,825740b39bcd44b3f4bfaf146f4c0d944843b131,83fb39e57d50ac433314e880176fef187997d5b3,sha256:dd977962c2e0d72e2d923f8f5c3e92e538f67a00495e545c2f22571001872e91,NVIDIA A100-SXM4-80GB,60,299,3,3960,7f654b6d261e1d9a6e733400a6ee383eacf61da0a0f5e45ce5aa7bc88f385056,68326c07a5ae30495f929d97858f5b49e5cfdeaddf78334066d74b90417f5d9e,bc8002ef4b917cda509fc789093422ad2abfb3d472bd00c7df3f846d750a14b4,4,fridge,not_applicable,smoke,smoke-verified,10;20;42,3,50.47948637432652,1.3556019544833675,0.6971819197814662,0.007023031532984379,11.894063677988015,0.13453522512836433,427345.0,0.0,2746802688.0,0.0 corrected-t1-redd,T1,corrected,Seq2Seq,recurrent,9d8de5f72b1010780ee736900644210cd60be6f1e27f64680ed20eaa30c158b6,,825740b39bcd44b3f4bfaf146f4c0d944843b131,83fb39e57d50ac433314e880176fef187997d5b3,sha256:dd977962c2e0d72e2d923f8f5c3e92e538f67a00495e545c2f22571001872e91,NVIDIA A100-SXM4-80GB,60,299,3,3960,7f654b6d261e1d9a6e733400a6ee383eacf61da0a0f5e45ce5aa7bc88f385056,68326c07a5ae30495f929d97858f5b49e5cfdeaddf78334066d74b90417f5d9e,bc8002ef4b917cda509fc789093422ad2abfb3d472bd00c7df3f846d750a14b4,5,fridge,not_applicable,smoke,smoke-verified,10;20;42,3,53.186684329148044,0.8083813761910171,0.7212017869840711,0.030549052359127225,11.24612321498959,0.6311736800212133,3212099.0,0.0,1329563648.0,0.0 corrected-t1-redd,T1,corrected,PatchTST,transformer,9d8de5f72b1010780ee736900644210cd60be6f1e27f64680ed20eaa30c158b6,,825740b39bcd44b3f4bfaf146f4c0d944843b131,83fb39e57d50ac433314e880176fef187997d5b3,sha256:dd977962c2e0d72e2d923f8f5c3e92e538f67a00495e545c2f22571001872e91,NVIDIA A100-SXM4-80GB,60,299,3,3960,7f654b6d261e1d9a6e733400a6ee383eacf61da0a0f5e45ce5aa7bc88f385056,68326c07a5ae30495f929d97858f5b49e5cfdeaddf78334066d74b90417f5d9e,bc8002ef4b917cda509fc789093422ad2abfb3d472bd00c7df3f846d750a14b4,6,fridge,not_applicable,smoke,smoke-verified,10;20;42,3,56.397111539882644,2.9141793059289416,0.6521443272068602,0.02538089740106514,12.306998797032671,0.6492131196627466,110977.0,0.0,126057984.0,0.0 -corrected-t1-redd,T1,corrected,MSDC,specialized,9d8de5f72b1010780ee736900644210cd60be6f1e27f64680ed20eaa30c158b6,,825740b39bcd44b3f4bfaf146f4c0d944843b131,83fb39e57d50ac433314e880176fef187997d5b3,sha256:dd977962c2e0d72e2d923f8f5c3e92e538f67a00495e545c2f22571001872e91,NVIDIA A100-SXM4-80GB,60,299,3,3960,7f654b6d261e1d9a6e733400a6ee383eacf61da0a0f5e45ce5aa7bc88f385056,68326c07a5ae30495f929d97858f5b49e5cfdeaddf78334066d74b90417f5d9e,bc8002ef4b917cda509fc789093422ad2abfb3d472bd00c7df3f846d750a14b4,7,fridge,not_applicable,smoke,smoke-verified,10;20;42,3,58.332571615678035,0.4296383540946913,0.683834543954592,0.01482408304722735,799.208691649721,5.527490501703958,23765.0,0.0,1017177600.0,0.0 -corrected-t1-redd,T1,corrected,TCN,convolutional,9d8de5f72b1010780ee736900644210cd60be6f1e27f64680ed20eaa30c158b6,,825740b39bcd44b3f4bfaf146f4c0d944843b131,83fb39e57d50ac433314e880176fef187997d5b3,sha256:dd977962c2e0d72e2d923f8f5c3e92e538f67a00495e545c2f22571001872e91,NVIDIA A100-SXM4-80GB,60,299,3,3960,7f654b6d261e1d9a6e733400a6ee383eacf61da0a0f5e45ce5aa7bc88f385056,68326c07a5ae30495f929d97858f5b49e5cfdeaddf78334066d74b90417f5d9e,bc8002ef4b917cda509fc789093422ad2abfb3d472bd00c7df3f846d750a14b4,8,fridge,not_applicable,smoke,smoke-verified,10;20;42,3,58.75746796582965,7.580525322209272,0.6871346224489452,0.04896129719452161,136.11247624934185,3.1405959998419757,74151.0,0.0,242932224.0,0.0 -corrected-t1-redd,T1,corrected,ResNet,convolutional,9d8de5f72b1010780ee736900644210cd60be6f1e27f64680ed20eaa30c158b6,,825740b39bcd44b3f4bfaf146f4c0d944843b131,83fb39e57d50ac433314e880176fef187997d5b3,sha256:dd977962c2e0d72e2d923f8f5c3e92e538f67a00495e545c2f22571001872e91,NVIDIA A100-SXM4-80GB,60,299,3,3960,7f654b6d261e1d9a6e733400a6ee383eacf61da0a0f5e45ce5aa7bc88f385056,68326c07a5ae30495f929d97858f5b49e5cfdeaddf78334066d74b90417f5d9e,bc8002ef4b917cda509fc789093422ad2abfb3d472bd00c7df3f846d750a14b4,9,fridge,not_applicable,smoke,smoke-verified,10;20;42,3,59.01963263951128,1.5625911625144107,0.6410368172977224,0.009335530581015182,12.622285443629758,0.29376273772591066,2410409.0,0.0,1166041600.0,0.0 -corrected-t1-redd,T1,corrected,ResNetClassification,convolutional-classification,9d8de5f72b1010780ee736900644210cd60be6f1e27f64680ed20eaa30c158b6,,825740b39bcd44b3f4bfaf146f4c0d944843b131,83fb39e57d50ac433314e880176fef187997d5b3,sha256:dd977962c2e0d72e2d923f8f5c3e92e538f67a00495e545c2f22571001872e91,NVIDIA A100-SXM4-80GB,60,299,3,3960,7f654b6d261e1d9a6e733400a6ee383eacf61da0a0f5e45ce5aa7bc88f385056,68326c07a5ae30495f929d97858f5b49e5cfdeaddf78334066d74b90417f5d9e,bc8002ef4b917cda509fc789093422ad2abfb3d472bd00c7df3f846d750a14b4,10,fridge,not_applicable,smoke,smoke-verified,10;20;42,3,63.85270731683115,0.3908975588789727,0.0,0.0,13.406618166326856,0.5643611879407473,16387058.0,0.0,1309979136.0,0.0 -corrected-t1-redd,T1,corrected,RNNAttentionClassification,recurrent-attention-classification,9d8de5f72b1010780ee736900644210cd60be6f1e27f64680ed20eaa30c158b6,,825740b39bcd44b3f4bfaf146f4c0d944843b131,83fb39e57d50ac433314e880176fef187997d5b3,sha256:dd977962c2e0d72e2d923f8f5c3e92e538f67a00495e545c2f22571001872e91,NVIDIA A100-SXM4-80GB,60,299,3,3960,7f654b6d261e1d9a6e733400a6ee383eacf61da0a0f5e45ce5aa7bc88f385056,68326c07a5ae30495f929d97858f5b49e5cfdeaddf78334066d74b90417f5d9e,bc8002ef4b917cda509fc789093422ad2abfb3d472bd00c7df3f846d750a14b4,11,fridge,not_applicable,smoke,smoke-verified,10;20;42,3,64.55737705059016,0.2343551193182739,0.0,0.0,15.105366171648106,1.9433484735227533,15414725.0,0.0,12151424000.0,0.0 -corrected-t1-redd,T1,corrected,BERT,transformer,07f5562c93a226b28c0f287f72c181f6a7d322c0939fb2d5ca379e6449fc5445,,825740b39bcd44b3f4bfaf146f4c0d944843b131,83fb39e57d50ac433314e880176fef187997d5b3,sha256:dd977962c2e0d72e2d923f8f5c3e92e538f67a00495e545c2f22571001872e91,NVIDIA A100-SXM4-80GB,60,99,3,3960,fe0a640391067d0d8eef3655b630a41151a1bdf4cbff179ce47626525764d28a,81fbe9a0cd8d218ec6bbef16b85d38833c4263704915fb7564a3a69ae878ad0d,bc8002ef4b917cda509fc789093422ad2abfb3d472bd00c7df3f846d750a14b4,12,fridge,not_applicable,smoke,smoke-verified,10;20;42,3,73.74553795377541,5.186088468873656,0.4710543211931381,0.020022196781206772,11.714292020963816,0.5074728817985983,803443.0,0.0,95618048.0,0.0 -corrected-t1-redd,T1,corrected,RNNAttention,recurrent-attention,9d8de5f72b1010780ee736900644210cd60be6f1e27f64680ed20eaa30c158b6,,825740b39bcd44b3f4bfaf146f4c0d944843b131,83fb39e57d50ac433314e880176fef187997d5b3,sha256:dd977962c2e0d72e2d923f8f5c3e92e538f67a00495e545c2f22571001872e91,NVIDIA A100-SXM4-80GB,60,299,3,3960,7f654b6d261e1d9a6e733400a6ee383eacf61da0a0f5e45ce5aa7bc88f385056,68326c07a5ae30495f929d97858f5b49e5cfdeaddf78334066d74b90417f5d9e,bc8002ef4b917cda509fc789093422ad2abfb3d472bd00c7df3f846d750a14b4,13,fridge,not_applicable,smoke,smoke-verified,10;20;42,3,77.12848631459774,0.3383526698775547,0.4767690771960958,0.004735476087685544,13.1685075579832,1.1892074262814203,1333842.0,0.0,1612759552.0,0.0 -corrected-t1-redd,T1,corrected,Mean,statistical-baseline,44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a,,825740b39bcd44b3f4bfaf146f4c0d944843b131,83fb39e57d50ac433314e880176fef187997d5b3,sha256:dd977962c2e0d72e2d923f8f5c3e92e538f67a00495e545c2f22571001872e91,NVIDIA A100-SXM4-80GB,60,,,3960,294356c6c7b66030569075b0afb4f8937761162c74d3e189a0091ed038522ccd,f87939131f6dbb6f094f9b285d5935b5d47100608b7e3b74f99ed979aec4096a,bc8002ef4b917cda509fc789093422ad2abfb3d472bd00c7df3f846d750a14b4,14,fridge,not_applicable,smoke,smoke-verified,10;20;42,3,77.20755818231319,0.0,0.4795031055900621,0.0,9.313194934356337,1.0768063685684828,,,, -corrected-t1-redd,T1,corrected,Reformer,transformer,9d8de5f72b1010780ee736900644210cd60be6f1e27f64680ed20eaa30c158b6,,825740b39bcd44b3f4bfaf146f4c0d944843b131,83fb39e57d50ac433314e880176fef187997d5b3,sha256:dd977962c2e0d72e2d923f8f5c3e92e538f67a00495e545c2f22571001872e91,NVIDIA A100-SXM4-80GB,60,299,3,3960,7f654b6d261e1d9a6e733400a6ee383eacf61da0a0f5e45ce5aa7bc88f385056,68326c07a5ae30495f929d97858f5b49e5cfdeaddf78334066d74b90417f5d9e,bc8002ef4b917cda509fc789093422ad2abfb3d472bd00c7df3f846d750a14b4,15,fridge,not_applicable,smoke,smoke-verified,10;20;42,3,77.4525865206986,0.0867117316614322,0.4795031055900621,0.0,43.49176566399789,0.9955491209174842,19540993.0,0.0,26229808640.0,0.0 -corrected-t1-redd,T1,corrected,RNN,recurrent,9d8de5f72b1010780ee736900644210cd60be6f1e27f64680ed20eaa30c158b6,,825740b39bcd44b3f4bfaf146f4c0d944843b131,83fb39e57d50ac433314e880176fef187997d5b3,sha256:dd977962c2e0d72e2d923f8f5c3e92e538f67a00495e545c2f22571001872e91,NVIDIA A100-SXM4-80GB,60,299,3,3960,7f654b6d261e1d9a6e733400a6ee383eacf61da0a0f5e45ce5aa7bc88f385056,68326c07a5ae30495f929d97858f5b49e5cfdeaddf78334066d74b90417f5d9e,bc8002ef4b917cda509fc789093422ad2abfb3d472bd00c7df3f846d750a14b4,16,fridge,not_applicable,smoke,smoke-verified,10;20;42,3,77.5298202811438,0.5726973054994386,0.4295428301445255,0.04402182372874708,12.486517743673176,0.39894672731627295,1268049.0,0.0,3418447360.0,0.0 -corrected-t1-redd,T1,corrected,ConvLSTM,hybrid,9d8de5f72b1010780ee736900644210cd60be6f1e27f64680ed20eaa30c158b6,,825740b39bcd44b3f4bfaf146f4c0d944843b131,83fb39e57d50ac433314e880176fef187997d5b3,sha256:dd977962c2e0d72e2d923f8f5c3e92e538f67a00495e545c2f22571001872e91,NVIDIA A100-SXM4-80GB,60,299,3,3960,7f654b6d261e1d9a6e733400a6ee383eacf61da0a0f5e45ce5aa7bc88f385056,68326c07a5ae30495f929d97858f5b49e5cfdeaddf78334066d74b90417f5d9e,bc8002ef4b917cda509fc789093422ad2abfb3d472bd00c7df3f846d750a14b4,17,fridge,not_applicable,smoke,smoke-verified,10;20;42,3,82.82946027127097,2.914521861838068,0.2311816993335453,0.13497509930474993,13.459638093675798,1.6351937858137178,482913.0,0.0,13109322240.0,0.0 +corrected-t1-redd,T1,corrected,ModernTCN,convolutional,9d8de5f72b1010780ee736900644210cd60be6f1e27f64680ed20eaa30c158b6,,8d745493ed9f84dd00fb502ffe85943eaeedc4c8,adaf03e42f5b8dd6b9ab95942ee191999f2d3b25,sha256:d7253754a6a9133235076fa1c1555104aa8be8128443da96bc16ae3d46809aa8,NVIDIA A100-SXM4-80GB,60,299,3,3960,7f654b6d261e1d9a6e733400a6ee383eacf61da0a0f5e45ce5aa7bc88f385056,e8e370ea20df5ac070b562c1aa9ff41906df66b13863f2b9a0bbb4236065070b,bc8002ef4b917cda509fc789093422ad2abfb3d472bd00c7df3f846d750a14b4,7,fridge,not_applicable,smoke,smoke-verified,10;20;42,3,56.62328958799068,1.7673380562844272,0.6586170778974529,0.007156421175410614,11.552591511009572,1.3315803091669323,41921.0,0.0,95785984.0,0.0 +corrected-t1-redd,T1,corrected,MSDC,specialized,9d8de5f72b1010780ee736900644210cd60be6f1e27f64680ed20eaa30c158b6,,825740b39bcd44b3f4bfaf146f4c0d944843b131,83fb39e57d50ac433314e880176fef187997d5b3,sha256:dd977962c2e0d72e2d923f8f5c3e92e538f67a00495e545c2f22571001872e91,NVIDIA A100-SXM4-80GB,60,299,3,3960,7f654b6d261e1d9a6e733400a6ee383eacf61da0a0f5e45ce5aa7bc88f385056,68326c07a5ae30495f929d97858f5b49e5cfdeaddf78334066d74b90417f5d9e,bc8002ef4b917cda509fc789093422ad2abfb3d472bd00c7df3f846d750a14b4,8,fridge,not_applicable,smoke,smoke-verified,10;20;42,3,58.332571615678035,0.4296383540946913,0.683834543954592,0.01482408304722735,799.208691649721,5.527490501703958,23765.0,0.0,1017177600.0,0.0 +corrected-t1-redd,T1,corrected,TCN,convolutional,9d8de5f72b1010780ee736900644210cd60be6f1e27f64680ed20eaa30c158b6,,825740b39bcd44b3f4bfaf146f4c0d944843b131,83fb39e57d50ac433314e880176fef187997d5b3,sha256:dd977962c2e0d72e2d923f8f5c3e92e538f67a00495e545c2f22571001872e91,NVIDIA A100-SXM4-80GB,60,299,3,3960,7f654b6d261e1d9a6e733400a6ee383eacf61da0a0f5e45ce5aa7bc88f385056,68326c07a5ae30495f929d97858f5b49e5cfdeaddf78334066d74b90417f5d9e,bc8002ef4b917cda509fc789093422ad2abfb3d472bd00c7df3f846d750a14b4,9,fridge,not_applicable,smoke,smoke-verified,10;20;42,3,58.75746796582965,7.580525322209272,0.6871346224489452,0.04896129719452161,136.11247624934185,3.1405959998419757,74151.0,0.0,242932224.0,0.0 +corrected-t1-redd,T1,corrected,ResNet,convolutional,9d8de5f72b1010780ee736900644210cd60be6f1e27f64680ed20eaa30c158b6,,825740b39bcd44b3f4bfaf146f4c0d944843b131,83fb39e57d50ac433314e880176fef187997d5b3,sha256:dd977962c2e0d72e2d923f8f5c3e92e538f67a00495e545c2f22571001872e91,NVIDIA A100-SXM4-80GB,60,299,3,3960,7f654b6d261e1d9a6e733400a6ee383eacf61da0a0f5e45ce5aa7bc88f385056,68326c07a5ae30495f929d97858f5b49e5cfdeaddf78334066d74b90417f5d9e,bc8002ef4b917cda509fc789093422ad2abfb3d472bd00c7df3f846d750a14b4,10,fridge,not_applicable,smoke,smoke-verified,10;20;42,3,59.01963263951128,1.5625911625144107,0.6410368172977224,0.009335530581015182,12.622285443629758,0.29376273772591066,2410409.0,0.0,1166041600.0,0.0 +corrected-t1-redd,T1,corrected,ResNetClassification,convolutional-classification,9d8de5f72b1010780ee736900644210cd60be6f1e27f64680ed20eaa30c158b6,,825740b39bcd44b3f4bfaf146f4c0d944843b131,83fb39e57d50ac433314e880176fef187997d5b3,sha256:dd977962c2e0d72e2d923f8f5c3e92e538f67a00495e545c2f22571001872e91,NVIDIA A100-SXM4-80GB,60,299,3,3960,7f654b6d261e1d9a6e733400a6ee383eacf61da0a0f5e45ce5aa7bc88f385056,68326c07a5ae30495f929d97858f5b49e5cfdeaddf78334066d74b90417f5d9e,bc8002ef4b917cda509fc789093422ad2abfb3d472bd00c7df3f846d750a14b4,11,fridge,not_applicable,smoke,smoke-verified,10;20;42,3,63.85270731683115,0.3908975588789727,0.0,0.0,13.406618166326856,0.5643611879407473,16387058.0,0.0,1309979136.0,0.0 +corrected-t1-redd,T1,corrected,RNNAttentionClassification,recurrent-attention-classification,9d8de5f72b1010780ee736900644210cd60be6f1e27f64680ed20eaa30c158b6,,825740b39bcd44b3f4bfaf146f4c0d944843b131,83fb39e57d50ac433314e880176fef187997d5b3,sha256:dd977962c2e0d72e2d923f8f5c3e92e538f67a00495e545c2f22571001872e91,NVIDIA A100-SXM4-80GB,60,299,3,3960,7f654b6d261e1d9a6e733400a6ee383eacf61da0a0f5e45ce5aa7bc88f385056,68326c07a5ae30495f929d97858f5b49e5cfdeaddf78334066d74b90417f5d9e,bc8002ef4b917cda509fc789093422ad2abfb3d472bd00c7df3f846d750a14b4,12,fridge,not_applicable,smoke,smoke-verified,10;20;42,3,64.55737705059016,0.2343551193182739,0.0,0.0,15.105366171648106,1.9433484735227533,15414725.0,0.0,12151424000.0,0.0 +corrected-t1-redd,T1,corrected,BERT,transformer,07f5562c93a226b28c0f287f72c181f6a7d322c0939fb2d5ca379e6449fc5445,,825740b39bcd44b3f4bfaf146f4c0d944843b131,83fb39e57d50ac433314e880176fef187997d5b3,sha256:dd977962c2e0d72e2d923f8f5c3e92e538f67a00495e545c2f22571001872e91,NVIDIA A100-SXM4-80GB,60,99,3,3960,fe0a640391067d0d8eef3655b630a41151a1bdf4cbff179ce47626525764d28a,81fbe9a0cd8d218ec6bbef16b85d38833c4263704915fb7564a3a69ae878ad0d,bc8002ef4b917cda509fc789093422ad2abfb3d472bd00c7df3f846d750a14b4,13,fridge,not_applicable,smoke,smoke-verified,10;20;42,3,73.74553795377541,5.186088468873656,0.4710543211931381,0.020022196781206772,11.714292020963816,0.5074728817985983,803443.0,0.0,95618048.0,0.0 +corrected-t1-redd,T1,corrected,DLinear,decomposition-linear,9d8de5f72b1010780ee736900644210cd60be6f1e27f64680ed20eaa30c158b6,,8d745493ed9f84dd00fb502ffe85943eaeedc4c8,adaf03e42f5b8dd6b9ab95942ee191999f2d3b25,sha256:d7253754a6a9133235076fa1c1555104aa8be8128443da96bc16ae3d46809aa8,NVIDIA A100-SXM4-80GB,60,299,3,3960,7f654b6d261e1d9a6e733400a6ee383eacf61da0a0f5e45ce5aa7bc88f385056,e8e370ea20df5ac070b562c1aa9ff41906df66b13863f2b9a0bbb4236065070b,bc8002ef4b917cda509fc789093422ad2abfb3d472bd00c7df3f846d750a14b4,14,fridge,not_applicable,smoke,smoke-verified,10;20;42,3,75.91719656253193,2.734092807324406,0.5695383931401428,0.020556263629681836,10.532574492972344,0.5725726608996072,600.0,0.0,67753472.0,0.0 +corrected-t1-redd,T1,corrected,RNNAttention,recurrent-attention,9d8de5f72b1010780ee736900644210cd60be6f1e27f64680ed20eaa30c158b6,,825740b39bcd44b3f4bfaf146f4c0d944843b131,83fb39e57d50ac433314e880176fef187997d5b3,sha256:dd977962c2e0d72e2d923f8f5c3e92e538f67a00495e545c2f22571001872e91,NVIDIA A100-SXM4-80GB,60,299,3,3960,7f654b6d261e1d9a6e733400a6ee383eacf61da0a0f5e45ce5aa7bc88f385056,68326c07a5ae30495f929d97858f5b49e5cfdeaddf78334066d74b90417f5d9e,bc8002ef4b917cda509fc789093422ad2abfb3d472bd00c7df3f846d750a14b4,15,fridge,not_applicable,smoke,smoke-verified,10;20;42,3,77.12848631459774,0.3383526698775547,0.4767690771960958,0.004735476087685544,13.1685075579832,1.1892074262814203,1333842.0,0.0,1612759552.0,0.0 +corrected-t1-redd,T1,corrected,Mean,statistical-baseline,44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a,,825740b39bcd44b3f4bfaf146f4c0d944843b131,83fb39e57d50ac433314e880176fef187997d5b3,sha256:dd977962c2e0d72e2d923f8f5c3e92e538f67a00495e545c2f22571001872e91,NVIDIA A100-SXM4-80GB,60,,,3960,294356c6c7b66030569075b0afb4f8937761162c74d3e189a0091ed038522ccd,f87939131f6dbb6f094f9b285d5935b5d47100608b7e3b74f99ed979aec4096a,bc8002ef4b917cda509fc789093422ad2abfb3d472bd00c7df3f846d750a14b4,16,fridge,not_applicable,smoke,smoke-verified,10;20;42,3,77.20755818231319,0.0,0.4795031055900621,0.0,9.313194934356337,1.0768063685684828,,,, +corrected-t1-redd,T1,corrected,Reformer,transformer,9d8de5f72b1010780ee736900644210cd60be6f1e27f64680ed20eaa30c158b6,,825740b39bcd44b3f4bfaf146f4c0d944843b131,83fb39e57d50ac433314e880176fef187997d5b3,sha256:dd977962c2e0d72e2d923f8f5c3e92e538f67a00495e545c2f22571001872e91,NVIDIA A100-SXM4-80GB,60,299,3,3960,7f654b6d261e1d9a6e733400a6ee383eacf61da0a0f5e45ce5aa7bc88f385056,68326c07a5ae30495f929d97858f5b49e5cfdeaddf78334066d74b90417f5d9e,bc8002ef4b917cda509fc789093422ad2abfb3d472bd00c7df3f846d750a14b4,17,fridge,not_applicable,smoke,smoke-verified,10;20;42,3,77.4525865206986,0.0867117316614322,0.4795031055900621,0.0,43.49176566399789,0.9955491209174842,19540993.0,0.0,26229808640.0,0.0 +corrected-t1-redd,T1,corrected,RNN,recurrent,9d8de5f72b1010780ee736900644210cd60be6f1e27f64680ed20eaa30c158b6,,825740b39bcd44b3f4bfaf146f4c0d944843b131,83fb39e57d50ac433314e880176fef187997d5b3,sha256:dd977962c2e0d72e2d923f8f5c3e92e538f67a00495e545c2f22571001872e91,NVIDIA A100-SXM4-80GB,60,299,3,3960,7f654b6d261e1d9a6e733400a6ee383eacf61da0a0f5e45ce5aa7bc88f385056,68326c07a5ae30495f929d97858f5b49e5cfdeaddf78334066d74b90417f5d9e,bc8002ef4b917cda509fc789093422ad2abfb3d472bd00c7df3f846d750a14b4,18,fridge,not_applicable,smoke,smoke-verified,10;20;42,3,77.5298202811438,0.5726973054994386,0.4295428301445255,0.04402182372874708,12.486517743673176,0.39894672731627295,1268049.0,0.0,3418447360.0,0.0 +corrected-t1-redd,T1,corrected,ConvLSTM,hybrid,9d8de5f72b1010780ee736900644210cd60be6f1e27f64680ed20eaa30c158b6,,825740b39bcd44b3f4bfaf146f4c0d944843b131,83fb39e57d50ac433314e880176fef187997d5b3,sha256:dd977962c2e0d72e2d923f8f5c3e92e538f67a00495e545c2f22571001872e91,NVIDIA A100-SXM4-80GB,60,299,3,3960,7f654b6d261e1d9a6e733400a6ee383eacf61da0a0f5e45ce5aa7bc88f385056,68326c07a5ae30495f929d97858f5b49e5cfdeaddf78334066d74b90417f5d9e,bc8002ef4b917cda509fc789093422ad2abfb3d472bd00c7df3f846d750a14b4,19,fridge,not_applicable,smoke,smoke-verified,10;20;42,3,82.82946027127097,2.914521861838068,0.2311816993335453,0.13497509930474993,13.459638093675798,1.6351937858137178,482913.0,0.0,13109322240.0,0.0 diff --git a/leaderboard.json b/leaderboard.json index 8c2fa57..b81d424 100644 --- a/leaderboard.json +++ b/leaderboard.json @@ -1,7 +1,7 @@ { "artifacts": { "csv_name": "leaderboard.csv", - "csv_sha256": "7693db2ccd0c03581fd5c1d9ae53b3f3bb083c56a4fb331fca939690eeb766dc" + "csv_sha256": "aff21596dd3c31eb144e27e85409b95df13e00b773822972ce9d783d5e1e71de" }, "entries": [ { @@ -646,6 +646,113 @@ "tuning_study_digest": null, "verification_failures": [] }, + { + "appliance": "fridge", + "comparison_protocol": { + "appliances": [ + "fridge" + ], + "effective_epochs": 3, + "effective_sequence_length": 299, + "epochs_override": 3, + "max_samples_per_window": 3960, + "model_selection": null, + "runtime": { + "container_digest": "sha256:d7253754a6a9133235076fa1c1555104aa8be8128443da96bc16ae3d46809aa8", + "container_image": "nilmbench:t0-adaf03e-cuda", + "cuda_runtime": "12.4", + "hardware": "NVIDIA A100-SXM4-80GB", + "nilmbench_git_sha": "adaf03e42f5b8dd6b9ab95942ee191999f2d3b25", + "nilmtk_contrib_git_sha": "8d745493ed9f84dd00fb502ffe85943eaeedc4c8", + "torch": "2.6.0+cu124" + }, + "sample_period": 60, + "schema": "nilmbench.comparison-protocol.v1", + "scope": "smoke", + "target_data_access": "not_applicable", + "task_config_sha256": "95088d9a943c124c25a2cfada707f34088c178ee85b78da9052edbd2cc69fea4", + "task_id": "corrected-t1-redd" + }, + "comparison_protocol_sha256": "e8e370ea20df5ac070b562c1aa9ff41906df66b13863f2b9a0bbb4236065070b", + "container_digest": "sha256:d7253754a6a9133235076fa1c1555104aa8be8128443da96bc16ae3d46809aa8", + "elapsed_seconds_mean": 11.552591511009572, + "elapsed_seconds_std": 1.3315803091669323, + "epochs": 3, + "f1_mean": 0.6586170778974529, + "f1_std": 0.007156421175410614, + "family": "T1", + "hardware": "NVIDIA A100-SXM4-80GB", + "mae_mean": 56.62328958799068, + "mae_std": 1.7673380562844272, + "max_samples_per_window": 3960, + "model": "ModernTCN", + "model_family": "convolutional", + "model_git_sha": "8d745493ed9f84dd00fb502ffe85943eaeedc4c8", + "model_params": { + "batch_size": 128, + "device": "cuda", + "learning_rate": 0.001, + "n_epochs": 3, + "sequence_length": 299 + }, + "model_params_sha256": "9d8de5f72b1010780ee736900644210cd60be6f1e27f64680ed20eaa30c158b6", + "peak_accelerator_memory_bytes_mean": 95785984.0, + "peak_accelerator_memory_bytes_std": 0.0, + "profile": "corrected", + "protocol_overrides": { + "appliances": [ + "fridge" + ], + "epochs": 3, + "max_samples_per_window": 3960, + "model_selection": null, + "sample_period": null, + "sequence_length": 299 + }, + "protocol_overrides_sha256": "7f654b6d261e1d9a6e733400a6ee383eacf61da0a0f5e45ce5aa7bc88f385056", + "provenance_verified": true, + "rank": 7, + "ranking_protocol": { + "appliance": "fridge", + "max_samples_per_window": 3960, + "profile": "corrected", + "sample_period": 60, + "schema": "nilmbench.ranking-protocol.v1", + "scope": "smoke", + "target_data_access": "not_applicable", + "task_config_sha256": "95088d9a943c124c25a2cfada707f34088c178ee85b78da9052edbd2cc69fea4", + "task_id": "corrected-t1-redd" + }, + "ranking_protocol_sha256": "bc8002ef4b917cda509fc789093422ad2abfb3d472bd00c7df3f846d750a14b4", + "result_file_sha256": [ + "3962833e2314eee1e46bbebd590c210e46a0eb0bc3e30537df5f2a8d8cf668ce", + "4d3caac5281d0f1806446a9c3a8901fce9b478f56d5edb08b2553a75e06d6ec8", + "dadad9fa5bae1819911c56b12cf4e4b8ec3b7868d1e2bec7d887798b0ac63c49" + ], + "result_ids": [ + "4e999fc15799361633d32acef6da94608ea899a7b283b0ff8db923ee8fa27367", + "e32dde62aeaa11ef61209ce375c61145ba4ece73668f292f4ac5cd8906445fb3", + "f3824bb26ab15d99f6566f327b3c162497ed6881322472848eac1f5ec14463aa" + ], + "run_count": 3, + "runner_git_sha": "adaf03e42f5b8dd6b9ab95942ee191999f2d3b25", + "sample_period": 60, + "scope": "smoke", + "seeds": [ + 10, + 20, + 42 + ], + "sequence_length": 299, + "status": "smoke-verified", + "target_data_access": "not_applicable", + "task": "corrected-t1-redd", + "task_config_sha256": "95088d9a943c124c25a2cfada707f34088c178ee85b78da9052edbd2cc69fea4", + "trainable_parameters_mean": 41921.0, + "trainable_parameters_std": 0.0, + "tuning_study_digest": null, + "verification_failures": [] + }, { "appliance": "fridge", "comparison_protocol": { @@ -711,7 +818,7 @@ }, "protocol_overrides_sha256": "7f654b6d261e1d9a6e733400a6ee383eacf61da0a0f5e45ce5aa7bc88f385056", "provenance_verified": true, - "rank": 7, + "rank": 8, "ranking_protocol": { "appliance": "fridge", "max_samples_per_window": 3960, @@ -818,7 +925,7 @@ }, "protocol_overrides_sha256": "7f654b6d261e1d9a6e733400a6ee383eacf61da0a0f5e45ce5aa7bc88f385056", "provenance_verified": true, - "rank": 8, + "rank": 9, "ranking_protocol": { "appliance": "fridge", "max_samples_per_window": 3960, @@ -925,7 +1032,7 @@ }, "protocol_overrides_sha256": "7f654b6d261e1d9a6e733400a6ee383eacf61da0a0f5e45ce5aa7bc88f385056", "provenance_verified": true, - "rank": 9, + "rank": 10, "ranking_protocol": { "appliance": "fridge", "max_samples_per_window": 3960, @@ -1032,7 +1139,7 @@ }, "protocol_overrides_sha256": "7f654b6d261e1d9a6e733400a6ee383eacf61da0a0f5e45ce5aa7bc88f385056", "provenance_verified": true, - "rank": 10, + "rank": 11, "ranking_protocol": { "appliance": "fridge", "max_samples_per_window": 3960, @@ -1139,7 +1246,7 @@ }, "protocol_overrides_sha256": "7f654b6d261e1d9a6e733400a6ee383eacf61da0a0f5e45ce5aa7bc88f385056", "provenance_verified": true, - "rank": 11, + "rank": 12, "ranking_protocol": { "appliance": "fridge", "max_samples_per_window": 3960, @@ -1246,7 +1353,7 @@ }, "protocol_overrides_sha256": "fe0a640391067d0d8eef3655b630a41151a1bdf4cbff179ce47626525764d28a", "provenance_verified": true, - "rank": 12, + "rank": 13, "ranking_protocol": { "appliance": "fridge", "max_samples_per_window": 3960, @@ -1288,6 +1395,113 @@ "tuning_study_digest": null, "verification_failures": [] }, + { + "appliance": "fridge", + "comparison_protocol": { + "appliances": [ + "fridge" + ], + "effective_epochs": 3, + "effective_sequence_length": 299, + "epochs_override": 3, + "max_samples_per_window": 3960, + "model_selection": null, + "runtime": { + "container_digest": "sha256:d7253754a6a9133235076fa1c1555104aa8be8128443da96bc16ae3d46809aa8", + "container_image": "nilmbench:t0-adaf03e-cuda", + "cuda_runtime": "12.4", + "hardware": "NVIDIA A100-SXM4-80GB", + "nilmbench_git_sha": "adaf03e42f5b8dd6b9ab95942ee191999f2d3b25", + "nilmtk_contrib_git_sha": "8d745493ed9f84dd00fb502ffe85943eaeedc4c8", + "torch": "2.6.0+cu124" + }, + "sample_period": 60, + "schema": "nilmbench.comparison-protocol.v1", + "scope": "smoke", + "target_data_access": "not_applicable", + "task_config_sha256": "95088d9a943c124c25a2cfada707f34088c178ee85b78da9052edbd2cc69fea4", + "task_id": "corrected-t1-redd" + }, + "comparison_protocol_sha256": "e8e370ea20df5ac070b562c1aa9ff41906df66b13863f2b9a0bbb4236065070b", + "container_digest": "sha256:d7253754a6a9133235076fa1c1555104aa8be8128443da96bc16ae3d46809aa8", + "elapsed_seconds_mean": 10.532574492972344, + "elapsed_seconds_std": 0.5725726608996072, + "epochs": 3, + "f1_mean": 0.5695383931401428, + "f1_std": 0.020556263629681836, + "family": "T1", + "hardware": "NVIDIA A100-SXM4-80GB", + "mae_mean": 75.91719656253193, + "mae_std": 2.734092807324406, + "max_samples_per_window": 3960, + "model": "DLinear", + "model_family": "decomposition-linear", + "model_git_sha": "8d745493ed9f84dd00fb502ffe85943eaeedc4c8", + "model_params": { + "batch_size": 128, + "device": "cuda", + "learning_rate": 0.001, + "n_epochs": 3, + "sequence_length": 299 + }, + "model_params_sha256": "9d8de5f72b1010780ee736900644210cd60be6f1e27f64680ed20eaa30c158b6", + "peak_accelerator_memory_bytes_mean": 67753472.0, + "peak_accelerator_memory_bytes_std": 0.0, + "profile": "corrected", + "protocol_overrides": { + "appliances": [ + "fridge" + ], + "epochs": 3, + "max_samples_per_window": 3960, + "model_selection": null, + "sample_period": null, + "sequence_length": 299 + }, + "protocol_overrides_sha256": "7f654b6d261e1d9a6e733400a6ee383eacf61da0a0f5e45ce5aa7bc88f385056", + "provenance_verified": true, + "rank": 14, + "ranking_protocol": { + "appliance": "fridge", + "max_samples_per_window": 3960, + "profile": "corrected", + "sample_period": 60, + "schema": "nilmbench.ranking-protocol.v1", + "scope": "smoke", + "target_data_access": "not_applicable", + "task_config_sha256": "95088d9a943c124c25a2cfada707f34088c178ee85b78da9052edbd2cc69fea4", + "task_id": "corrected-t1-redd" + }, + "ranking_protocol_sha256": "bc8002ef4b917cda509fc789093422ad2abfb3d472bd00c7df3f846d750a14b4", + "result_file_sha256": [ + "13c925b08bc30a2090c45b927ec648068bc404957f2dce6100ec214e8fb18f4e", + "1d728d5874c52b4a287cda1649f4b9630dddcf8e930bcec9aa6fcc38d59b926b", + "44555675cb8b48c3d32c6e093e6eaff990a450a7995e215d4340782106fa5151" + ], + "result_ids": [ + "78ab4c3abc82144693392329e1524df0d73321560a8d70f9e29ec41295b2e1f4", + "8a6f6d6e77e513c1b1f056408fdd4b94d9368587b4fe6619215fe76b9382592e", + "8b441f9b9912432e06fd092dccbd693ca9c68c774894b4f808e4f57d339ed04a" + ], + "run_count": 3, + "runner_git_sha": "adaf03e42f5b8dd6b9ab95942ee191999f2d3b25", + "sample_period": 60, + "scope": "smoke", + "seeds": [ + 10, + 20, + 42 + ], + "sequence_length": 299, + "status": "smoke-verified", + "target_data_access": "not_applicable", + "task": "corrected-t1-redd", + "task_config_sha256": "95088d9a943c124c25a2cfada707f34088c178ee85b78da9052edbd2cc69fea4", + "trainable_parameters_mean": 600.0, + "trainable_parameters_std": 0.0, + "tuning_study_digest": null, + "verification_failures": [] + }, { "appliance": "fridge", "comparison_protocol": { @@ -1353,7 +1567,7 @@ }, "protocol_overrides_sha256": "7f654b6d261e1d9a6e733400a6ee383eacf61da0a0f5e45ce5aa7bc88f385056", "provenance_verified": true, - "rank": 13, + "rank": 15, "ranking_protocol": { "appliance": "fridge", "max_samples_per_window": 3960, @@ -1454,7 +1668,7 @@ }, "protocol_overrides_sha256": "294356c6c7b66030569075b0afb4f8937761162c74d3e189a0091ed038522ccd", "provenance_verified": true, - "rank": 14, + "rank": 16, "ranking_protocol": { "appliance": "fridge", "max_samples_per_window": 3960, @@ -1561,7 +1775,7 @@ }, "protocol_overrides_sha256": "7f654b6d261e1d9a6e733400a6ee383eacf61da0a0f5e45ce5aa7bc88f385056", "provenance_verified": true, - "rank": 15, + "rank": 17, "ranking_protocol": { "appliance": "fridge", "max_samples_per_window": 3960, @@ -1668,7 +1882,7 @@ }, "protocol_overrides_sha256": "7f654b6d261e1d9a6e733400a6ee383eacf61da0a0f5e45ce5aa7bc88f385056", "provenance_verified": true, - "rank": 16, + "rank": 18, "ranking_protocol": { "appliance": "fridge", "max_samples_per_window": 3960, @@ -1775,7 +1989,7 @@ }, "protocol_overrides_sha256": "7f654b6d261e1d9a6e733400a6ee383eacf61da0a0f5e45ce5aa7bc88f385056", "provenance_verified": true, - "rank": 17, + "rank": 19, "ranking_protocol": { "appliance": "fridge", "max_samples_per_window": 3960, @@ -1824,5 +2038,5 @@ 42 ], "schema_version": "1.0", - "source_result_count": 51 + "source_result_count": 57 } diff --git a/pyproject.toml b/pyproject.toml index 0f77eab..b293de0 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -34,7 +34,7 @@ build-runtime = [ benchmark = [ "nilm-metadata @ git+https://github.com/nilmtk/nilm_metadata.git@59c9990de4836d77c0dcd807bd4293e39e0cc314", "nilmtk @ git+https://github.com/nilmtk/nilmtk.git@0768b1b8457eef9de76d123a94e2de8af22a45d0", - "nilmtk-contrib[torch] @ git+https://github.com/nilmtk/nilmtk-contrib.git@825740b39bcd44b3f4bfaf146f4c0d944843b131", + "nilmtk-contrib[torch] @ git+https://github.com/nilmtk/nilmtk-contrib.git@8d745493ed9f84dd00fb502ffe85943eaeedc4c8", "numpy>=1.26,<2", "optuna>=4,<5", "pandas>=2,<3", diff --git a/results/published/corrected-t1-redd--DLinear--seed10--20260717T140238.122280Z/metrics.csv b/results/published/corrected-t1-redd--DLinear--seed10--20260717T140238.122280Z/metrics.csv new file mode 100644 index 0000000..036be84 --- /dev/null +++ b/results/published/corrected-t1-redd--DLinear--seed10--20260717T140238.122280Z/metrics.csv @@ -0,0 +1,2 @@ +appliance,mae,f1,activation_threshold_watts +fridge,78.92690552517564,0.5922662750856583,50.0 diff --git a/results/published/corrected-t1-redd--DLinear--seed10--20260717T140238.122280Z/result.json b/results/published/corrected-t1-redd--DLinear--seed10--20260717T140238.122280Z/result.json new file mode 100644 index 0000000..b08248a --- /dev/null +++ b/results/published/corrected-t1-redd--DLinear--seed10--20260717T140238.122280Z/result.json @@ -0,0 +1,246 @@ +{ + "appliances": [ + "fridge" + ], + "created_at": "2026-07-17T14:02:49.233311+00:00", + "dataset_identities": { + "REDD": { + "id": "REDD", + "path": "/data/redd.h5", + "sha256": "757e694a420157aa035c8fd345915080c2396cb7a37bfeb5f925bcb84f9532b8", + "size_bytes": 401317829 + } + }, + "dataset_manifests": { + "REDD": { + "appliance_ac_types": [ + "active", + "apparent" + ], + "default_path": "/data/redd.h5", + "id": "REDD", + "mains_ac_types": [ + "apparent", + "active" + ], + "path_env": "NILMBENCH_REDD", + "sha256": "757e694a420157aa035c8fd345915080c2396cb7a37bfeb5f925bcb84f9532b8", + "size_bytes": 401317829, + "timezone": "US/Eastern" + } + }, + "max_samples_per_window": 3960, + "metric_policy": { + "description": "Appliance-specific activation thresholds described in NILMBench2026 Section 3.5", + "id": "paper-appliance-thresholds", + "source_url": "https://sustainability-lab.github.io/papers/2026/nilmbench2026_buildsys.pdf", + "thresholds": { + "dish washer": 10.0, + "fridge": 50.0, + "kettle": 2000.0, + "microwave": 200.0, + "television": 10.0, + "washing machine": 20.0 + } + }, + "model": "DLinear", + "model_params": { + "batch_size": 128, + "device": "cuda", + "learning_rate": 0.001, + "n_epochs": 3, + "sequence_length": 299 + }, + "model_params_sha256": "9d8de5f72b1010780ee736900644210cd60be6f1e27f64680ed20eaa30c158b6", + "model_spec": { + "class_name": "DLinear", + "family": "decomposition-linear", + "module": "nilmtk_contrib.torch" + }, + "protocol_overrides": { + "appliances": [ + "fridge" + ], + "epochs": 3, + "max_samples_per_window": 3960, + "model_selection": null, + "sample_period": null, + "sequence_length": 299 + }, + "result_id": "8a6f6d6e77e513c1b1f056408fdd4b94d9368587b4fe6619215fe76b9382592e", + "run": { + "elapsed_seconds": 11.11076397204306, + "elapsed_seconds_by_alignment_group": { + "fridge": 11.110080961952917 + }, + "flops_method": "dense multiply-add estimate; normalization and activations excluded", + "inference_flops_estimate": { + "fridge": null + }, + "metrics": { + "fridge": { + "activation_threshold_watts": 50.0, + "f1": 0.5922662750856583, + "mae": 78.92690552517564 + } + }, + "objective_mae": 78.92690552517564, + "params_by_alignment_group": { + "fridge": { + "batch_size": 128, + "device": "cuda", + "learning_rate": 0.001, + "mains_mean": 327.4779357910156, + "mains_std": 358.8458557128906, + "n_epochs": 3, + "seed": 10, + "sequence_length": 299 + } + }, + "peak_accelerator_memory_bytes": { + "fridge": 67753472 + }, + "test_windows": { + "fridge": [ + { + "actual_end": "2011-05-24T09:59:00-04:00", + "actual_start": "2011-05-22T16:04:00-04:00", + "aligned_sample_fraction": 0.6181818181818182, + "available_end": "2011-05-24T15:56:34", + "available_start": "2011-04-18T09:22:13", + "effective_end": "2011-05-24 10:00:00", + "effective_start": "2011-05-17 10:00:00", + "expected_samples": 3960, + "requested": { + "building": 1, + "dataset": "REDD", + "end": "2011-05-24 10:00:00", + "start": "2011-05-17 10:00:00" + }, + "resolved_appliance_ac_types": { + "fridge": "active" + }, + "resolved_appliances": { + "fridge": [ + "fridge#1" + ] + }, + "resolved_mains_ac_type": "apparent", + "resolved_meters": { + "fridge": [ + "ElecMeterID(instance=5, building=1, dataset='REDD')" + ] + }, + "sample_limit": 3960, + "samples": 2448, + "shared_meter_appliances": { + "fridge": [] + } + } + ] + }, + "train_windows": { + "fridge": [ + { + "actual_end": "2011-04-21T08:33:00-04:00", + "actual_start": "2011-04-18T10:00:00-04:00", + "aligned_sample_fraction": 1.0, + "available_end": "2011-05-24T15:56:34", + "available_start": "2011-04-18T09:22:13", + "effective_end": "2011-05-17 10:00:00", + "effective_start": "2011-04-18 10:00:00", + "expected_samples": 3960, + "requested": { + "building": 1, + "dataset": "REDD", + "end": "2011-05-17 10:00:00", + "start": "2011-04-18 10:00:00" + }, + "resolved_appliance_ac_types": { + "fridge": "active" + }, + "resolved_appliances": { + "fridge": [ + "fridge#1" + ] + }, + "resolved_mains_ac_type": "apparent", + "resolved_meters": { + "fridge": [ + "ElecMeterID(instance=5, building=1, dataset='REDD')" + ] + }, + "sample_limit": 3960, + "samples": 3960, + "shared_meter_appliances": { + "fridge": [] + } + } + ] + }, + "trainable_parameters": { + "fridge": 600 + } + }, + "run_scope": "smoke", + "runtime": { + "container_digest": "sha256:d7253754a6a9133235076fa1c1555104aa8be8128443da96bc16ae3d46809aa8", + "container_image": "nilmbench:t0-adaf03e-cuda", + "cpu": "x86_64", + "cuda_available": true, + "cuda_runtime": "12.4", + "deterministic_algorithms": false, + "gpu": "NVIDIA A100-SXM4-80GB", + "nilm_metadata_version": "0.2.6.dev6+g59c9990de", + "nilmbench_git_dirty": false, + "nilmbench_git_sha": "adaf03e42f5b8dd6b9ab95942ee191999f2d3b25", + "nilmtk_contrib_git_dirty": false, + "nilmtk_contrib_git_sha": "8d745493ed9f84dd00fb502ffe85943eaeedc4c8", + "nilmtk_contrib_version": "0.1.2", + "nilmtk_version": "0.4.1", + "platform": "Linux-5.15.0-139-generic-x86_64-with-glibc2.35", + "python": "3.11.11", + "torch": "2.6.0+cu124" + }, + "sample_period": 60, + "schema_version": "1.2", + "seed": 10, + "study": null, + "task": { + "alignment_policy": "per_appliance", + "appliances": [ + "fridge", + "washing machine", + "microwave", + "dish washer" + ], + "coverage_policy": "strict", + "description": "REDD building 1 with an explicit 29-day train / 7-day test split", + "family": "T1", + "id": "corrected-t1-redd", + "metric_policy": "paper-appliance-thresholds", + "minimum_aligned_fraction": 0.5, + "profile": "corrected", + "sample_period": 60, + "shared_meter_policy": "warn", + "target_data_access": "not_applicable", + "target_label_fraction": null, + "test": [ + { + "building": 1, + "dataset": "REDD", + "end": "2011-05-24 10:00:00", + "start": "2011-05-17 10:00:00" + } + ], + "train": [ + { + "building": 1, + "dataset": "REDD", + "end": "2011-05-17 10:00:00", + "start": "2011-04-18 10:00:00" + } + ] + }, + "task_config_sha256": "95088d9a943c124c25a2cfada707f34088c178ee85b78da9052edbd2cc69fea4" +} diff --git a/results/published/corrected-t1-redd--DLinear--seed20--20260717T140252.222607Z/metrics.csv b/results/published/corrected-t1-redd--DLinear--seed20--20260717T140252.222607Z/metrics.csv new file mode 100644 index 0000000..b8c3968 --- /dev/null +++ b/results/published/corrected-t1-redd--DLinear--seed20--20260717T140252.222607Z/metrics.csv @@ -0,0 +1,2 @@ +appliance,mae,f1,activation_threshold_watts +fridge,73.5868104650986,0.5641025641025641,50.0 diff --git a/results/published/corrected-t1-redd--DLinear--seed20--20260717T140252.222607Z/result.json b/results/published/corrected-t1-redd--DLinear--seed20--20260717T140252.222607Z/result.json new file mode 100644 index 0000000..9eac690 --- /dev/null +++ b/results/published/corrected-t1-redd--DLinear--seed20--20260717T140252.222607Z/result.json @@ -0,0 +1,246 @@ +{ + "appliances": [ + "fridge" + ], + "created_at": "2026-07-17T14:03:02.746415+00:00", + "dataset_identities": { + "REDD": { + "id": "REDD", + "path": "/data/redd.h5", + "sha256": "757e694a420157aa035c8fd345915080c2396cb7a37bfeb5f925bcb84f9532b8", + "size_bytes": 401317829 + } + }, + "dataset_manifests": { + "REDD": { + "appliance_ac_types": [ + "active", + "apparent" + ], + "default_path": "/data/redd.h5", + "id": "REDD", + "mains_ac_types": [ + "apparent", + "active" + ], + "path_env": "NILMBENCH_REDD", + "sha256": "757e694a420157aa035c8fd345915080c2396cb7a37bfeb5f925bcb84f9532b8", + "size_bytes": 401317829, + "timezone": "US/Eastern" + } + }, + "max_samples_per_window": 3960, + "metric_policy": { + "description": "Appliance-specific activation thresholds described in NILMBench2026 Section 3.5", + "id": "paper-appliance-thresholds", + "source_url": "https://sustainability-lab.github.io/papers/2026/nilmbench2026_buildsys.pdf", + "thresholds": { + "dish washer": 10.0, + "fridge": 50.0, + "kettle": 2000.0, + "microwave": 200.0, + "television": 10.0, + "washing machine": 20.0 + } + }, + "model": "DLinear", + "model_params": { + "batch_size": 128, + "device": "cuda", + "learning_rate": 0.001, + "n_epochs": 3, + "sequence_length": 299 + }, + "model_params_sha256": "9d8de5f72b1010780ee736900644210cd60be6f1e27f64680ed20eaa30c158b6", + "model_spec": { + "class_name": "DLinear", + "family": "decomposition-linear", + "module": "nilmtk_contrib.torch" + }, + "protocol_overrides": { + "appliances": [ + "fridge" + ], + "epochs": 3, + "max_samples_per_window": 3960, + "model_selection": null, + "sample_period": null, + "sequence_length": 299 + }, + "result_id": "78ab4c3abc82144693392329e1524df0d73321560a8d70f9e29ec41295b2e1f4", + "run": { + "elapsed_seconds": 10.523487938917242, + "elapsed_seconds_by_alignment_group": { + "fridge": 10.522575918934308 + }, + "flops_method": "dense multiply-add estimate; normalization and activations excluded", + "inference_flops_estimate": { + "fridge": null + }, + "metrics": { + "fridge": { + "activation_threshold_watts": 50.0, + "f1": 0.5641025641025641, + "mae": 73.5868104650986 + } + }, + "objective_mae": 73.5868104650986, + "params_by_alignment_group": { + "fridge": { + "batch_size": 128, + "device": "cuda", + "learning_rate": 0.001, + "mains_mean": 327.4779357910156, + "mains_std": 358.8458557128906, + "n_epochs": 3, + "seed": 20, + "sequence_length": 299 + } + }, + "peak_accelerator_memory_bytes": { + "fridge": 67753472 + }, + "test_windows": { + "fridge": [ + { + "actual_end": "2011-05-24T09:59:00-04:00", + "actual_start": "2011-05-22T16:04:00-04:00", + "aligned_sample_fraction": 0.6181818181818182, + "available_end": "2011-05-24T15:56:34", + "available_start": "2011-04-18T09:22:13", + "effective_end": "2011-05-24 10:00:00", + "effective_start": "2011-05-17 10:00:00", + "expected_samples": 3960, + "requested": { + "building": 1, + "dataset": "REDD", + "end": "2011-05-24 10:00:00", + "start": "2011-05-17 10:00:00" + }, + "resolved_appliance_ac_types": { + "fridge": "active" + }, + "resolved_appliances": { + "fridge": [ + "fridge#1" + ] + }, + "resolved_mains_ac_type": "apparent", + "resolved_meters": { + "fridge": [ + "ElecMeterID(instance=5, building=1, dataset='REDD')" + ] + }, + "sample_limit": 3960, + "samples": 2448, + "shared_meter_appliances": { + "fridge": [] + } + } + ] + }, + "train_windows": { + "fridge": [ + { + "actual_end": "2011-04-21T08:33:00-04:00", + "actual_start": "2011-04-18T10:00:00-04:00", + "aligned_sample_fraction": 1.0, + "available_end": "2011-05-24T15:56:34", + "available_start": "2011-04-18T09:22:13", + "effective_end": "2011-05-17 10:00:00", + "effective_start": "2011-04-18 10:00:00", + "expected_samples": 3960, + "requested": { + "building": 1, + "dataset": "REDD", + "end": "2011-05-17 10:00:00", + "start": "2011-04-18 10:00:00" + }, + "resolved_appliance_ac_types": { + "fridge": "active" + }, + "resolved_appliances": { + "fridge": [ + "fridge#1" + ] + }, + "resolved_mains_ac_type": "apparent", + "resolved_meters": { + "fridge": [ + "ElecMeterID(instance=5, building=1, dataset='REDD')" + ] + }, + "sample_limit": 3960, + "samples": 3960, + "shared_meter_appliances": { + "fridge": [] + } + } + ] + }, + "trainable_parameters": { + "fridge": 600 + } + }, + "run_scope": "smoke", + "runtime": { + "container_digest": "sha256:d7253754a6a9133235076fa1c1555104aa8be8128443da96bc16ae3d46809aa8", + "container_image": "nilmbench:t0-adaf03e-cuda", + "cpu": "x86_64", + "cuda_available": true, + "cuda_runtime": "12.4", + "deterministic_algorithms": false, + "gpu": "NVIDIA A100-SXM4-80GB", + "nilm_metadata_version": "0.2.6.dev6+g59c9990de", + "nilmbench_git_dirty": false, + "nilmbench_git_sha": "adaf03e42f5b8dd6b9ab95942ee191999f2d3b25", + "nilmtk_contrib_git_dirty": false, + "nilmtk_contrib_git_sha": "8d745493ed9f84dd00fb502ffe85943eaeedc4c8", + "nilmtk_contrib_version": "0.1.2", + "nilmtk_version": "0.4.1", + "platform": "Linux-5.15.0-139-generic-x86_64-with-glibc2.35", + "python": "3.11.11", + "torch": "2.6.0+cu124" + }, + "sample_period": 60, + "schema_version": "1.2", + "seed": 20, + "study": null, + "task": { + "alignment_policy": "per_appliance", + "appliances": [ + "fridge", + "washing machine", + "microwave", + "dish washer" + ], + "coverage_policy": "strict", + "description": "REDD building 1 with an explicit 29-day train / 7-day test split", + "family": "T1", + "id": "corrected-t1-redd", + "metric_policy": "paper-appliance-thresholds", + "minimum_aligned_fraction": 0.5, + "profile": "corrected", + "sample_period": 60, + "shared_meter_policy": "warn", + "target_data_access": "not_applicable", + "target_label_fraction": null, + "test": [ + { + "building": 1, + "dataset": "REDD", + "end": "2011-05-24 10:00:00", + "start": "2011-05-17 10:00:00" + } + ], + "train": [ + { + "building": 1, + "dataset": "REDD", + "end": "2011-05-17 10:00:00", + "start": "2011-04-18 10:00:00" + } + ] + }, + "task_config_sha256": "95088d9a943c124c25a2cfada707f34088c178ee85b78da9052edbd2cc69fea4" +} diff --git a/results/published/corrected-t1-redd--DLinear--seed42--20260717T140252.318793Z/metrics.csv b/results/published/corrected-t1-redd--DLinear--seed42--20260717T140252.318793Z/metrics.csv new file mode 100644 index 0000000..3903d60 --- /dev/null +++ b/results/published/corrected-t1-redd--DLinear--seed42--20260717T140252.318793Z/metrics.csv @@ -0,0 +1,2 @@ +appliance,mae,f1,activation_threshold_watts +fridge,75.23787369732155,0.552246340232206,50.0 diff --git a/results/published/corrected-t1-redd--DLinear--seed42--20260717T140252.318793Z/result.json b/results/published/corrected-t1-redd--DLinear--seed42--20260717T140252.318793Z/result.json new file mode 100644 index 0000000..733b548 --- /dev/null +++ b/results/published/corrected-t1-redd--DLinear--seed42--20260717T140252.318793Z/result.json @@ -0,0 +1,246 @@ +{ + "appliances": [ + "fridge" + ], + "created_at": "2026-07-17T14:03:02.284818+00:00", + "dataset_identities": { + "REDD": { + "id": "REDD", + "path": "/data/redd.h5", + "sha256": "757e694a420157aa035c8fd345915080c2396cb7a37bfeb5f925bcb84f9532b8", + "size_bytes": 401317829 + } + }, + "dataset_manifests": { + "REDD": { + "appliance_ac_types": [ + "active", + "apparent" + ], + "default_path": "/data/redd.h5", + "id": "REDD", + "mains_ac_types": [ + "apparent", + "active" + ], + "path_env": "NILMBENCH_REDD", + "sha256": "757e694a420157aa035c8fd345915080c2396cb7a37bfeb5f925bcb84f9532b8", + "size_bytes": 401317829, + "timezone": "US/Eastern" + } + }, + "max_samples_per_window": 3960, + "metric_policy": { + "description": "Appliance-specific activation thresholds described in NILMBench2026 Section 3.5", + "id": "paper-appliance-thresholds", + "source_url": "https://sustainability-lab.github.io/papers/2026/nilmbench2026_buildsys.pdf", + "thresholds": { + "dish washer": 10.0, + "fridge": 50.0, + "kettle": 2000.0, + "microwave": 200.0, + "television": 10.0, + "washing machine": 20.0 + } + }, + "model": "DLinear", + "model_params": { + "batch_size": 128, + "device": "cuda", + "learning_rate": 0.001, + "n_epochs": 3, + "sequence_length": 299 + }, + "model_params_sha256": "9d8de5f72b1010780ee736900644210cd60be6f1e27f64680ed20eaa30c158b6", + "model_spec": { + "class_name": "DLinear", + "family": "decomposition-linear", + "module": "nilmtk_contrib.torch" + }, + "protocol_overrides": { + "appliances": [ + "fridge" + ], + "epochs": 3, + "max_samples_per_window": 3960, + "model_selection": null, + "sample_period": null, + "sequence_length": 299 + }, + "result_id": "8b441f9b9912432e06fd092dccbd693ca9c68c774894b4f808e4f57d339ed04a", + "run": { + "elapsed_seconds": 9.965742047061212, + "elapsed_seconds_by_alignment_group": { + "fridge": 9.965066598029807 + }, + "flops_method": "dense multiply-add estimate; normalization and activations excluded", + "inference_flops_estimate": { + "fridge": null + }, + "metrics": { + "fridge": { + "activation_threshold_watts": 50.0, + "f1": 0.552246340232206, + "mae": 75.23787369732155 + } + }, + "objective_mae": 75.23787369732155, + "params_by_alignment_group": { + "fridge": { + "batch_size": 128, + "device": "cuda", + "learning_rate": 0.001, + "mains_mean": 327.4779357910156, + "mains_std": 358.8458557128906, + "n_epochs": 3, + "seed": 42, + "sequence_length": 299 + } + }, + "peak_accelerator_memory_bytes": { + "fridge": 67753472 + }, + "test_windows": { + "fridge": [ + { + "actual_end": "2011-05-24T09:59:00-04:00", + "actual_start": "2011-05-22T16:04:00-04:00", + "aligned_sample_fraction": 0.6181818181818182, + "available_end": "2011-05-24T15:56:34", + "available_start": "2011-04-18T09:22:13", + "effective_end": "2011-05-24 10:00:00", + "effective_start": "2011-05-17 10:00:00", + "expected_samples": 3960, + "requested": { + "building": 1, + "dataset": "REDD", + "end": "2011-05-24 10:00:00", + "start": "2011-05-17 10:00:00" + }, + "resolved_appliance_ac_types": { + "fridge": "active" + }, + "resolved_appliances": { + "fridge": [ + "fridge#1" + ] + }, + "resolved_mains_ac_type": "apparent", + "resolved_meters": { + "fridge": [ + "ElecMeterID(instance=5, building=1, dataset='REDD')" + ] + }, + "sample_limit": 3960, + "samples": 2448, + "shared_meter_appliances": { + "fridge": [] + } + } + ] + }, + "train_windows": { + "fridge": [ + { + "actual_end": "2011-04-21T08:33:00-04:00", + "actual_start": "2011-04-18T10:00:00-04:00", + "aligned_sample_fraction": 1.0, + "available_end": "2011-05-24T15:56:34", + "available_start": "2011-04-18T09:22:13", + "effective_end": "2011-05-17 10:00:00", + "effective_start": "2011-04-18 10:00:00", + "expected_samples": 3960, + "requested": { + "building": 1, + "dataset": "REDD", + "end": "2011-05-17 10:00:00", + "start": "2011-04-18 10:00:00" + }, + "resolved_appliance_ac_types": { + "fridge": "active" + }, + "resolved_appliances": { + "fridge": [ + "fridge#1" + ] + }, + "resolved_mains_ac_type": "apparent", + "resolved_meters": { + "fridge": [ + "ElecMeterID(instance=5, building=1, dataset='REDD')" + ] + }, + "sample_limit": 3960, + "samples": 3960, + "shared_meter_appliances": { + "fridge": [] + } + } + ] + }, + "trainable_parameters": { + "fridge": 600 + } + }, + "run_scope": "smoke", + "runtime": { + "container_digest": "sha256:d7253754a6a9133235076fa1c1555104aa8be8128443da96bc16ae3d46809aa8", + "container_image": "nilmbench:t0-adaf03e-cuda", + "cpu": "x86_64", + "cuda_available": true, + "cuda_runtime": "12.4", + "deterministic_algorithms": false, + "gpu": "NVIDIA A100-SXM4-80GB", + "nilm_metadata_version": "0.2.6.dev6+g59c9990de", + "nilmbench_git_dirty": false, + "nilmbench_git_sha": "adaf03e42f5b8dd6b9ab95942ee191999f2d3b25", + "nilmtk_contrib_git_dirty": false, + "nilmtk_contrib_git_sha": "8d745493ed9f84dd00fb502ffe85943eaeedc4c8", + "nilmtk_contrib_version": "0.1.2", + "nilmtk_version": "0.4.1", + "platform": "Linux-5.15.0-139-generic-x86_64-with-glibc2.35", + "python": "3.11.11", + "torch": "2.6.0+cu124" + }, + "sample_period": 60, + "schema_version": "1.2", + "seed": 42, + "study": null, + "task": { + "alignment_policy": "per_appliance", + "appliances": [ + "fridge", + "washing machine", + "microwave", + "dish washer" + ], + "coverage_policy": "strict", + "description": "REDD building 1 with an explicit 29-day train / 7-day test split", + "family": "T1", + "id": "corrected-t1-redd", + "metric_policy": "paper-appliance-thresholds", + "minimum_aligned_fraction": 0.5, + "profile": "corrected", + "sample_period": 60, + "shared_meter_policy": "warn", + "target_data_access": "not_applicable", + "target_label_fraction": null, + "test": [ + { + "building": 1, + "dataset": "REDD", + "end": "2011-05-24 10:00:00", + "start": "2011-05-17 10:00:00" + } + ], + "train": [ + { + "building": 1, + "dataset": "REDD", + "end": "2011-05-17 10:00:00", + "start": "2011-04-18 10:00:00" + } + ] + }, + "task_config_sha256": "95088d9a943c124c25a2cfada707f34088c178ee85b78da9052edbd2cc69fea4" +} diff --git a/results/published/corrected-t1-redd--ModernTCN--seed10--20260717T140238.123353Z/metrics.csv b/results/published/corrected-t1-redd--ModernTCN--seed10--20260717T140238.123353Z/metrics.csv new file mode 100644 index 0000000..8942c7f --- /dev/null +++ b/results/published/corrected-t1-redd--ModernTCN--seed10--20260717T140238.123353Z/metrics.csv @@ -0,0 +1,2 @@ +appliance,mae,f1,activation_threshold_watts +fridge,57.495228253679315,0.6646433990895296,50.0 diff --git a/results/published/corrected-t1-redd--ModernTCN--seed10--20260717T140238.123353Z/result.json b/results/published/corrected-t1-redd--ModernTCN--seed10--20260717T140238.123353Z/result.json new file mode 100644 index 0000000..a9afc29 --- /dev/null +++ b/results/published/corrected-t1-redd--ModernTCN--seed10--20260717T140238.123353Z/result.json @@ -0,0 +1,246 @@ +{ + "appliances": [ + "fridge" + ], + "created_at": "2026-07-17T14:02:48.814966+00:00", + "dataset_identities": { + "REDD": { + "id": "REDD", + "path": "/data/redd.h5", + "sha256": "757e694a420157aa035c8fd345915080c2396cb7a37bfeb5f925bcb84f9532b8", + "size_bytes": 401317829 + } + }, + "dataset_manifests": { + "REDD": { + "appliance_ac_types": [ + "active", + "apparent" + ], + "default_path": "/data/redd.h5", + "id": "REDD", + "mains_ac_types": [ + "apparent", + "active" + ], + "path_env": "NILMBENCH_REDD", + "sha256": "757e694a420157aa035c8fd345915080c2396cb7a37bfeb5f925bcb84f9532b8", + "size_bytes": 401317829, + "timezone": "US/Eastern" + } + }, + "max_samples_per_window": 3960, + "metric_policy": { + "description": "Appliance-specific activation thresholds described in NILMBench2026 Section 3.5", + "id": "paper-appliance-thresholds", + "source_url": "https://sustainability-lab.github.io/papers/2026/nilmbench2026_buildsys.pdf", + "thresholds": { + "dish washer": 10.0, + "fridge": 50.0, + "kettle": 2000.0, + "microwave": 200.0, + "television": 10.0, + "washing machine": 20.0 + } + }, + "model": "ModernTCN", + "model_params": { + "batch_size": 128, + "device": "cuda", + "learning_rate": 0.001, + "n_epochs": 3, + "sequence_length": 299 + }, + "model_params_sha256": "9d8de5f72b1010780ee736900644210cd60be6f1e27f64680ed20eaa30c158b6", + "model_spec": { + "class_name": "ModernTCN", + "family": "convolutional", + "module": "nilmtk_contrib.torch" + }, + "protocol_overrides": { + "appliances": [ + "fridge" + ], + "epochs": 3, + "max_samples_per_window": 3960, + "model_selection": null, + "sample_period": null, + "sequence_length": 299 + }, + "result_id": "e32dde62aeaa11ef61209ce375c61145ba4ece73668f292f4ac5cd8906445fb3", + "run": { + "elapsed_seconds": 10.691104182973504, + "elapsed_seconds_by_alignment_group": { + "fridge": 10.689966613077559 + }, + "flops_method": "dense multiply-add estimate; normalization and activations excluded", + "inference_flops_estimate": { + "fridge": null + }, + "metrics": { + "fridge": { + "activation_threshold_watts": 50.0, + "f1": 0.6646433990895296, + "mae": 57.495228253679315 + } + }, + "objective_mae": 57.495228253679315, + "params_by_alignment_group": { + "fridge": { + "batch_size": 128, + "device": "cuda", + "learning_rate": 0.001, + "mains_mean": 327.4779357910156, + "mains_std": 358.8458557128906, + "n_epochs": 3, + "seed": 10, + "sequence_length": 299 + } + }, + "peak_accelerator_memory_bytes": { + "fridge": 95785984 + }, + "test_windows": { + "fridge": [ + { + "actual_end": "2011-05-24T09:59:00-04:00", + "actual_start": "2011-05-22T16:04:00-04:00", + "aligned_sample_fraction": 0.6181818181818182, + "available_end": "2011-05-24T15:56:34", + "available_start": "2011-04-18T09:22:13", + "effective_end": "2011-05-24 10:00:00", + "effective_start": "2011-05-17 10:00:00", + "expected_samples": 3960, + "requested": { + "building": 1, + "dataset": "REDD", + "end": "2011-05-24 10:00:00", + "start": "2011-05-17 10:00:00" + }, + "resolved_appliance_ac_types": { + "fridge": "active" + }, + "resolved_appliances": { + "fridge": [ + "fridge#1" + ] + }, + "resolved_mains_ac_type": "apparent", + "resolved_meters": { + "fridge": [ + "ElecMeterID(instance=5, building=1, dataset='REDD')" + ] + }, + "sample_limit": 3960, + "samples": 2448, + "shared_meter_appliances": { + "fridge": [] + } + } + ] + }, + "train_windows": { + "fridge": [ + { + "actual_end": "2011-04-21T08:33:00-04:00", + "actual_start": "2011-04-18T10:00:00-04:00", + "aligned_sample_fraction": 1.0, + "available_end": "2011-05-24T15:56:34", + "available_start": "2011-04-18T09:22:13", + "effective_end": "2011-05-17 10:00:00", + "effective_start": "2011-04-18 10:00:00", + "expected_samples": 3960, + "requested": { + "building": 1, + "dataset": "REDD", + "end": "2011-05-17 10:00:00", + "start": "2011-04-18 10:00:00" + }, + "resolved_appliance_ac_types": { + "fridge": "active" + }, + "resolved_appliances": { + "fridge": [ + "fridge#1" + ] + }, + "resolved_mains_ac_type": "apparent", + "resolved_meters": { + "fridge": [ + "ElecMeterID(instance=5, building=1, dataset='REDD')" + ] + }, + "sample_limit": 3960, + "samples": 3960, + "shared_meter_appliances": { + "fridge": [] + } + } + ] + }, + "trainable_parameters": { + "fridge": 41921 + } + }, + "run_scope": "smoke", + "runtime": { + "container_digest": "sha256:d7253754a6a9133235076fa1c1555104aa8be8128443da96bc16ae3d46809aa8", + "container_image": "nilmbench:t0-adaf03e-cuda", + "cpu": "x86_64", + "cuda_available": true, + "cuda_runtime": "12.4", + "deterministic_algorithms": false, + "gpu": "NVIDIA A100-SXM4-80GB", + "nilm_metadata_version": "0.2.6.dev6+g59c9990de", + "nilmbench_git_dirty": false, + "nilmbench_git_sha": "adaf03e42f5b8dd6b9ab95942ee191999f2d3b25", + "nilmtk_contrib_git_dirty": false, + "nilmtk_contrib_git_sha": "8d745493ed9f84dd00fb502ffe85943eaeedc4c8", + "nilmtk_contrib_version": "0.1.2", + "nilmtk_version": "0.4.1", + "platform": "Linux-5.15.0-139-generic-x86_64-with-glibc2.35", + "python": "3.11.11", + "torch": "2.6.0+cu124" + }, + "sample_period": 60, + "schema_version": "1.2", + "seed": 10, + "study": null, + "task": { + "alignment_policy": "per_appliance", + "appliances": [ + "fridge", + "washing machine", + "microwave", + "dish washer" + ], + "coverage_policy": "strict", + "description": "REDD building 1 with an explicit 29-day train / 7-day test split", + "family": "T1", + "id": "corrected-t1-redd", + "metric_policy": "paper-appliance-thresholds", + "minimum_aligned_fraction": 0.5, + "profile": "corrected", + "sample_period": 60, + "shared_meter_policy": "warn", + "target_data_access": "not_applicable", + "target_label_fraction": null, + "test": [ + { + "building": 1, + "dataset": "REDD", + "end": "2011-05-24 10:00:00", + "start": "2011-05-17 10:00:00" + } + ], + "train": [ + { + "building": 1, + "dataset": "REDD", + "end": "2011-05-17 10:00:00", + "start": "2011-04-18 10:00:00" + } + ] + }, + "task_config_sha256": "95088d9a943c124c25a2cfada707f34088c178ee85b78da9052edbd2cc69fea4" +} diff --git a/results/published/corrected-t1-redd--ModernTCN--seed20--20260717T140238.067657Z/metrics.csv b/results/published/corrected-t1-redd--ModernTCN--seed20--20260717T140238.067657Z/metrics.csv new file mode 100644 index 0000000..94bfb6d --- /dev/null +++ b/results/published/corrected-t1-redd--ModernTCN--seed20--20260717T140238.067657Z/metrics.csv @@ -0,0 +1,2 @@ +appliance,mae,f1,activation_threshold_watts +fridge,54.58942287807578,0.6605005440696409,50.0 diff --git a/results/published/corrected-t1-redd--ModernTCN--seed20--20260717T140238.067657Z/result.json b/results/published/corrected-t1-redd--ModernTCN--seed20--20260717T140238.067657Z/result.json new file mode 100644 index 0000000..5a844b3 --- /dev/null +++ b/results/published/corrected-t1-redd--ModernTCN--seed20--20260717T140238.067657Z/result.json @@ -0,0 +1,246 @@ +{ + "appliances": [ + "fridge" + ], + "created_at": "2026-07-17T14:02:48.950390+00:00", + "dataset_identities": { + "REDD": { + "id": "REDD", + "path": "/data/redd.h5", + "sha256": "757e694a420157aa035c8fd345915080c2396cb7a37bfeb5f925bcb84f9532b8", + "size_bytes": 401317829 + } + }, + "dataset_manifests": { + "REDD": { + "appliance_ac_types": [ + "active", + "apparent" + ], + "default_path": "/data/redd.h5", + "id": "REDD", + "mains_ac_types": [ + "apparent", + "active" + ], + "path_env": "NILMBENCH_REDD", + "sha256": "757e694a420157aa035c8fd345915080c2396cb7a37bfeb5f925bcb84f9532b8", + "size_bytes": 401317829, + "timezone": "US/Eastern" + } + }, + "max_samples_per_window": 3960, + "metric_policy": { + "description": "Appliance-specific activation thresholds described in NILMBench2026 Section 3.5", + "id": "paper-appliance-thresholds", + "source_url": "https://sustainability-lab.github.io/papers/2026/nilmbench2026_buildsys.pdf", + "thresholds": { + "dish washer": 10.0, + "fridge": 50.0, + "kettle": 2000.0, + "microwave": 200.0, + "television": 10.0, + "washing machine": 20.0 + } + }, + "model": "ModernTCN", + "model_params": { + "batch_size": 128, + "device": "cuda", + "learning_rate": 0.001, + "n_epochs": 3, + "sequence_length": 299 + }, + "model_params_sha256": "9d8de5f72b1010780ee736900644210cd60be6f1e27f64680ed20eaa30c158b6", + "model_spec": { + "class_name": "ModernTCN", + "family": "convolutional", + "module": "nilmtk_contrib.torch" + }, + "protocol_overrides": { + "appliances": [ + "fridge" + ], + "epochs": 3, + "max_samples_per_window": 3960, + "model_selection": null, + "sample_period": null, + "sequence_length": 299 + }, + "result_id": "f3824bb26ab15d99f6566f327b3c162497ed6881322472848eac1f5ec14463aa", + "run": { + "elapsed_seconds": 10.88232648698613, + "elapsed_seconds_by_alignment_group": { + "fridge": 10.881626846967265 + }, + "flops_method": "dense multiply-add estimate; normalization and activations excluded", + "inference_flops_estimate": { + "fridge": null + }, + "metrics": { + "fridge": { + "activation_threshold_watts": 50.0, + "f1": 0.6605005440696409, + "mae": 54.58942287807578 + } + }, + "objective_mae": 54.58942287807578, + "params_by_alignment_group": { + "fridge": { + "batch_size": 128, + "device": "cuda", + "learning_rate": 0.001, + "mains_mean": 327.4779357910156, + "mains_std": 358.8458557128906, + "n_epochs": 3, + "seed": 20, + "sequence_length": 299 + } + }, + "peak_accelerator_memory_bytes": { + "fridge": 95785984 + }, + "test_windows": { + "fridge": [ + { + "actual_end": "2011-05-24T09:59:00-04:00", + "actual_start": "2011-05-22T16:04:00-04:00", + "aligned_sample_fraction": 0.6181818181818182, + "available_end": "2011-05-24T15:56:34", + "available_start": "2011-04-18T09:22:13", + "effective_end": "2011-05-24 10:00:00", + "effective_start": "2011-05-17 10:00:00", + "expected_samples": 3960, + "requested": { + "building": 1, + "dataset": "REDD", + "end": "2011-05-24 10:00:00", + "start": "2011-05-17 10:00:00" + }, + "resolved_appliance_ac_types": { + "fridge": "active" + }, + "resolved_appliances": { + "fridge": [ + "fridge#1" + ] + }, + "resolved_mains_ac_type": "apparent", + "resolved_meters": { + "fridge": [ + "ElecMeterID(instance=5, building=1, dataset='REDD')" + ] + }, + "sample_limit": 3960, + "samples": 2448, + "shared_meter_appliances": { + "fridge": [] + } + } + ] + }, + "train_windows": { + "fridge": [ + { + "actual_end": "2011-04-21T08:33:00-04:00", + "actual_start": "2011-04-18T10:00:00-04:00", + "aligned_sample_fraction": 1.0, + "available_end": "2011-05-24T15:56:34", + "available_start": "2011-04-18T09:22:13", + "effective_end": "2011-05-17 10:00:00", + "effective_start": "2011-04-18 10:00:00", + "expected_samples": 3960, + "requested": { + "building": 1, + "dataset": "REDD", + "end": "2011-05-17 10:00:00", + "start": "2011-04-18 10:00:00" + }, + "resolved_appliance_ac_types": { + "fridge": "active" + }, + "resolved_appliances": { + "fridge": [ + "fridge#1" + ] + }, + "resolved_mains_ac_type": "apparent", + "resolved_meters": { + "fridge": [ + "ElecMeterID(instance=5, building=1, dataset='REDD')" + ] + }, + "sample_limit": 3960, + "samples": 3960, + "shared_meter_appliances": { + "fridge": [] + } + } + ] + }, + "trainable_parameters": { + "fridge": 41921 + } + }, + "run_scope": "smoke", + "runtime": { + "container_digest": "sha256:d7253754a6a9133235076fa1c1555104aa8be8128443da96bc16ae3d46809aa8", + "container_image": "nilmbench:t0-adaf03e-cuda", + "cpu": "x86_64", + "cuda_available": true, + "cuda_runtime": "12.4", + "deterministic_algorithms": false, + "gpu": "NVIDIA A100-SXM4-80GB", + "nilm_metadata_version": "0.2.6.dev6+g59c9990de", + "nilmbench_git_dirty": false, + "nilmbench_git_sha": "adaf03e42f5b8dd6b9ab95942ee191999f2d3b25", + "nilmtk_contrib_git_dirty": false, + "nilmtk_contrib_git_sha": "8d745493ed9f84dd00fb502ffe85943eaeedc4c8", + "nilmtk_contrib_version": "0.1.2", + "nilmtk_version": "0.4.1", + "platform": "Linux-5.15.0-139-generic-x86_64-with-glibc2.35", + "python": "3.11.11", + "torch": "2.6.0+cu124" + }, + "sample_period": 60, + "schema_version": "1.2", + "seed": 20, + "study": null, + "task": { + "alignment_policy": "per_appliance", + "appliances": [ + "fridge", + "washing machine", + "microwave", + "dish washer" + ], + "coverage_policy": "strict", + "description": "REDD building 1 with an explicit 29-day train / 7-day test split", + "family": "T1", + "id": "corrected-t1-redd", + "metric_policy": "paper-appliance-thresholds", + "minimum_aligned_fraction": 0.5, + "profile": "corrected", + "sample_period": 60, + "shared_meter_policy": "warn", + "target_data_access": "not_applicable", + "target_label_fraction": null, + "test": [ + { + "building": 1, + "dataset": "REDD", + "end": "2011-05-24 10:00:00", + "start": "2011-05-17 10:00:00" + } + ], + "train": [ + { + "building": 1, + "dataset": "REDD", + "end": "2011-05-17 10:00:00", + "start": "2011-04-18 10:00:00" + } + ] + }, + "task_config_sha256": "95088d9a943c124c25a2cfada707f34088c178ee85b78da9052edbd2cc69fea4" +} diff --git a/results/published/corrected-t1-redd--ModernTCN--seed42--20260717T140238.089370Z/metrics.csv b/results/published/corrected-t1-redd--ModernTCN--seed42--20260717T140238.089370Z/metrics.csv new file mode 100644 index 0000000..361a311 --- /dev/null +++ b/results/published/corrected-t1-redd--ModernTCN--seed42--20260717T140238.089370Z/metrics.csv @@ -0,0 +1,2 @@ +appliance,mae,f1,activation_threshold_watts +fridge,57.785217632216956,0.6507072905331882,50.0 diff --git a/results/published/corrected-t1-redd--ModernTCN--seed42--20260717T140238.089370Z/result.json b/results/published/corrected-t1-redd--ModernTCN--seed42--20260717T140238.089370Z/result.json new file mode 100644 index 0000000..d3865c9 --- /dev/null +++ b/results/published/corrected-t1-redd--ModernTCN--seed42--20260717T140238.089370Z/result.json @@ -0,0 +1,246 @@ +{ + "appliances": [ + "fridge" + ], + "created_at": "2026-07-17T14:02:51.177419+00:00", + "dataset_identities": { + "REDD": { + "id": "REDD", + "path": "/data/redd.h5", + "sha256": "757e694a420157aa035c8fd345915080c2396cb7a37bfeb5f925bcb84f9532b8", + "size_bytes": 401317829 + } + }, + "dataset_manifests": { + "REDD": { + "appliance_ac_types": [ + "active", + "apparent" + ], + "default_path": "/data/redd.h5", + "id": "REDD", + "mains_ac_types": [ + "apparent", + "active" + ], + "path_env": "NILMBENCH_REDD", + "sha256": "757e694a420157aa035c8fd345915080c2396cb7a37bfeb5f925bcb84f9532b8", + "size_bytes": 401317829, + "timezone": "US/Eastern" + } + }, + "max_samples_per_window": 3960, + "metric_policy": { + "description": "Appliance-specific activation thresholds described in NILMBench2026 Section 3.5", + "id": "paper-appliance-thresholds", + "source_url": "https://sustainability-lab.github.io/papers/2026/nilmbench2026_buildsys.pdf", + "thresholds": { + "dish washer": 10.0, + "fridge": 50.0, + "kettle": 2000.0, + "microwave": 200.0, + "television": 10.0, + "washing machine": 20.0 + } + }, + "model": "ModernTCN", + "model_params": { + "batch_size": 128, + "device": "cuda", + "learning_rate": 0.001, + "n_epochs": 3, + "sequence_length": 299 + }, + "model_params_sha256": "9d8de5f72b1010780ee736900644210cd60be6f1e27f64680ed20eaa30c158b6", + "model_spec": { + "class_name": "ModernTCN", + "family": "convolutional", + "module": "nilmtk_contrib.torch" + }, + "protocol_overrides": { + "appliances": [ + "fridge" + ], + "epochs": 3, + "max_samples_per_window": 3960, + "model_selection": null, + "sample_period": null, + "sequence_length": 299 + }, + "result_id": "4e999fc15799361633d32acef6da94608ea899a7b283b0ff8db923ee8fa27367", + "run": { + "elapsed_seconds": 13.08757717302069, + "elapsed_seconds_by_alignment_group": { + "fridge": 13.08618107298389 + }, + "flops_method": "dense multiply-add estimate; normalization and activations excluded", + "inference_flops_estimate": { + "fridge": null + }, + "metrics": { + "fridge": { + "activation_threshold_watts": 50.0, + "f1": 0.6507072905331882, + "mae": 57.785217632216956 + } + }, + "objective_mae": 57.785217632216956, + "params_by_alignment_group": { + "fridge": { + "batch_size": 128, + "device": "cuda", + "learning_rate": 0.001, + "mains_mean": 327.4779357910156, + "mains_std": 358.8458557128906, + "n_epochs": 3, + "seed": 42, + "sequence_length": 299 + } + }, + "peak_accelerator_memory_bytes": { + "fridge": 95785984 + }, + "test_windows": { + "fridge": [ + { + "actual_end": "2011-05-24T09:59:00-04:00", + "actual_start": "2011-05-22T16:04:00-04:00", + "aligned_sample_fraction": 0.6181818181818182, + "available_end": "2011-05-24T15:56:34", + "available_start": "2011-04-18T09:22:13", + "effective_end": "2011-05-24 10:00:00", + "effective_start": "2011-05-17 10:00:00", + "expected_samples": 3960, + "requested": { + "building": 1, + "dataset": "REDD", + "end": "2011-05-24 10:00:00", + "start": "2011-05-17 10:00:00" + }, + "resolved_appliance_ac_types": { + "fridge": "active" + }, + "resolved_appliances": { + "fridge": [ + "fridge#1" + ] + }, + "resolved_mains_ac_type": "apparent", + "resolved_meters": { + "fridge": [ + "ElecMeterID(instance=5, building=1, dataset='REDD')" + ] + }, + "sample_limit": 3960, + "samples": 2448, + "shared_meter_appliances": { + "fridge": [] + } + } + ] + }, + "train_windows": { + "fridge": [ + { + "actual_end": "2011-04-21T08:33:00-04:00", + "actual_start": "2011-04-18T10:00:00-04:00", + "aligned_sample_fraction": 1.0, + "available_end": "2011-05-24T15:56:34", + "available_start": "2011-04-18T09:22:13", + "effective_end": "2011-05-17 10:00:00", + "effective_start": "2011-04-18 10:00:00", + "expected_samples": 3960, + "requested": { + "building": 1, + "dataset": "REDD", + "end": "2011-05-17 10:00:00", + "start": "2011-04-18 10:00:00" + }, + "resolved_appliance_ac_types": { + "fridge": "active" + }, + "resolved_appliances": { + "fridge": [ + "fridge#1" + ] + }, + "resolved_mains_ac_type": "apparent", + "resolved_meters": { + "fridge": [ + "ElecMeterID(instance=5, building=1, dataset='REDD')" + ] + }, + "sample_limit": 3960, + "samples": 3960, + "shared_meter_appliances": { + "fridge": [] + } + } + ] + }, + "trainable_parameters": { + "fridge": 41921 + } + }, + "run_scope": "smoke", + "runtime": { + "container_digest": "sha256:d7253754a6a9133235076fa1c1555104aa8be8128443da96bc16ae3d46809aa8", + "container_image": "nilmbench:t0-adaf03e-cuda", + "cpu": "x86_64", + "cuda_available": true, + "cuda_runtime": "12.4", + "deterministic_algorithms": false, + "gpu": "NVIDIA A100-SXM4-80GB", + "nilm_metadata_version": "0.2.6.dev6+g59c9990de", + "nilmbench_git_dirty": false, + "nilmbench_git_sha": "adaf03e42f5b8dd6b9ab95942ee191999f2d3b25", + "nilmtk_contrib_git_dirty": false, + "nilmtk_contrib_git_sha": "8d745493ed9f84dd00fb502ffe85943eaeedc4c8", + "nilmtk_contrib_version": "0.1.2", + "nilmtk_version": "0.4.1", + "platform": "Linux-5.15.0-139-generic-x86_64-with-glibc2.35", + "python": "3.11.11", + "torch": "2.6.0+cu124" + }, + "sample_period": 60, + "schema_version": "1.2", + "seed": 42, + "study": null, + "task": { + "alignment_policy": "per_appliance", + "appliances": [ + "fridge", + "washing machine", + "microwave", + "dish washer" + ], + "coverage_policy": "strict", + "description": "REDD building 1 with an explicit 29-day train / 7-day test split", + "family": "T1", + "id": "corrected-t1-redd", + "metric_policy": "paper-appliance-thresholds", + "minimum_aligned_fraction": 0.5, + "profile": "corrected", + "sample_period": 60, + "shared_meter_policy": "warn", + "target_data_access": "not_applicable", + "target_label_fraction": null, + "test": [ + { + "building": 1, + "dataset": "REDD", + "end": "2011-05-24 10:00:00", + "start": "2011-05-17 10:00:00" + } + ], + "train": [ + { + "building": 1, + "dataset": "REDD", + "end": "2011-05-17 10:00:00", + "start": "2011-04-18 10:00:00" + } + ] + }, + "task_config_sha256": "95088d9a943c124c25a2cfada707f34088c178ee85b78da9052edbd2cc69fea4" +} diff --git a/src/nilmbench/registry.py b/src/nilmbench/registry.py index ffe70b1..9363d65 100644 --- a/src/nilmbench/registry.py +++ b/src/nilmbench/registry.py @@ -64,7 +64,9 @@ def _entry( _entry("BERT", "BERT", "transformer"), _entry("ConvLSTM", "ConvLSTM", "hybrid"), _entry("DAE", "DAE", "autoencoder"), + _entry("DLinear", "DLinear", "decomposition-linear"), _entry("MSDC", "MSDC", "specialized"), + _entry("ModernTCN", "ModernTCN", "convolutional"), _entry("NILMFormer", "NILMFormer", "transformer"), _entry("PatchTST", "PatchTST", "transformer"), _entry("Reformer", "Reformer", "transformer"), diff --git a/tests/test_config.py b/tests/test_config.py index e124022..02bc5f9 100644 --- a/tests/test_config.py +++ b/tests/test_config.py @@ -16,6 +16,18 @@ def test_builtin_config_has_complete_paper_task_matrix(): ), hardware="NVIDIA A100-SXM4-80GB", ), + TrustedRuntimeConfig( + id="t0-redd-fridge-a100-adaf03e", + nilmbench_git_sha="adaf03e42f5b8dd6b9ab95942ee191999f2d3b25", + nilmtk_contrib_git_sha=( + "8d745493ed9f84dd00fb502ffe85943eaeedc4c8" + ), + container_image="nilmbench:t0-adaf03e-cuda", + container_digest=( + "sha256:d7253754a6a9133235076fa1c1555104aa8be8128443da96bc16ae3d46809aa8" + ), + hardware="NVIDIA A100-SXM4-80GB", + ), ) historical = [ task for task in config.tasks.values() if task.profile == "historical" diff --git a/tests/test_containers.py b/tests/test_containers.py index 064c4d7..c868e22 100644 --- a/tests/test_containers.py +++ b/tests/test_containers.py @@ -4,7 +4,7 @@ ROOT = Path(__file__).parents[1] NILMTK_REVISION = "0768b1b8457eef9de76d123a94e2de8af22a45d0" NILM_METADATA_REVISION = "59c9990de4836d77c0dcd807bd4293e39e0cc314" -NILMTK_CONTRIB_REVISION = "825740b39bcd44b3f4bfaf146f4c0d944843b131" +NILMTK_CONTRIB_REVISION = "8d745493ed9f84dd00fb502ffe85943eaeedc4c8" def test_cpu_and_cuda_images_pin_the_same_core_revisions(): diff --git a/tests/test_registry.py b/tests/test_registry.py index 20332b8..2b29305 100644 --- a/tests/test_registry.py +++ b/tests/test_registry.py @@ -6,7 +6,9 @@ def test_registry_exposes_baseline_and_all_smoke_tested_contrib_models(): "BERT", "ConvLSTM", "DAE", + "DLinear", "MSDC", + "ModernTCN", "NILMFormer", "PatchTST", "Reformer", diff --git a/uv.lock b/uv.lock index d58c49b..39e4ae8 100644 --- a/uv.lock +++ b/uv.lock @@ -666,7 +666,7 @@ requires-dist = [ { name = "nilm-metadata", marker = "extra == 'runtime'", git = "https://github.com/nilmtk/nilm_metadata.git?rev=59c9990de4836d77c0dcd807bd4293e39e0cc314" }, { name = "nilmtk", marker = "extra == 'benchmark'", git = "https://github.com/nilmtk/nilmtk.git?rev=0768b1b8457eef9de76d123a94e2de8af22a45d0" }, { name = "nilmtk", marker = "extra == 'runtime'", git = "https://github.com/nilmtk/nilmtk.git?rev=0768b1b8457eef9de76d123a94e2de8af22a45d0" }, - { name = "nilmtk-contrib", extras = ["torch"], marker = "extra == 'benchmark'", git = "https://github.com/nilmtk/nilmtk-contrib.git?rev=825740b39bcd44b3f4bfaf146f4c0d944843b131" }, + { name = "nilmtk-contrib", extras = ["torch"], marker = "extra == 'benchmark'", git = "https://github.com/nilmtk/nilmtk-contrib.git?rev=8d745493ed9f84dd00fb502ffe85943eaeedc4c8" }, { name = "numpy", marker = "extra == 'benchmark'", specifier = ">=1.26,<2" }, { name = "numpy", marker = "extra == 'dev'", specifier = ">=1.26,<2" }, { name = "numpy", marker = "extra == 'runtime'", specifier = ">=1.26,<2" }, @@ -706,7 +706,7 @@ dependencies = [ [[package]] name = "nilmtk-contrib" version = "0.1.2" -source = { git = "https://github.com/nilmtk/nilmtk-contrib.git?rev=825740b39bcd44b3f4bfaf146f4c0d944843b131#825740b39bcd44b3f4bfaf146f4c0d944843b131" } +source = { git = "https://github.com/nilmtk/nilmtk-contrib.git?rev=8d745493ed9f84dd00fb502ffe85943eaeedc4c8#8d745493ed9f84dd00fb502ffe85943eaeedc4c8" } [package.optional-dependencies] torch = [