Skip to content

[pull] master from deepmodeling:master - #321

Merged
pull[bot] merged 1 commit into
ishandutta2007:masterfrom
deepmodeling:master
Sep 2, 2026
Merged

[pull] master from deepmodeling:master#321
pull[bot] merged 1 commit into
ishandutta2007:masterfrom
deepmodeling:master

Conversation

@pull

@pull pull Bot commented Sep 2, 2026

Copy link
Copy Markdown

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

## Summary

- preserve the source artifact's concrete lower-input semantics during
backend conversion instead of resolving `lower_kind="auto"`
- expose `lower_input_kind` from `.pte` and `.pt2` metadata so exported
artifacts retain their lower across subsequent conversions
- reject graph-to-dense-only conversions rather than silently changing
the model function
- document that graph semantics require a graph-native training and
freeze workflow

## Root cause

`dp convert-backend` always passed `lower_kind="auto"` to the pt_expt
serializer. A dense-trained DPA1 model was therefore reinterpreted as
graph-native whenever the reconstructed target model advertised graph
support. Dense padding contributes `-davg/dstd` when `davg` is nonzero,
while the graph lower contains no padding edges, so the generated
artifact represented a different function.

## Verification

- targeted conversion and metadata tests: 9 passed
- PTE serialization round-trip: 1 passed
- real nonzero-`davg` `.pth` to `.pt2` conversion selected
`lower_input_kind=nlist`
- source versus converted artifact: energy delta 0, force max delta
8.882e-16, virial max delta 6.661e-16
- Ruff, diff checks, and all pre-commit hooks passed

Closes #5973

Related to #5862 and #5824.


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Backend conversions preserve supported lower-input representations,
including dense, graph, neighbor-list, and canonical formats.
* Model exports across supported frameworks now include lower-input
representation metadata.
  * Legacy files without metadata use compatible automatic defaults.
* Unsupported target representations are rejected to prevent silent
semantic changes.
* Schema-neutral model containers retain lower-input metadata for later
conversion.

* **Documentation**
* Added guidance on conversion behavior, preservation rules, and
supported representations.

* **Tests**
* Expanded coverage for metadata preservation, legacy artifacts,
serialization formats, and conversion validation.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
@pull pull Bot locked and limited conversation to collaborators Sep 2, 2026
@pull pull Bot added the ⤵️ pull label Sep 2, 2026
@pull
pull Bot merged commit be1a636 into ishandutta2007:master Sep 2, 2026
33 checks passed
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant