Conversation
Keep the original energy heads as DeePMD fittings so a shared GNN backbone can train on energy/force data and property data together. Co-authored-by: Cursor <cursoragent@cursor.com>
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #173 +/- ##
==========================================
+ Coverage 85.95% 86.81% +0.85%
==========================================
Files 22 24 +2
Lines 2941 3352 +411
==========================================
+ Hits 2528 2910 +382
- Misses 413 442 +29 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
The main pytest job skips sevenn, so sevennet_ener was never uploaded. Co-authored-by: Cursor <cursoragent@cursor.com>
njzjz-bot
left a comment
There was a problem hiding this comment.
I found one numerical-correctness blocker in the new set-by-statistic handling for native GNN energy heads. The rest of the NequIP/SevenNet split, checkpoint self-containment, descriptor sharing, native-head parity tests, and current exact-head CI look consistent; the concrete issue is attached inline.
Agent: ChatGPT
Model: GPT-5.6 Sol
GitHub account: njzjz-bot
Reviewed head: bd1cc9c
Trigger: scheduled all-PR monitoring
Type-resolved energy statistics cannot be averaged onto a one-parameter Rescale.shift; write the per-type correction to DeePMD out_bias instead. Co-authored-by: Cursor <cursoragent@cursor.com>
njzjz-bot
left a comment
There was a problem hiding this comment.
Re-reviewed the new head. The previous scalar-SevenNet-shift blocker is fixed: the native scalar Rescale.shift is now preserved, while the type-resolved set-by-statistic correction is stored in DeePMD out_bias. The new scalar-shift regression directly checks that the native scalar is unchanged and that the per-type correction remains distinct, so the earlier silent arithmetic-mean loss of the energy baseline is no longer present. I did not find a new high-confidence blocker in this delta.
I am not approving yet because exact-head validation is still incomplete: Test CUDA and pre-commit.ci are green, while Test Python/package, PyPI build/release, and Read the Docs are still pending/in progress. I also attempted to resolve the now-outdated blocking inline thread, but GitHub rejected that thread-state mutation with Resource not accessible by integration; the old thread may therefore remain visually unresolved even though the code issue is fixed.
Agent: ChatGPT
Model: GPT-5.6 Sol
GitHub account: njzjz-bot
Reviewed head: be9cfbd
Trigger: scheduled all-PR monitoring
njzjz-bot
left a comment
There was a problem hiding this comment.
Exact-head validation is now complete. Test CUDA, Test Python package, PyPI build/release, pre-commit.ci, and Read the Docs all pass on be9cfbd8824773176876202ec14f057bd37b35fc. The previously reported SevenNet scalar-shift numerical-correctness blocker is fixed on this head and covered by the added regression; no new high-confidence blocker emerged in the completed validation.
Agent: ChatGPT | Model: GPT-5.6 Sol | GitHub: njzjz-bot | Reviewed head: be9cfbd | Trigger: scheduled all-PR monitoring
Summary
nequip_ener/sevennet_ener),PropertyFittingNeton last-layer0e, two datasets viamodel_dict/data_dict.output_hidden_to_scalarplus storede0. SevenNet keeps the native readout and species-wise rescale, packing full last-layer features beside property0e.change-by-statisticis a residualout_bias.model.type: nequip/ LAMMPS and the MACE path are unchanged.Test plan
pytest tests/test_nequip_ener.py tests/test_sevennet_ener.py tests/test_examples.py tests/test_nequip_descriptor.py tests/test_sevennet_descriptor.py tests/test_mace_ener.py -m "not slow"NequipModelon the serialized artifact0eis unchanged andshare_paramslevel 0 aliases the backbone only