Deepmd-kit

Latest version: v2.2.9

Safety actively analyzes 613649 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 8

3.0.0a0

<!-- Release notes generated using configuration in .github/release.yml at devel -->

DeePMD-kit v3: A multiple-backend framework for deep potentials

We are excited to announce the first alpha version of DeePMD-kit v3. DeePMD-kit v3 allows you to train and run deep potential models on top of TensorFlow or PyTorch. DeePMD-kit v3 also supports the [DPA-2 model](https://arxiv.org/abs/2312.15492), a novel architecture for large atomic models.

Highlights

Multiple-backend framework

![image](https://github.com/deepmodeling/deepmd-kit/assets/9496702/6bf132d2-6952-4009-b263-3648641003e4)

DeePMD-kit v3 adds a pluggable multiple-backend framework to provide consistent training and inference experiences between different backends. You can:

- Use the same training data and the input script to train a deep potential model with different backends. Switch backends based on efficiency, functionality, or convenience:
sh
Training a model using the TensorFlow backend
dp --tf train input.json
dp --tf freeze

Training a mode using the PyTorch backend
dp --pt train input.json
dp --pt freeze


- Use any model to perform inference via any existing interfaces, including `dp test`, Python/C++/C interface, and third-party packages (dpdata, ASE, LAMMPS, AMBER, Gromacs, i-PI, CP2K, OpenMM, ABACUS, etc). Take an example on LAMMPS:
sh
run LAMMPS with a TensorFlow backend model
pair_style deepmd frozen_model.pb
run LAMMPS with a PyTorch backend model
pair_style deepmd frozen_model.pth
Calculate model deviation using both models
pair_style deepmd frozen_model.pb frozen_model.pth out_file md.out out_freq 100


- Convert models between backends, using `dp convert-backend`, if both backends support a model:
sh
dp convert-backend frozen_model.pb frozen_model.pth
dp convert-backend frozen_model.pth frozen_model.pb


- Add a new backend to DeePMD-kit much more quickly if you want to contribute to DeePMD-kit.

PyTorch backend: a backend designed for large atomic models and new research

We added the PyTorch backend in DeePMD-kit v3 to support the development of new models, especially for large atomic models.

DPA-2 model: Towards a universal large atomic model for molecular and material simulation

[DPA-2 model](https://arxiv.org/abs/2312.15492) is a novel architecture for [Large Atomic Model](https://github.com/deepmodeling/community/discussions/32) (LAM) and can accurately represent a diverse range of chemical systems and materials, enabling high-quality simulations and predictions with significantly reduced efforts compared to traditional methods. The DPA-2 model is only implemented in the PyTorch backend. An example configuration is in the `examples/water/dpa2` directory.

The DPA-2 descriptor includes two primary components: `repinit` and `repformer`. The detailed architecture is shown in the following figure.

![DPA-2](https://github.com/deepmodeling/deepmd-kit/assets/9496702/9f342b7d-5b68-4dcf-9df2-0fbadb58cec3)

Training strategies for large atomic models

The PyTorch backend has supported multiple training strategies to develop large atomic models.

**Parallel training**: Large atomic models have a number of hyper-parameters and complex architecture, so training a model on multiple GPUs is necessary. Benefiting from the PyTorch community ecosystem, the parallel training for the PyTorch backend can be driven by [`torchrun`](https://pytorch.org/docs/stable/elastic/run.html), a launcher for distributed data parallel.

sh
torchrun --nproc_per_node=4 --no-python dp --pt train input.json


**Multi-task training**: Large atomic models are trained against data in a wide scope and at different DFT levels, which requires multi-task training. The PyTorch backend supports multi-task training, sharing the descriptor between different An example is given in `examples/water_multi_task/pytorch_example/input_torch.json`.

**Finetune**: Fine-tune is useful to train a pre-train large model on a smaller, task-specific dataset. The PyTorch backend has supported `--finetune` argument in the `dp --pt train` command line.

Developing new models using Python and dynamic graphs

Researchers may feel pain about the static graph and the custom C++ OPs from the TensorFlow backend, which sacrifices research convenience for computational performance. The PyTorch backend has a well-designed code structure written using the dynamic graph, which is currently 100% written with the Python language, making extending and debugging new deep potential models easier than the static graph.

Supporting traditional deep potential models

People may still want to use the traditional models already supported by the TensorFlow backend in the PyTorch backend and compare the same model among different backends. We almost rewrote all of the traditional models in the PyTorch backend, which are listed below:

- Features supported:
- Descriptor: `se_e2_a`, `se_e2_r`, `se_atten`, `hybrid`;
- Fitting: energy, dipole, polar, fparam/apram support
- Model: `standard`, DPRc
- Python inference interface
- C++ inference interface for energy only
- TensorBoard
- Features not supported yet:
- Descriptor: `se_e3`, `se_atten_v2`, `se_e2_a_mask`
- Fitting: `dos`
- Model: `linear_ener`, DPLR, `pairtab`, `linear_ener`, `frozen`, `pairwise_dprc`, ZBL, Spin
- Model compression
- Python inference interface for DPLR
- C++ inference interface for tensors and DPLR
- Paralleling training using Horovod
- Features not planned:
- Descriptor: `loc_frame`, `se_e2_a` + type embedding, `se_a_ebd_v2`
- NVNMD

> [!WARNING]
> As part of an alpha release, the PyTorch backend's API or user input arguments may change before the first stable version.

DP backend and format: reference backend for other backends

DP is a reference backend for development that uses pure NumPy to implement models without using any heavy deep-learning frameworks. It cannot be used for training but only for Python inference. As a reference backend, it is not aimed at the best performance but only the correct results. The DP backend uses HDF5 to store model serialization data, which is backend-independent.
The DP backend and the serialization data are used in the unit test to ensure different backends have consistent results and can be converted between each other.
In the current version, the DP backend has a similar supporting status to the PyTorch backend, while DPA-1 and DPA-2 are not supported yet.

Authors

The above highlights were mainly contributed by
- Hangrui Bi (20171130), in 3180
- Chun Cai (caic99), in 3180
- Junhan Chang (TablewareBox), in 3180
- Yiming Du (nahso), in 3180
- Guolin Ke (guolinke), in 3180
- Xinzijian Liu (zjgemi), in 3180
- Anyang Peng (anyangml), in 3362, 3192, 3212, 3210, 3248, 3266, 3281, 3296, 3309, 3314, 3321, 3327, 3338, 3351, 3376, 3385
- Xuejian Qin (qin2xue3jian4), in 3180
- Han Wang (wanghan-iapcm), in 3188, 3190, 3208, 3184, 3199, 3202, 3219, 3225, 3232, 3235, 3234, 3241, 3240, 3246, 3260, 3274, 3268, 3279, 3280, 3282, 3295, 3289, 3340, 3352, 3357, 3389, 3391, 3400
- Jinzhe Zeng (njzjz), in 3171, 3173, 3174, 3179, 3193, 3200, 3204, 3205, 3333, 3360, 3364, 3365, 3169, 3164, 3175, 3176, 3187, 3186, 3191, 3195, 3194, 3196, 3198, 3201, 3207, 3226, 3222, 3220, 3229, 3226, 3239, 3228, 3244, 3243, 3213, 3249, 3250, 3254, 3247, 3253, 3271, 3263, 3258, 3276, 3285, 3286, 3292, 3294, 3293, 3303, 3304, 3308, 3307, 3306, 3316, 3315, 3318, 3323, 3325, 3332, 3331, 3330, 3339, 3335, 3346, 3349, 3350, 3310, 3356, 3361, 3342, 3348, 3358, 3366, 3374, 3370, 3373, 3377, 3382, 3383, 3384, 3386, 3390, 3395, 3394, 3396, 3397
- Chengqian Zhang (Chengqian-Zhang), in 3180
- Duo Zhang (iProzd), in 3180, 3203, 3245, 3261, 3262, 3355, 3367, 3359, 3371, 3387, 3388, 3380, 3378
- Xiangyu Zhang (CaRoLZhangxy), in 3162, 3287, 3337, 3375, 3379

Breaking changes

- Python 3.7 support is dropped. by njzjz in 3185
- We require all model files to have the correct filename extension for all interfaces so a corresponding backend can load them. TensorFlow model files must end with `.pb` extension.
- Python class `DeepTensor` (including `DeepDiople` and `DeepPolar`) now returns atomic tensor in the dimension of `natoms` instead of `nsel_atoms`. by njzjz in 3390
- For developers: the Python module structure is fully refactored. The old `deepmd` module was moved to `deepmd.tf` without other API changes, and `deepmd_utils` was moved to `deepmd` without other API changes. by njzjz in 3177, 3178

Other changes

Enhancement

* Neighbor stat for the TensorFlow backend is 80x accelerated. by njzjz in 3275
* i-PI: remove normalize_coord by njzjz in 3257
* LAMMPS: fix_dplr.cpp delete redundant setup and set atom->image when pre_force by shiruosong in 3344, 3345
* Bump scikit-build-core to 0.8 by njzjz in 3369
* Bump LAMMPS to stable_2Aug2023_update3 by njzjz in 3399
* Add fparam/aparam support for fine-tune by njzjz in 3313
* TF: remove freeze warning for optional nodes by njzjz in 3381

CI/CD
* Build macos-arm64 wheel on M1 runners by njzjz in 3206
* Other improvements and fixes to GitHub Actions by njzjz in 3238, 3283, 3284, 3288, 3290, 3326
* Enable docstring code format by njzjz in 3267

Bugfix
* Fix TF 2.16 compatibility by njzjz in 3343
* Detect version in advance before building deepmd-kit-cu11 by njzjz in 3172
* C API: change the required shape of electric field to nloc * 3 by njzjz in 3237

New Contributors
* anyangml made their first contribution in 3192
* shiruosong made their first contribution in 3344

**Full Changelog**: https://github.com/deepmodeling/deepmd-kit/compare/v2.2.8...v3.0.0a0

2.2.9

What's Changed

Bugfixes
* cc: fix returning type of sel_types by njzjz in 3181
* fix compile gromacs with precompiled C library by njzjz in 3217
* gmx: fix include directive by njzjz in 3221
* c: fix all memory leaks; add sanitizer checks in 3223

CI/CD
* build macos-arm64 wheel on M1 runners by njzjz in 3206

**Full Changelog**: https://github.com/deepmodeling/deepmd-kit/compare/v2.2.8...v2.2.9

2.2.8

<!-- Release notes generated using configuration in .github/release.yml at master -->

What's Changed
Breaking Changes
* breaking(lmp): do not apply scale factor to model deviation by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/3036
New Features
* build neighbor list with external Python program by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/3046
* nvnmd: init-model feature and 256 neighbors by LiuGroupHNU in https://github.com/deepmodeling/deepmd-kit/pull/3058
* Add pairwise tabulation as an independent model by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/3101
Enhancement
* support compressing gelu_tf by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2957
* respect user defined CUDAARCHS by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2979
* lmp: refactor ixnode by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2971
* print system prob using scientific natation by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/3008
* remove unused codes in se_a.py by nahso in https://github.com/deepmodeling/deepmd-kit/pull/3049
* print NaN loss when labeled data is not found by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/3047
Documentation
* docs: add theory from v2 paper by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2715
* docs: configuring automatically generated release notes by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2975
* docs: use relative links by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2976
* docs: remove lammps.md by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2986
* docs: document horovod on Conda-Forge by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/3001
* docs: document external neighbor list by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/3056
* docs: update documentation for pre-compiled C library by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/3083
* docs: update Amber interface by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/3074
* docs: document CP2K interface by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/3158
Build and release
* bump scikit-build-core to 0.6 by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2981
* bump CUDA version to 12.2 for pre-built packages by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2960
* add cu11 prebuilt packages by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/3002
* bump scikit-build-core to 0.7 by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/3038
* bump LAMMPS to stable_2Aug2023_update2 by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/3066
Bug fixings
* fix SpecifierSet behavior with prereleases by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2959
* fix restarting from compressed training with type embedding by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2996
* Add the missing initializations for extra embedding variables by nahso in https://github.com/deepmodeling/deepmd-kit/pull/3005
* Fix macro issue with multiple arguments by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/3016
* fix se_a_ebd_v2 when nloc != nall by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/3037
* fix: invalid read and write when natom grows by Cloudac7 in https://github.com/deepmodeling/deepmd-kit/pull/3031
* fix GPU mapping error for Horovod + finetune by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/3048
* lmp: Register styles when using CMake by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/3097
* fix segfault in ~Region by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/3108
* lmp: fix evflag initialization by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/3133
* cmake: fix setting `CMAKE_HIP_FLAGS` by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/3155
* Fix max nbor size related issues by denghuilu in https://github.com/deepmodeling/deepmd-kit/pull/3157
* Fix possible memory leak in constructors by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/3062
* fix memory leaks related to `char*` by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/3063
* Update the path to training and validation data dir in zinc_se_a_mask.json by dingye18 in https://github.com/deepmodeling/deepmd-kit/pull/3068
* Fix catching by value by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/3077
* resolve "Multiplication result converted to larger type" by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/3149
* resolve "Multiplication result converted to larger type" by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/3159
CI/CD
* move to ruff formatter by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2951
* add unit tests for LAMMPS fparam/aparam keywords by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2998
* fix labeler.yml with actions/labeler v5 by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/3059
* add CodeQL checks by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/3075

Code refactor and enhancement to prepare for upcoming v3
* rename `deepmd_cli` to `deepmd_utils` by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2983
* merge prob_sys_size with prob_sys_size;0:nsys:1.0 by CaRoLZhangxy in https://github.com/deepmodeling/deepmd-kit/pull/2963
* add utils for DP native model format by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/3064
* rm rcut from DeepmdDataSystem by wanghan-iapcm in https://github.com/deepmodeling/deepmd-kit/pull/3106
* add activation_function and resnet arguments and NumPy implementation to NativeLayer by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/3109
* NativeLayer: support None bias. by wanghan-iapcm in https://github.com/deepmodeling/deepmd-kit/pull/3111
* fix native layer concat bug. by wanghan-iapcm in https://github.com/deepmodeling/deepmd-kit/pull/3112
* model format for the embedding net by wanghan-iapcm in https://github.com/deepmodeling/deepmd-kit/pull/3113
* support numerical precision and env_mat by wanghan-iapcm in https://github.com/deepmodeling/deepmd-kit/pull/3114
* Add dp model format sea by wanghan-iapcm in https://github.com/deepmodeling/deepmd-kit/pull/3123
* input order of env_mat changed to be consistent with descriptor by wanghan-iapcm in https://github.com/deepmodeling/deepmd-kit/pull/3125
* doc string for dp model format descriptor se_e2_a by wanghan-iapcm in https://github.com/deepmodeling/deepmd-kit/pull/3124
* add native Networks for mutiple Network classes by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/3117
* add definition for the output of fitting and model by wanghan-iapcm in https://github.com/deepmodeling/deepmd-kit/pull/3128
* cc: refactor DeepPotModelDevi, making it framework-independent by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/3134
* fix: model check assumes __call__ as the forward method by wanghan-iapcm in https://github.com/deepmodeling/deepmd-kit/pull/3136
* support fitting net by wanghan-iapcm in https://github.com/deepmodeling/deepmd-kit/pull/3137
* refactorize NativeLayer, interface does not rely on the platform by wanghan-iapcm in https://github.com/deepmodeling/deepmd-kit/pull/3138
* refactorize networks, now can be used cross platform by wanghan-iapcm in https://github.com/deepmodeling/deepmd-kit/pull/3141
* move utility to `deepmd_utils` (without modifaction) by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/3140
* add cross-platform AutoBatchSize by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/3143
* move deepmd.entrypoints.{doc,gui} to deepmd_utils.entrypoints.{doc,gui} by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/3144
* cc: refactor DeepPot to support multiple backends by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/3142
* cc: refactor DeepTensor for multiple-backend framework by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/3151
* cc: refactor DataModifier for multiple-backend framework by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/3148
* fix: some issue of the output def by wanghan-iapcm in https://github.com/deepmodeling/deepmd-kit/pull/3152
* cc: merge `DeepPotBase` and `DeepTensor` member functions by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/3145
* move `OutOfMemoryError` from `deepmd` to `deepmd_utils` by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/3153
* set dpgui entry point to `deepmd_utils` by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/3161

New Contributors
* Cloudac7 made their first contribution in https://github.com/deepmodeling/deepmd-kit/pull/3031

**Full Changelog**: https://github.com/deepmodeling/deepmd-kit/compare/v2.2.7...v2.2.8

2.2.7

New features
* add `aparam_from_compute` to `pair deepmd` by ChiahsinChu in https://github.com/deepmodeling/deepmd-kit/pull/2929
* support compressing any neuron structure by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2933
* Support conversion to pbtxt in command line interface by Yi-FanLi in https://github.com/deepmodeling/deepmd-kit/pull/2943

Enhancement
* argcheck: restrict the type of elements in a list by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2945
* reformat func for further merging with pt version by zxysbsbzxy in https://github.com/deepmodeling/deepmd-kit/pull/2946

Build and release
* deploy developed Python packages to GitHub Pages by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2932

Bug fix
* fix py lmp plugin path for editable installation by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2922
* fix se_a compression for just enough sel and symmetrical coordinates by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2924
* fix floating point exception when nloc or nall is zero by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2923
* fix typo about fparam/aparam by ChiahsinChu in https://github.com/deepmodeling/deepmd-kit/pull/2925
* Fix typos by HydrogenSulfate in https://github.com/deepmodeling/deepmd-kit/pull/2930
* only freeze in rank 0 by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2937
* fix ase tarball url and testing C library by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2950


New Contributors
* HydrogenSulfate made their first contribution in https://github.com/deepmodeling/deepmd-kit/pull/2930
* zxysbsbzxy made their first contribution in https://github.com/deepmodeling/deepmd-kit/pull/2946

**Full Changelog**: https://github.com/deepmodeling/deepmd-kit/compare/v2.2.6...v2.2.7

2.2.6

We list critical bugs in previous versions in https://github.com/deepmodeling/deepmd-kit/issues/2866.

New features
* apply compression for se_e2_a_tebd by nahso in https://github.com/deepmodeling/deepmd-kit/pull/2841
* cmake: support LAMMPS in built-in mode; remove kspace requirement by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2891
* support neighbor stat on GPUs by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2897
* Add `dpgui` entry point and `dp gui` CLI by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2904

Enhancement
* forward GPU error message by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2878
* Generate CUDA stubs dynamically by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2884 and https://github.com/deepmodeling/deepmd-kit/pull/2900
* refactor update_sel by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2901
* support combining frozen models into a pairwise DPRc model by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2902

Bugfixes
* `se_atten` and `se_atten_v2`
* Se atten grad grad by nahso in https://github.com/deepmodeling/deepmd-kit/pull/2898 and https://github.com/deepmodeling/deepmd-kit/pull/2903
* fix: make the se attn v2 descriptor energy conservative. by wanghan-iapcm in https://github.com/deepmodeling/deepmd-kit/pull/2905 and https://github.com/deepmodeling/deepmd-kit/pull/2916
* nvnmd: update doc and fix bug in map_flt_nvnmd.cc by LiuGroupHNU in https://github.com/deepmodeling/deepmd-kit/pull/2831
* cmake: skip executing python when cross compiling by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2876
* set GPU binding in DeepTensor and DataModifier by Yi-FanLi in https://github.com/deepmodeling/deepmd-kit/pull/2886
* fix LAMMPS wheel with CUDA wheels by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2887
* fix TypeError when type_map is not given by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2890
* fix "expression result unused" warnings by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2910

CI/CD

* fix cuda installation for building wheels by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2879
* fix source distribution version in build-wheel.yml by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2883
* run Test CUDA in container by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2892
* fix a typo in tool.cibuildwheel.linux.environment by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2896

Documentation
* docs: update DPRc examples to make it compressible by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2874
* docs: add easy install development version by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2880
* docs: replace relative URLs in PyPI documentation by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2885
* docs: `mpirun --version` to get MPI version by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2915

**Full Changelog**: https://github.com/deepmodeling/deepmd-kit/compare/v2.2.5...v2.2.6

2.2.5

New features
* lmp: support `unit real` by njzjz and Yi-FanLi in https://github.com/deepmodeling/deepmd-kit/pull/2775 https://github.com/deepmodeling/deepmd-kit/pull/2790 https://github.com/deepmodeling/deepmd-kit/pull/2800
* add linear models that are linear combination of DP models by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2781
* support atomic/relative model deviation in CLI by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2801
* make pairwise_dprc model work with MPI by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2818

Merge cuda and rocm code
* merge cuda and rocm files by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2844
* merge CUDA and ROCm codes in op by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2847

Enhancement
* lmp: throw error for traditional installation if dependent packages are not installed by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2777
* lmp: add the header for atomic model deviation by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2778
* check status of allocate_temp by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2782
* do not sort atoms in dp test by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2794
* lmp: `fix_dplr` use the same `type_map` from `pair_deepmd` by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2776
* check status of allocate_temp by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2797
* fix np.loadtxt DeprecationWarning by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2802
* `ndarray.tostring` -> `ndarray.tobytes` by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2814
* `tf.accumulate_n` -> `tf.add_n` by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2815
* `tf.test.TestCase.test_session` -> `tf.test.TestCase.cached_session` by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2816
* make the pairwise DPRc model 2x faster by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2833
* prod_env_mat: allocate GPU memory out of frame loop by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2832
* refactor model version convert by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2854
* bump LAMMPS version to stable_2Aug2023_update1 by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2859

Documentation
* docs: improve checkpoint description by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2784
* fix grammatical errors by Yi-FanLi in https://github.com/deepmodeling/deepmd-kit/pull/2796
* docs: add doc to install cmake by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2805
* docs: add docs for addtional CMake arguments via pip by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2806
* add citation for fparam by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2821
* add citation for `aparam` by mingzhong15 in https://github.com/deepmodeling/deepmd-kit/pull/2825
* docs: rewrite coding conventions by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2855

Build and release
* migrate Python build backend to scikit-build-core by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2798
* drop old GCC versions in test by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2812
* speed up GitHub Actions by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2822
* improve configurations of Python lint tools by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2823
* fix CTest by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2828
* add tox configutation by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2829
* use parse_version from packaging.version instead of pkg_resources by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2830
* build linux-aarch64 wheel on self-hosted runner by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2851
* add test cuda workflow by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2848
* cmake: use pip to install tensorflow by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2858
* cmake: use modern `HIP` language by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2857
* download cub using CMake FetchContent by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2870

Bug fixing
* fix dp test atomic polar; add UTs for dp test by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2785
* ignore drdq when generalized force loss is not set by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2807
* lmp: let fparam_do_compute not execute by default by Yi-FanLi in https://github.com/deepmodeling/deepmd-kit/pull/2819
* Fix invalid escape sequence by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2820
* fix missing version file with setuptools-scm v8 by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2850
* fix compatibility with NumPy 1.26 by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2853
* fix finetune RMSE and memory issue by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2860
* fix the issue of applying modifier multiple times when batch set is load only once by wanghan-iapcm in https://github.com/deepmodeling/deepmd-kit/pull/2864

**Full Changelog**: https://github.com/deepmodeling/deepmd-kit/compare/v2.2.4...v2.2.5

Page 1 of 8

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.