You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(pt-expt): preserve lower semantics in backend conversion (deepmodeling#5975)
## 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
Closesdeepmodeling#5973
Related to deepmodeling#5862 and deepmodeling#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>
0 commit comments