What's Changed
New features
- feat(pt): add
observed-typeoption for dp show by @iProzd in #4820 - feat(pt): add Mean absolute percentage error (MAPE) loss for prop. pred. by @SchrodingersCattt in #4854
- feat: Add eval-desc CLI command for descriptor evaluation with 3D output format by @Copilot in #4903
- feat(tf): implement change-bias command by @Copilot in #4927
- feat: add PyTorch profiler support to LAMMPS MD by @caic99 in #4969
- pd(feat): support python inference with
DPclass by @HydrogenSulfate in #4987 - Feat: support fparam/aparam in dp calculator by @anyangml in #4819
- pd: support dpa3 dynamic shape for pd backend by @HydrogenSulfate in #4828
- feat(pt): add hook to last fitting layer output by @iProzd in #4789
- feat(pd): support dpa2/dpa3 C++ inference by @HydrogenSulfate in #4870
- feat(pt): support zbl finetune by @iProzd in #4849
- feat: add yaml input file support by @caic99 in #4894
- feat(pd): support gradient accumulation by @HydrogenSulfate in #4920
- feat(pt): add model branch alias by @iProzd in #4883
- feat: handle masked forces in test by @caic99 in #4893
- feat: support using train/valid data from input.json for dp test by @caic99 in #4859
- feat(infer): add get_model method to DeepEval for accessing backend-specific model instances by @Copilot in #4931
- feat(dp/pt): add default_fparam by @iProzd in #4888
- feat(pt): implement DeepTensorPT by @Copilot in #4937
Enhancements
- pd: add flag
CINN_ALLOW_DYNAMIC_SHAPEfor better performance with dynamic shape by @HydrogenSulfate in #4826 - refactor(training): Average training loss for smoother and more representative logging by @OutisLi in #4850
- chore: bump LAMMPS to stable_22Jul2025 by @njzjz in #4861
- style: add comprehensive type hints to core modules excluding backends and tests by @Copilot in #4936
- chore(deps): bump LAMMPS to stable_22Jul2025_update1 by @njzjz in #4955
- perf: use contiguous memory stride for edge/angle indices by @caic99 in #4804
- pd: support different label_dict in CINN by @HydrogenSulfate in #4795
- pd: update loc_mapping for dpa3 in paddle backend by @HydrogenSulfate in #4797
- style: complete type annotation enforcement for deepmd.pt by @Copilot in #4943
- style(jax): enable ANN rule and add comprehensive type hints to JAX backend by @Copilot in #4967
- perf: fix cuda-aware mpi in v3 by @caic99 in #4977
Documentation
- doc: fix inconsistency between the docstring and the implementation of argument
auto_batch_sizeofDeepEvalwith paddle and pytorch backend by @A-LOST-WAPITI in #4865 - docs: add docs about LAMMPS D3 dispersion by @njzjz in #4875
- doc(pd): update paddle installation scripts and paddle related content in dpa3 document by @HydrogenSulfate in #4887
- docs(lmp): fix the usage of LAMMPS
pair_style hybrid/overlayby @njzjz in #4951 - docs: clarify atomic_dipole meaning for DPLR models by @Copilot in #4979
- docs: add bfloat16 option to the model precision choice by @caic99 in #4866
- docs: add comprehensive GitHub Copilot instructions and environment setup by @Copilot in #4911
- docs: move copilot-instructions.md to AGENTS.md by @Copilot in #4982
Bugfix
- pd: fix local_rank and in mutlti nodes training by @HydrogenSulfate in #4811
- fix: fix pytorch in the cuda11 image by @njzjz in #4841
- Profile bug fix when both enable_profiler and profiling are set to true. by @OutisLi in #4855
- fix: use tuple in
xp.reshapeby @caic99 in #4808 - fix: training speed might be incorrect by @caic99 in #4806
- fix(jax): use more safe_for_vector_norm by @njzjz in #4809
- fix: omit virial in dp test summary if not available by @caic99 in #4818
- fix(jax): fix the usage of
jaxlib.xla_extensionby @njzjz in #4824 - fix(dpmodel/pt/pd/jax): pass trainable to layer & support JAX trainable & support TF tensor fitting trainable by @njzjz in #4793
- fix(cc): use insert_or_assign instead of insert by @CaRoLZhangxy in #4844
- fix(CI): prefer stable versions by @njzjz in #4857
- fix: merge
get_np_precisiontoget_xp_precisionby @njzjz in #4867 - fix: no pinning memory on CPU by @caic99 in #4874
- Fix: support "max:N" and "filter:N" batch_size rules in DeepmdDataSystem by @OutisLi in #4876
- fix(pt/pd): fix eta computation by @HydrogenSulfate in #4886
- fix: get correct intensive property prediction when using virtual atoms by @Chengqian-Zhang in #4869
- fix(tf): fix compatibility with TF 2.20 by @njzjz in #4890
- fix: relax
atolandrtolvalue of padding atoms UT by @Chengqian-Zhang in #4892 - fix(pt): fix CMake compatibility with PyTorch 2.8 by @njzjz in #4891
- Fix(pt): add comm_dict for zbl, linear, dipole, dos, polar model to fix bugs mentioned in issue #4906 by @OutisLi in #4908
- fix(pt,pd): remove redundant tensor handling to eliminate tensor construction warnings by @Copilot in #4907
- fix: Avoid setting pin_memory in tests by @caic99 in #4919
- fix(pd): change numel function return type from int to size_t to prevent overflow by @Copilot in #4924
- fix(tf): fix serialization of dipole fitting with sel_type by @Copilot in #4934
- style(dpmodel): enforce type annotations by @Copilot in #4953
- fix: change eV/A to eV/Å for dp test by @OutisLi in #4978
- fix: fix unit display in dp test by @njzjz in #4980
- fix(tf): make dipole, polar, and dos models consistent with dpmodel by @Copilot in #4962
CI/CD
- build(deps): bump pypa/cibuildwheel from 2.23 to 3.0 by @dependabot[bot] in #4805
- fix(CI): clean up mpi4py index by @njzjz in #4822
- build(deps): bump pypa/cibuildwheel from 3.0 to 3.1 by @dependabot[bot] in #4851
- build(deps): bump actions/download-artifact from 4 to 5 by @dependabot[bot] in #4881
- build(deps): bump actions/checkout from 4 to 5 by @dependabot[bot] in #4897
- build(deps): bump actions/upload-pages-artifact from 3 to 4 by @dependabot[bot] in #4918
- chore(CI): bump PyTorch from 2.7 to 2.8 by @njzjz in #4884
- feat(ci): skip workflows on bot branches to avoid redundant CI runs by @Copilot in #4916
- build(deps): bump actions/checkout from 4 to 5 by @dependabot[bot] in #4966
- build(deps): bump actions/labeler from 5 to 6 by @dependabot[bot] in #4964
- build(deps): bump actions/setup-python from 5 to 6 by @dependabot[bot] in #4965
New Contributors
- @SchrodingersCattt made their first contribution in #4854
- @OutisLi made their first contribution in #4850
- @A-LOST-WAPITI made their first contribution in #4865
- @Copilot made their first contribution in #4911
Full Changelog: v3.1.0...v3.1.1