Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(pt): store min_nbor_dist in the state dict #1

Merged

Conversation

njzjz
Copy link

@njzjz njzjz commented Nov 5, 2024

No description provided.

njzjz and others added 13 commits November 2, 2024 01:44
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

## Release Notes

- **New Features**
- Introduced support for JAX as a backend for the "se_e3_tebd"
descriptor, enhancing flexibility in computational options.
- Added serialization and deserialization methods to the descriptor
classes for better state management.

- **Bug Fixes**
- Improved handling of attributes in the descriptor classes to ensure
correct data types and transformations.

- **Tests**
- Enhanced the test suite to support multiple backends, including JAX
and Array API Strict, improving the robustness of testing.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

Signed-off-by: Jinzhe Zeng <jinzhe.zeng@rutgers.edu>
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **New Features**
- Introduced a new descriptor class `DescrptSeAttenV2`, enhancing the
framework's capabilities.
- Improved test suite flexibility to support multiple backends,
including JAX and strict array API.

- **Bug Fixes**
- Updated serialization logic for `davg` and `dstd` to ensure consistent
output format.

- **Tests**
- Enhanced `TestSeAttenV2` class with new properties and methods for
better backend evaluation.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

Signed-off-by: Jinzhe Zeng <jinzhe.zeng@rutgers.edu>
For the frozen model, store two exported functions: one enables
do_atomic_virial and the other doesn't.

This PR is in conflict with deepmodeling#4285 (in `serialization.py`), and the
conflict must be resolved after one is merged.

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

## Release Notes

- **New Features**
- Introduced a new parameter for enhanced atomic virial data handling in
model evaluations.
- Added support for atomic virial calculations in multiple model
evaluation methods.
- Updated export functionality to dynamically include atomic virial data
based on user input.

- **Bug Fixes**
- Improved output structures across various backends to accommodate new
atomic virial data.

- **Tests**
- Enhanced test cases to verify the new atomic virial functionalities
and ensure compatibility with existing evaluations.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Signed-off-by: Jinzhe Zeng <jinzhe.zeng@rutgers.edu>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **Chores**
- Updated the workflow configuration for testing CUDA to improve
efficiency and concurrency.
	- Added a new package for enhanced environment setup in CUDA testing.
- Introduced an environment variable to optimize GPU memory allocation
during tests.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

Signed-off-by: Jinzhe Zeng <jinzhe.zeng@rutgers.edu>
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **New Features**
- Introduced a new method `enable_compression` in the `DescrptHybrid`
class, allowing users to configure compression settings related to
neighbor distance and table parameters.
- **Documentation**
- Enhanced documentation for the `call` method, providing clearer
descriptions of parameters and return values.

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

- **New Features**
- Introduced new classes for enhanced descriptor functionality,
including `DescrptDPA2`, `DescrptBlockRepformers`, and
`DescrptBlockSeTTebd`.
- Added serialization and deserialization methods for better state
management of descriptor objects.

- **Improvements**
- Enhanced compatibility with various array backends through the
integration of `array_api_compat`.
- Refactored existing methods to utilize new array API functions for
improved performance.
- Updated documentation to reflect JAX as a supported backend alongside
PyTorch.

- **Bug Fixes**
- Updated handling of attributes in several classes to ensure correct
deserialization and type safety.

- **Tests**
- Enhanced testing capabilities for JAX and Array API Strict backend
integration, including conditional imports and new evaluation methods.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Signed-off-by: Jinzhe Zeng <jinzhe.zeng@rutgers.edu>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Han Wang <92130845+wanghan-iapcm@users.noreply.github.com>
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Introduced `enable_compression` method across multiple classes to
allow configuration of compression settings for descriptors.
- Enhanced robustness of output definitions and serialization processes
in the `DPAtomicModel` class.
- Added `enable_compression` method to `LinearEnergyAtomicModel` for
improved model compression capabilities.

- **Bug Fixes**
- Improved error handling in the `fitting_output_def` method to ensure
fallback functionality when the fitting network is unavailable.

These updates enhance the functionality and reliability of the model
management features.
<!-- 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>
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

## Release Notes

- **New Features**
- Introduced new classes: `DPZBLLinearEnergyAtomicModel` and
`PairTabAtomicModel`, enhancing atomic model functionalities.
- Added `get_zbl_model` function for constructing `DPZBLModel` from
input data.
- Improved error handling in vector normalization with
`safe_for_vector_norm` and `safe_for_sqrt`.

- **Bug Fixes**
- Enhanced distance calculations in `format_nlist` to prevent NaN
errors.

- **Documentation**
	- Updated comments and docstrings for clarity on recent changes.

- **Tests**
	- Enhanced test support for JAX backend in `test_zbl_ener.py`.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Signed-off-by: Jinzhe Zeng <jinzhe.zeng@rutgers.edu>
)

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

## Release Notes

- **New Features**
- Added support for the TensorFlow SavedModel format, allowing users to
handle additional model file types.
- Introduced a new TensorFlow model wrapper class for enhanced
integration with JAX functionalities.
  
- **Bug Fixes**
- Improved error handling for unsupported file formats during model
deserialization.

- **Documentation**
- Updated backend documentation to reflect new file extensions and
clarify backend capabilities.

- **Tests**
- Enhanced test structure for better clarity and maintainability
regarding backend handling.
- Added a new job for testing TensorFlow 2 in eager mode within the
testing workflow.
- Introduced a conditional skip for tests based on TensorFlow 2
compatibility.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Signed-off-by: Jinzhe Zeng <jinzhe.zeng@rutgers.edu>
<!--pre-commit.ci start-->
updates:
- [github.com/astral-sh/ruff-pre-commit: v0.7.1 →
v0.7.2](astral-sh/ruff-pre-commit@v0.7.1...v0.7.2)
- [github.com/pre-commit/mirrors-clang-format: v19.1.2 →
v19.1.3](pre-commit/mirrors-clang-format@v19.1.2...v19.1.3)
<!--pre-commit.ci end-->

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
…tent_MakeAvailable` (deepmodeling#4309)

Update `source/lmp/plugin/CMakeLists.txt` to use
`FetchContent_MakeAvailable` instead of `FetchContent_Populate`.

* Replace `FetchContent_Populate(lammps_download)` with
`FetchContent_MakeAvailable(lammps_download)` on line 13.
* Remove `FetchContent_GetProperties` and `if(NOT
lammps_download_POPULATED)` block.

This fixes a CMake warning:
```
CMake Warning (dev) at /home/runner/work/_temp/-111029589/cmake-3.30.5-linux-x86_64/share/cmake-3.30/Modules/FetchContent.cmake:1953 (message):
  Calling FetchContent_Populate(lammps_download) is deprecated, call
  FetchContent_MakeAvailable(lammps_download) instead.  Policy CMP0169 can be
  set to OLD to allow FetchContent_Populate(lammps_download) to be called
  directly for now, but the ability to call it with declared details will be
  removed completely in a future version.
Call Stack (most recent call first):
  lmp/plugin/CMakeLists.txt:13 (FetchContent_Populate)
This warning is for project developers.  Use -Wno-dev to suppress it.
```

---

For more details, open the [Copilot Workspace
session](https://copilot-workspace.githubnext.com/njzjz/deepmd-kit?shareId=32a460fb-6c67-4397-b000-6f36e9841970).

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

- **Chores**
- Simplified CMake configuration for the LAMMPS plugin, ensuring
consistent availability of LAMMPS source.
	- Streamlined handling of LAMMPS versioning and installation logic. 
	- Updated minimum required CMake version from 3.11 to 3.14.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Signed-off-by: Jinzhe Zeng <jinzhe.zeng@rutgers.edu>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Enhanced output of the model by providing a reduced form of the virial
tensor, improving usability for further calculations and analyses.
- Introduced a new test class, `TestEnerLower`, to evaluate lower-level
energy models, excluding TensorFlow functionality.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Signed-off-by: Jinzhe Zeng <jinzhe.zeng@rutgers.edu>
Signed-off-by: Jinzhe Zeng <jinzhe.zeng@rutgers.edu>
@cherryWangY cherryWangY merged commit d84e32c into cherryWangY:addCommandLine Nov 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants