Commit f736ab2
feat(tf): optimize data modifier calling in deepeval (#5120)
# feat(tf): optimize data modifier calling in deepeval
This PR includes refactoring changes to improve the modifier
architecture in the DeepMD TensorFlow implementation.
## Modified Files
### 1. deepmd/tf/infer/deep_eval.py
- Refactored the modifier initialization logic to use a more generic
approach
- Replaced hardcoded DipoleChargeModifier initialization with a dynamic
class resolution using BaseModifier.get_class_by_type()
- Simplified the modifier parameter extraction by moving it to the
modifier class itself
- Fixed atom_types reshaping issue in the _get_natoms_and_nframes method
### 2. deepmd/tf/modifier/dipole_charge.py
- Added a new static method get_params() to handle parameter extraction
from the model
- This method encapsulates the logic for retrieving modifier-specific
parameters from the model's tensors
- Improved charge map parsing with proper type conversion
## Summary
These changes make the modifier system more extensible by:
- Introducing a plugin-like architecture for modifiers
- Moving modifier-specific initialization logic to the respective
modifier classes
- Making it easier to add new modifier types in the future without
modifying the core DeepEval class
- Fixing a bug in atom type handling
The refactoring follows the DRY principle and improves code
maintainability while preserving existing functionality.
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **Refactor**
* Switched to a unified, dynamic modifier system for modular handling.
* Normalized atom-count derivation to support multi-frame and varied
input shapes.
* Added module-level logging and stricter error handling that prevents
silent state mutation on modifier load failure.
* **New Features**
* Added a standard API for extracting modifier parameters from a frozen
model for consistent parameter retrieval across modifiers.
<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>
<!-- 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>1 parent dfeba54 commit f736ab2
File tree
3 files changed
+104
-31
lines changed- deepmd/tf
- infer
- modifier
3 files changed
+104
-31
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
| 3 | + | |
3 | 4 | | |
4 | 5 | | |
5 | 6 | | |
| |||
51 | 52 | | |
52 | 53 | | |
53 | 54 | | |
| 55 | + | |
| 56 | + | |
54 | 57 | | |
55 | 58 | | |
56 | 59 | | |
| |||
137 | 140 | | |
138 | 141 | | |
139 | 142 | | |
140 | | - | |
141 | | - | |
142 | | - | |
143 | | - | |
144 | | - | |
| 143 | + | |
| 144 | + | |
145 | 145 | | |
146 | | - | |
147 | | - | |
148 | | - | |
149 | | - | |
150 | | - | |
151 | | - | |
152 | | - | |
153 | | - | |
154 | | - | |
155 | | - | |
156 | | - | |
157 | | - | |
158 | | - | |
159 | | - | |
160 | | - | |
161 | | - | |
162 | | - | |
163 | | - | |
164 | | - | |
165 | | - | |
166 | | - | |
167 | | - | |
168 | | - | |
169 | | - | |
170 | | - | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
171 | 162 | | |
172 | 163 | | |
173 | 164 | | |
| |||
684 | 675 | | |
685 | 676 | | |
686 | 677 | | |
687 | | - | |
| 678 | + | |
| 679 | + | |
688 | 680 | | |
689 | 681 | | |
690 | 682 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
2 | 6 | | |
3 | 7 | | |
4 | 8 | | |
| |||
11 | 15 | | |
12 | 16 | | |
13 | 17 | | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
3 | 6 | | |
4 | 7 | | |
5 | 8 | | |
| |||
27 | 30 | | |
28 | 31 | | |
29 | 32 | | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
30 | 38 | | |
31 | 39 | | |
32 | 40 | | |
| |||
487 | 495 | | |
488 | 496 | | |
489 | 497 | | |
| 498 | + | |
| 499 | + | |
| 500 | + | |
| 501 | + | |
| 502 | + | |
| 503 | + | |
| 504 | + | |
| 505 | + | |
| 506 | + | |
| 507 | + | |
| 508 | + | |
| 509 | + | |
| 510 | + | |
| 511 | + | |
| 512 | + | |
| 513 | + | |
| 514 | + | |
| 515 | + | |
| 516 | + | |
| 517 | + | |
| 518 | + | |
| 519 | + | |
| 520 | + | |
| 521 | + | |
| 522 | + | |
| 523 | + | |
| 524 | + | |
| 525 | + | |
| 526 | + | |
| 527 | + | |
| 528 | + | |
| 529 | + | |
| 530 | + | |
| 531 | + | |
| 532 | + | |
| 533 | + | |
| 534 | + | |
| 535 | + | |
| 536 | + | |
| 537 | + | |
| 538 | + | |
| 539 | + | |
| 540 | + | |
| 541 | + | |
| 542 | + | |
| 543 | + | |
| 544 | + | |
| 545 | + | |
| 546 | + | |
0 commit comments