Skip to content

merge from origin#2

Open
jameswind wants to merge 3229 commits intojameswind:masterfrom
deepmodeling:master
Open

merge from origin#2
jameswind wants to merge 3229 commits intojameswind:masterfrom
deepmodeling:master

Conversation

@jameswind
Copy link
Owner

No description provided.

Copy link

@github-advanced-security github-advanced-security bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

CodeQL found more than 20 potential problems in the proposed changes. Check the Files changed tab for more details.

dependabot bot and others added 29 commits July 28, 2025 14:53
Bumps [pypa/cibuildwheel](https://github.com/pypa/cibuildwheel) from 3.0
to 3.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/pypa/cibuildwheel/releases">pypa/cibuildwheel's
releases</a>.</em></p>
<blockquote>
<h2>v3.1.0</h2>
<ul>
<li>🌟 CPython 3.14 wheels are now built by default - without the
<code>&quot;cpython-prerelease&quot;</code> <code>enable</code> set.
It's time to build and upload these wheels to PyPI! This release
includes CPython 3.14.0rc1, which is guaranteed to be ABI compatible
with the final release. (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2507">#2507</a>)
Free-threading is no longer experimental in 3.14, so you have to skip it
explicitly with <code>'cp31?t-*'</code> if you don't support it yet. (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2503">#2503</a>)</li>
<li>🌟 Adds the ability to <a
href="https://cibuildwheel.pypa.io/en/stable/platforms/#android">build
wheels for Android</a>! Set the <a
href="https://cibuildwheel.pypa.io/en/stable/options/#platform"><code>platform</code>
option</a> to <code>android</code> on Linux or macOS to try it out! (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2349">#2349</a>)</li>
<li>🌟 Adds Pyodide 0.28, which builds 3.13 wheels (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2487">#2487</a>)</li>
<li>✨ Support for 32-bit <code>manylinux_2_28</code> (now a consistent
default) and <code>manylinux_2_34</code> added (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2500">#2500</a>)</li>
<li>🛠 Improved summary, will also use markdown summary output on GHA (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2469">#2469</a>)</li>
<li>🛠 The riscv64 images now have a working default (as they are now
part of pypy/manylinux), but are still experimental (and behind an
<code>enable</code>) since you can't push them to PyPI yet (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2506">#2506</a>)</li>
<li>🛠 Fixed a typo in the 3.9 MUSL riscv64 identifier
(<code>cp39-musllinux_ricv64</code> -&gt;
<code>cp39-musllinux_riscv64</code>) (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2490">#2490</a>)</li>
<li>🛠 Mistyping <code>--only</code> now shows the correct possibilities,
and even suggests near matches on Python 3.14+ (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2499">#2499</a>)</li>
<li>🛠 Only support one output from the repair step on linux like other
platforms; auditwheel fixed this over four years ago! (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2478">#2478</a>)</li>
<li>🛠 We now use pattern matching extensively (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2434">#2434</a>)</li>
<li>📚 We now have platform maintainers for our special platforms and
interpreters! (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2481">#2481</a>)</li>
</ul>
<h2>v3.0.1</h2>
<ul>
<li>🛠 Updates CPython 3.14 prerelease to 3.14.0b3 (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2471">#2471</a>)</li>
<li>✨ Adds a CPython 3.14 prerelease iOS build (only when prerelease
builds are <a
href="https://cibuildwheel.pypa.io/en/stable/options/#enable">enabled</a>)
(<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2475">#2475</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/pypa/cibuildwheel/blob/main/docs/changelog.md">pypa/cibuildwheel's
changelog</a>.</em></p>
<blockquote>
<h3>v2.23.1</h3>
<p><em>15 March 2025</em></p>
<ul>
<li>⚠️ Added warnings when the shorthand values <code>manylinux1</code>,
<code>manylinux2010</code>, <code>manylinux_2_24</code>, and
<code>musllinux_1_1</code> are used to specify the images in linux
builds. The shorthand to these (unmaintainted) images will be removed in
v3.0. If you want to keep using these images, explicitly opt-in using
the full image URL, which can be found in <a
href="https://github.com/pypa/cibuildwheel/blob/v2.23.1/cibuildwheel/resources/pinned_docker_images.cfg">this
file</a>. (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2312">#2312</a>)</li>
<li>🛠 Dependency updates, including a manylinux update which fixes an <a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2303">issue
with rustup</a>. (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2315">#2315</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/pypa/cibuildwheel/commit/e6de07ed3921b51089aae6981989889cf1eddd0c"><code>e6de07e</code></a>
Bump version: v3.1.1</li>
<li><a
href="https://github.com/pypa/cibuildwheel/commit/2ca692b1e55a1f924bfb460099c9d7e015671a8d"><code>2ca692b</code></a>
docs: iOS typo fix in docs (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2510">#2510</a>)</li>
<li><a
href="https://github.com/pypa/cibuildwheel/commit/1ac7fa7f004958fbde774ee89523c446a5d99934"><code>1ac7fa7</code></a>
fix: report defects in logs and HTML summaries (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2512">#2512</a>)</li>
<li><a
href="https://github.com/pypa/cibuildwheel/commit/ffd835cef18fa11522f608fc0fa973b89f5ddc87"><code>ffd835c</code></a>
Bump version: v3.1.0</li>
<li><a
href="https://github.com/pypa/cibuildwheel/commit/3e2a9aa6e85824999f897fc2c060ca12a5113ef6"><code>3e2a9aa</code></a>
fix: regenerate schema</li>
<li><a
href="https://github.com/pypa/cibuildwheel/commit/10c727eed9fc962f75d33d472272e3ad78c3e707"><code>10c727e</code></a>
feat: Python 3.14rc1 build by default (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2507">#2507</a>)</li>
<li><a
href="https://github.com/pypa/cibuildwheel/commit/f628c9dd23fe6e263cb91cef755a51a0af3bcddc"><code>f628c9d</code></a>
[pre-commit.ci] pre-commit autoupdate (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2505">#2505</a>)</li>
<li><a
href="https://github.com/pypa/cibuildwheel/commit/0f487ee2cb00876d95290da49d04208c91237857"><code>0f487ee</code></a>
feat: add support for building Android wheels (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2349">#2349</a>)</li>
<li><a
href="https://github.com/pypa/cibuildwheel/commit/e2e24882d8422e974295b1b9079d4ce80a5098a4"><code>e2e2488</code></a>
feat: add default riscv64 images (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2506">#2506</a>)</li>
<li><a
href="https://github.com/pypa/cibuildwheel/commit/a8bff94dbb5f3a4a914e29cf8353c2f6f1b9ab8b"><code>a8bff94</code></a>
[Bot] Update dependencies (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2504">#2504</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/pypa/cibuildwheel/compare/v3.0...v3.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pypa/cibuildwheel&package-manager=github_actions&previous-version=3.0&new-version=3.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
<!--pre-commit.ci start-->
updates:
- [github.com/astral-sh/ruff-pre-commit: v0.12.4 →
v0.12.5](astral-sh/ruff-pre-commit@v0.12.4...v0.12.5)
- [github.com/njzjz/mirrors-bibtex-tidy: v1.13.0 →
v1.14.0](njzjz/mirrors-bibtex-tidy@v1.13.0...v1.14.0)
<!--pre-commit.ci end-->

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Remove version `>=a.b.crc0` from dependencies. The stable version should
be preferred.
This prevents the installation of TensorFlow 2.20.0rc0, which breaks the
CI. However, the incompatibility should still be fixed in the future.
TensorFlow 2.20.0rc0 removes the version information from the header
files.

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

## Summary by CodeRabbit

* **Chores**
* Updated version requirements for TensorFlow and myst-nb packages to
use stable releases instead of release candidate versions in build and
documentation workflows.
* Adjusted dependency handling for TensorFlow CPU to ensure stable
versions are used during build processes.

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

Signed-off-by: Jinzhe Zeng <jinzhe.zeng@ustc.edu.cn>
…ed. (#4854)

feat: add Mean absolute percentage error (MAPE) loss for property
prediction

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

* **New Features**
* Added support for the Mean Absolute Percentage Error (MAPE) as a
selectable loss function and metric.

* **Documentation**
* Updated user-facing documentation to include "mape" as an option for
loss function selection.
<!-- 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>
…sentative logging (#4850)

This pull request modifies the training loop to improve the quality and
readability of the reported training loss.

## Summary of Changes

Previously, the training loss and associated metrics (e.g., rmse_e_trn)
reported in lcurve.out and the console log at each disp_freq step
represented the instantaneous value from that single training batch.
This could be quite noisy and subject to high variance depending on the
specific batch sampled.

This PR introduces an accumulator for the training loss. The key changes
are:

During each training step, the loss values are accumulated.

When a display step is reached, the accumulated values are averaged over
the number of steps in that interval.

This averaged loss is then reported in the log and lcurve.out.

The accumulators are reset for the next interval.

The validation logic remains unchanged, continuing to provide a periodic
snapshot of model performance, which is the standard and efficient
approach.

## Significance and Benefits

Reporting the averaged training loss provides a much smoother and more
representative training curve. The benefits include:

Reduced Noise: Eliminates high-frequency fluctuations, making it easier
to see the true learning trend.

Improved Readability: Plotted learning curves from lcurve.out are
cleaner and more interpretable.

Better Comparability: Simplifies the comparison of model performance
across different training runs, as the impact of single-batch anomalies
is minimized.

## A Note on Formatting

Please note that due to automatic code formatters (e.g., black, isort),
some minor, purely stylistic changes may appear in the diff that are not
directly related to the core logic.

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

* **New Features**
* Training loss values displayed during training are now averaged over
the display interval, providing more stable and representative loss
metrics for both single-task and multi-task modes.
* Added an option to enable or disable averaging of training loss
display via a new configuration setting.

* **Improvements**
* Enhanced training loss reporting for improved monitoring and analysis
during model training.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Signed-off-by: LI TIANCHENG <137472077+OutisLi@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Jinzhe Zeng <njzjz@qq.com>
The parameter "precision" supports bfloat16 with most backends, but it
is not documented.

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

## Summary by CodeRabbit

* **New Features**
  * Added support for "bfloat16" as a selectable precision option.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
<!--pre-commit.ci start-->
updates:
- [github.com/astral-sh/ruff-pre-commit: v0.12.5 →
v0.12.7](astral-sh/ruff-pre-commit@v0.12.5...v0.12.7)
<!--pre-commit.ci end-->

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
`get_xp_precision` is more general and has more precisions (including
bfloat16).

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

* **Refactor**
* Improved internal handling of precision settings for numerical
operations, streamlining how precision is determined. No changes to
user-facing functionality.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Signed-off-by: Jinzhe Zeng <jinzhe.zeng@ustc.edu.cn>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
…f argument `auto_batch_size` of `DeepEval` with paddle and pytorch backend (#4865)

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

* **New Features**
* Automatic batch size handling is now enabled by default when creating
a new DeepEval instance.

* **Documentation**
* Improved formatting consistency in model information and multi-task
training guides by removing unnecessary blank lines.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: glwan <wanguolin@dp.tech>
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 all scripts, configuration files, and documentation to use the
latest LAMMPS stable release version (stable_22Jul2025) for building and
installing DeePMD-kit.
* Adjusted dependency specifications and environment variables to
reflect the new LAMMPS version.
* Revised installation instructions to reference the updated LAMMPS
source archive and directory names.
* Replaced external LAMMPS version extraction with a custom
implementation for improved version parsing.
* Removed obsolete environment variable settings related to C++ ABI
configuration.
* Updated build dependencies to conditionally include the MPI package
based on the build environment.
* Enhanced environment setup to properly handle CUDA and MPI library
paths across platforms during build and runtime.
* Improved library loading to explicitly load MPI libraries when
building with cibuildwheel.
* Clarified installation documentation to indicate automatic MPICH
installation without manual MPI setup.
* Added conditional interface to manage LAMMPS OP library directory
retrieval based on configuration.
* **Tests**
* Modified tests to restrict atom ID indexing to the subset of atoms
matching coordinate array lengths for consistency in validation.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Signed-off-by: Jinzhe Zeng <jinzhe.zeng@ustc.edu.cn>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
This PR fixes the warning message when running on CPU:
```
torch/utils/data/dataloader.py:665: UserWarning: 'pin_memory' argument is set as true but no accelerator is found, then device pinned memory won't be used.
  warnings.warn(warn_msg)
  ```

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

## Summary by CodeRabbit

* **Bug Fixes**
  * Improved memory handling by enabling memory pinning only when using non-CPU devices, which may enhance performance and stability when training on GPUs.

<!-- 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>
Support DPA2/DPA3 C++ inference with lammps

> [!NOTE]
> The intermediate representation (IR) of PaddlePaddle's computation
graph does not support the `Dict[str, Tensor]` data type. Considering
the special nature of `comm_dict`, we replaced it with `List[Tensor]`,
which allowed us to successfully run inference for DPA2 and DPA3.

- DPA2
<img width="896" height="680" alt="4c116161d304da381ffeed968857be1f"
src="https://github.com/user-attachments/assets/c4bc178d-4a14-43f4-8d08-946eb9bdf3d3"
/>

- DPA3
<img width="891" height="682" alt="863dfb7c8f285149cfdaf6aa4c6849fc"
src="https://github.com/user-attachments/assets/b74ea212-9055-4863-85fb-18cbace3c60e"
/>


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

## Summary by CodeRabbit

* **New Features**
* Added support for distributed computation and message passing in
PaddlePaddle backend, including a custom operator for efficient border
data exchange.
* Enabled optional retrieval of intermediate network outputs during
evaluation.
  * Introduced input statistics computation for model fitting.
* Added dynamic loading of Paddle custom operator library and
integration in model descriptor and repformer layers.

* **Improvements**
* Enhanced model freezing and input signature flexibility with dynamic
batch sizes and expanded communication tensor support.
* Improved tensor operations for better device handling, explicit
broadcasting, and type casting consistency.
* Refined handling of atomic virial outputs and descriptor
communication.
* Added support for spin and non-spin modes in parallel descriptor
computations using the custom operator.
* Simplified device placement in tensor creation and removed redundant
explicit device transfers.
* Improved input validation and type annotations across models and
descriptors.
* Replaced ad-hoc logging in C++ API with a structured logger for better
debug output.
  * Updated parameter documentation for improved clarity.

* **Bug Fixes**
* Fixed tensor padding, masking, and device placement issues for
improved robustness in distributed and parallel scenarios.
* Corrected handling of neighbor list masking and indexing with explicit
tensor fills to avoid broadcast errors.

* **Build/Chores**
* Added new build scripts and CMake configurations for PaddlePaddle
custom operator integration.
* Improved support for PaddlePaddle model detection and operator library
loading in both Python and C++ APIs.
* Implemented full message passing setup in C++ API replacing previous
exceptions.
* Added Python setup script for Paddle custom operator extension build.

<!-- 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>
…ue. (#4855)

When enable_profiler has been set to true, it will save the profiling
results into json format in the tensorboard_log_dir. Currently, when
both enable_profiler and profiling are set to true, it will throw an
error `RuntimeError: Trace is already saved`. As a result, just ignore
the profiling option when enable_profiler is true.

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

* **Bug Fixes**
* Refined profiling trace export logic to prevent duplicate or
unintended trace exports when the new profiler is enabled. Profiling
traces are now only exported if profiling is enabled and the new
profiler is not active.
* **Documentation**
* Updated profiling documentation to clarify that when the new profiler
is enabled, profiling results are saved to TensorBoard logs instead of a
Chrome JSON file.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Signed-off-by: LI TIANCHENG <137472077+OutisLi@users.noreply.github.com>
Co-authored-by: Jinzhe Zeng <njzjz@qq.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
This addresses #3099.

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

* **Documentation**
* Added a new citation for the "DeePMD-kit v3" paper to the list of
recommended references.
* Clarified best practices for applying D3 dispersion corrections,
advising users to train models without dispersion and apply corrections
during simulation.
* Introduced a new section in the documentation explaining how to
combine DeePMD models with D3 dispersion in LAMMPS, including example
commands.
* Updated example README files with guidance on efficient model training
and use of dispersion corrections.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Signed-off-by: Jinzhe Zeng <njzjz@qq.com>
Signed-off-by: Jinzhe Zeng <jinzhe.zeng@ustc.edu.cn>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Bumps
[actions/download-artifact](https://github.com/actions/download-artifact)
from 4 to 5.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/actions/download-artifact/releases">actions/download-artifact's
releases</a>.</em></p>
<blockquote>
<h2>v5.0.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Update README.md by <a
href="https://github.com/nebuk89"><code>@​nebuk89</code></a> in <a
href="https://redirect.github.com/actions/download-artifact/pull/407">actions/download-artifact#407</a></li>
<li>BREAKING fix: inconsistent path behavior for single artifact
downloads by ID by <a
href="https://github.com/GrantBirki"><code>@​GrantBirki</code></a> in <a
href="https://redirect.github.com/actions/download-artifact/pull/416">actions/download-artifact#416</a></li>
</ul>
<h2>v5.0.0</h2>
<h3>🚨 Breaking Change</h3>
<p>This release fixes an inconsistency in path behavior for single
artifact downloads by ID. <strong>If you're downloading single artifacts
by ID, the output path may change.</strong></p>
<h4>What Changed</h4>
<p>Previously, <strong>single artifact downloads</strong> behaved
differently depending on how you specified the artifact:</p>
<ul>
<li><strong>By name</strong>: <code>name: my-artifact</code> → extracted
to <code>path/</code> (direct)</li>
<li><strong>By ID</strong>: <code>artifact-ids: 12345</code> → extracted
to <code>path/my-artifact/</code> (nested)</li>
</ul>
<p>Now both methods are consistent:</p>
<ul>
<li><strong>By name</strong>: <code>name: my-artifact</code> → extracted
to <code>path/</code> (unchanged)</li>
<li><strong>By ID</strong>: <code>artifact-ids: 12345</code> → extracted
to <code>path/</code> (fixed - now direct)</li>
</ul>
<h4>Migration Guide</h4>
<h5>✅ No Action Needed If:</h5>
<ul>
<li>You download artifacts by <strong>name</strong></li>
<li>You download <strong>multiple</strong> artifacts by ID</li>
<li>You already use <code>merge-multiple: true</code> as a
workaround</li>
</ul>
<h5>⚠️ Action Required If:</h5>
<p>You download <strong>single artifacts by ID</strong> and your
workflows expect the nested directory structure.</p>
<p><strong>Before v5 (nested structure):</strong></p>
<pre lang="yaml"><code>- uses: actions/download-artifact@v4
  with:
    artifact-ids: 12345
    path: dist
# Files were in: dist/my-artifact/
</code></pre>
<blockquote>
<p>Where <code>my-artifact</code> is the name of the artifact you
previously uploaded</p>
</blockquote>
<p><strong>To maintain old behavior (if needed):</strong></p>
<pre lang="yaml"><code>&lt;/tr&gt;&lt;/table&gt; 
</code></pre>
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/actions/download-artifact/commit/634f93cb2916e3fdff6788551b99b062d0335ce0"><code>634f93c</code></a>
Merge pull request <a
href="https://redirect.github.com/actions/download-artifact/issues/416">#416</a>
from actions/single-artifact-id-download-path</li>
<li><a
href="https://github.com/actions/download-artifact/commit/b19ff4302770b82aa4694b63703b547756dacce6"><code>b19ff43</code></a>
refactor: resolve download path correctly in artifact download tests
(mainly ...</li>
<li><a
href="https://github.com/actions/download-artifact/commit/e262cbee4ab8c473c61c59a81ad8e9dc760e90db"><code>e262cbe</code></a>
bundle dist</li>
<li><a
href="https://github.com/actions/download-artifact/commit/bff23f9308ceb2f06d673043ea6311519be6a87b"><code>bff23f9</code></a>
update docs</li>
<li><a
href="https://github.com/actions/download-artifact/commit/fff8c148a8fdd56aa81fcb019f0b5f6c65700c4d"><code>fff8c14</code></a>
fix download path logic when downloading a single artifact by id</li>
<li><a
href="https://github.com/actions/download-artifact/commit/448e3f862ab3ef47aa50ff917776823c9946035b"><code>448e3f8</code></a>
Merge pull request <a
href="https://redirect.github.com/actions/download-artifact/issues/407">#407</a>
from actions/nebuk89-patch-1</li>
<li><a
href="https://github.com/actions/download-artifact/commit/47225c44b359a5155efdbbbc352041b3e249fb1b"><code>47225c4</code></a>
Update README.md</li>
<li>See full diff in <a
href="https://github.com/actions/download-artifact/compare/v4...v5">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/download-artifact&package-manager=github_actions&previous-version=4&new-version=5)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
<!--pre-commit.ci start-->
updates:
- [github.com/pre-commit/pre-commit-hooks: v5.0.0 →
v6.0.0](pre-commit/pre-commit-hooks@v5.0.0...v6.0.0)
- [github.com/astral-sh/ruff-pre-commit: v0.12.7 →
v0.12.8](astral-sh/ruff-pre-commit@v0.12.7...v0.12.8)
- https://github.com/pylint-dev/pylint/: v3.3.7 → v3.3.8
<!--pre-commit.ci end-->

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

# Fix: support "max:N" and "filter:N" batch_size rules in
DeepmdDataSystem

## Problem

- Using `batch_size: "max:..."` or `"filter:..."` in configs caused:
- `RuntimeError: unknown batch_size rule max` during the PyTorch path
(neighbor statistics).
- Docs mention these rules and PyTorch `DpLoaderSet` already supports
them, so behavior was inconsistent across layers.

## Cause

- The common data layer `DeepmdDataSystem` only implemented `"auto"` and
`"mixed"` for string `batch_size`, missing `"max"` and `"filter"`.
- PT training performs neighbor statistics via `DeepmdDataSystem` before
real training, so it failed early when those rules were used.

## Fix

- Implement `"max:N"` and `"filter:N"` in `DeepmdDataSystem.__init__` to
mirror `DpLoaderSet` semantics:
- `max:N`: per-system `batch_size = max(1, N // natoms)` so `batch_size
* natoms <= N`.
- `filter:N`: drop systems with `natoms > N` (warn if any removed; error
if none left), then set per-system `batch_size` as in `max:N`.
- After filtering, update `self.data_systems`, `self.system_dirs`, and
`self.nsystems` before computing other metadata.

## Impact

- Aligns the common layer behavior with PyTorch `DpLoaderSet` and with
the documentation.
- Prevents PT neighbor-stat crashes with configs using
`"max"`/`"filter"`.

## Compatibility

- No change to numeric `batch_size` or existing
`"auto"/"auto:N"/"mixed:N"` rules.
- TF/PT/PD paths now accept the same `batch_size` rules consistently in
the common layer.

## Files Changed

- `deepmd/utils/data_system.py`: add parsing branches for `"max:N"` and
`"filter:N"` in `DeepmdDataSystem.__init__`.

```python
elif "max" == words[0]:
                # Determine batch size so that batch_size * natoms <= rule, at least 1
                if len(words) != 2:
                    raise RuntimeError("batch size must be specified for max systems")
                rule = int(words[1])
                bs = []
                for ii in self.data_systems:
                    ni = ii.get_natoms()
                    bsi = rule // ni
                    if bsi == 0:
                        bsi = 1
                    bs.append(bsi)
                self.batch_size = bs
            elif "filter" == words[0]:
                # Remove systems with natoms > rule, then set batch size like "max:rule"
                if len(words) != 2:
                    raise RuntimeError("batch size must be specified for filter systems")
                rule = int(words[1])
                filtered_data_systems = []
                filtered_system_dirs = []
                for sys_dir, data_sys in zip(self.system_dirs, self.data_systems):
                    if data_sys.get_natoms() <= rule:
                        filtered_data_systems.append(data_sys)
                        filtered_system_dirs.append(sys_dir)
                if len(filtered_data_systems) == 0:
                    raise RuntimeError(f"No system left after removing systems with more than {rule} atoms")
                if len(filtered_data_systems) != len(self.data_systems):
                    warnings.warn(f"Remove {len(self.data_systems) - len(filtered_data_systems)} systems with more than {rule} atoms")
                self.data_systems = filtered_data_systems
                self.system_dirs = filtered_system_dirs
                self.nsystems = len(self.data_systems)
                bs = []
                for ii in self.data_systems:
                    ni = ii.get_natoms()
                    bsi = rule // ni
                    if bsi == 0:
                        bsi = 1
                    bs.append(bsi)
                self.batch_size = bs
```

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

* **New Features**
* Added support for "max" and "filter" batch size rules, allowing more
flexible control over batch sizing and filtering of data systems based
on atom counts.
* **Bug Fixes**
* Improved error handling for incorrect batch size string formats and
cases where no systems remain after filtering.
<!-- 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**
* Added an option to control whether output statistics are computed or
loaded across atomic models.

* **Bug Fixes**
* More robust parameter transfer during fine‑tuning to handle renamed
branches and missing pretrained keys.

* **Refactor**
* Revised output-statistics workflow and refined per‑type output bias
application in composite models.

* **Tests**
* Simplified linear-model bias checks and added a ZBL finetuning test
path.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: anyangml <anyangpeng.ca@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
fix eta computation code

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

## Summary by CodeRabbit

* **Bug Fixes**
* Improved ETA accuracy in training/validation progress logs by adapting
calculations to recent step intervals, reducing misleading estimates
early in runs.
* Consistent behavior across both backends, providing more reliable
remaining-time estimates without changing any public interfaces.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
…ms (#4869)

When using virtual atoms, the property output of virtual atom is `0`.
- If predicting energy or other extensive properties, it works well,
that's because the virtual atom property `0` do not contribute to the
total energy or other extensive properties.
- However, if predicting intensive properties, there is some error. For
example, a frame has two real atoms and two virtual atoms, the atomic
property contribution is [2, 2, 0, 0](the atomic property of virtual
atoms are always 0), the final property should be `(2+2)/real_atoms =
2`, not be `(2+2)/total_atoms =1`.

This PR is used to solve this bug mentioned above.

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

* **New Features**
* Models now provide accessors to retrieve property names and their
fitting network; property fitting nets expose output definitions.

* **Bug Fixes**
* Intensive property reduction respects atom masks so padded/dummy atoms
are ignored, keeping results invariant to padding.

* **Tests**
* Added PyTorch, JAX, and core tests validating consistent behavior with
padded atoms.
<!-- 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>
Fix version finding in pip and CMake; pin TF to <2.20 on Windows; fix
TENSORFLOW_ROOT in the CI.

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

- New Features
- Added compatibility with TensorFlow 2.20+ via runtime version
detection and generated version macros.

- Bug Fixes
  - Clearer errors when a specified TensorFlow root is invalid.
  - Improved version-parsing fallback for newer TensorFlow releases.
- Tightened Windows CPU wheel constraint to avoid incompatible versions.

- Chores
- Updated devcontainer scripts and CI workflows to more reliably locate
TensorFlow without importing it directly.
- Linked TensorFlow during version checks to ensure accurate detection.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Signed-off-by: Jinzhe Zeng <jinzhe.zeng@ustc.edu.cn>
Signed-off-by: Jinzhe Zeng <njzjz@qq.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
The UT of padding atoms(pytorch backend) sometimes fails like:
```
Mismatched elements: 1 / 2 (50%)
Max absolute difference among violations: 1.97471693e-08
Max relative difference among violations: 6.45619919e-07
 ACTUAL: array([[-0.236542],
       [ 0.030586]])
 DESIRED: array([[-0.236542],
       [ 0.030586]])
= 1 failed, 15442 passed, 4135 skipped, 97877 deselected, 224 warnings in 2825.25s (0:47:05) =
```

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

## Summary by CodeRabbit

- **Tests**
- Adjusted numerical comparison assertions to use both absolute and
relative tolerances in padding-related tests.
- Aligns checks between computed results and references, improving
resilience to minor floating-point variation.
- Reduces intermittent test failures across environments and dependency
versions.
  - No impact on features, performance, or user workflows.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
…t in dpa3 document (#4887)

update paddle installation scripts and custom border op error message

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

* **Documentation**
* Updated installation guides to reference PaddlePaddle 3.1.1 for CUDA
12.6, CUDA 11.8, and CPU; added nightly pre-release install examples.
* Refined training docs wording and CINN note; added Paddle backend
guidance and explicit OP-install instructions in DPA3 docs.

* **Chores**
* Improved error messages when custom Paddle operators are unavailable,
adding clearer install instructions and links to documentation.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Signed-off-by: HydrogenSulfate <490868991@qq.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Fix #4877.

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

## Summary by CodeRabbit

- Bug Fixes
- Improved build compatibility with PyTorch 2.8+ on UNIX-like systems
(excluding macOS) by aligning the default ABI selection with PyTorch’s
behavior. This reduces potential linker/runtime issues when building
against newer PyTorch versions. Behavior on other platforms and with
older PyTorch remains unchanged. No runtime functionality changes for
end users.

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

## Summary by CodeRabbit

* **New Features**
* Training entrypoints now accept YAML configuration files in addition
to JSON, offering more flexibility when launching training.
* Unified configuration loading across frameworks for consistent
behavior (PyTorch, Paddle, TensorFlow).
* Backward compatible: existing JSON-based workflows continue to work
unchanged.

* **Tests**
* Added coverage to verify YAML input produces the expected training
output.
  * Improved test cleanup to remove generated artifacts after execution.

<!-- 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>
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to
5.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/actions/checkout/releases">actions/checkout's
releases</a>.</em></p>
<blockquote>
<h2>v5.0.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Update actions checkout to use node 24 by <a
href="https://github.com/salmanmkc"><code>@​salmanmkc</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2226">actions/checkout#2226</a></li>
<li>Prepare v5.0.0 release by <a
href="https://github.com/salmanmkc"><code>@​salmanmkc</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2238">actions/checkout#2238</a></li>
</ul>
<h2>⚠️ Minimum Compatible Runner Version</h2>
<p><strong>v2.327.1</strong><br />
<a
href="https://github.com/actions/runner/releases/tag/v2.327.1">Release
Notes</a></p>
<p>Make sure your runner is updated to this version or newer to use this
release.</p>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/checkout/compare/v4...v5.0.0">https://github.com/actions/checkout/compare/v4...v5.0.0</a></p>
<h2>v4.3.0</h2>
<h2>What's Changed</h2>
<ul>
<li>docs: update README.md by <a
href="https://github.com/motss"><code>@​motss</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1971">actions/checkout#1971</a></li>
<li>Add internal repos for checking out multiple repositories by <a
href="https://github.com/mouismail"><code>@​mouismail</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1977">actions/checkout#1977</a></li>
<li>Documentation update - add recommended permissions to Readme by <a
href="https://github.com/benwells"><code>@​benwells</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2043">actions/checkout#2043</a></li>
<li>Adjust positioning of user email note and permissions heading by <a
href="https://github.com/joshmgross"><code>@​joshmgross</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2044">actions/checkout#2044</a></li>
<li>Update README.md by <a
href="https://github.com/nebuk89"><code>@​nebuk89</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2194">actions/checkout#2194</a></li>
<li>Update CODEOWNERS for actions by <a
href="https://github.com/TingluoHuang"><code>@​TingluoHuang</code></a>
in <a
href="https://redirect.github.com/actions/checkout/pull/2224">actions/checkout#2224</a></li>
<li>Update package dependencies by <a
href="https://github.com/salmanmkc"><code>@​salmanmkc</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2236">actions/checkout#2236</a></li>
<li>Prepare release v4.3.0 by <a
href="https://github.com/salmanmkc"><code>@​salmanmkc</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2237">actions/checkout#2237</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/motss"><code>@​motss</code></a> made
their first contribution in <a
href="https://redirect.github.com/actions/checkout/pull/1971">actions/checkout#1971</a></li>
<li><a href="https://github.com/mouismail"><code>@​mouismail</code></a>
made their first contribution in <a
href="https://redirect.github.com/actions/checkout/pull/1977">actions/checkout#1977</a></li>
<li><a href="https://github.com/benwells"><code>@​benwells</code></a>
made their first contribution in <a
href="https://redirect.github.com/actions/checkout/pull/2043">actions/checkout#2043</a></li>
<li><a href="https://github.com/nebuk89"><code>@​nebuk89</code></a> made
their first contribution in <a
href="https://redirect.github.com/actions/checkout/pull/2194">actions/checkout#2194</a></li>
<li><a href="https://github.com/salmanmkc"><code>@​salmanmkc</code></a>
made their first contribution in <a
href="https://redirect.github.com/actions/checkout/pull/2236">actions/checkout#2236</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/checkout/compare/v4...v4.3.0">https://github.com/actions/checkout/compare/v4...v4.3.0</a></p>
<h2>v4.2.2</h2>
<h2>What's Changed</h2>
<ul>
<li><code>url-helper.ts</code> now leverages well-known environment
variables by <a href="https://github.com/jww3"><code>@​jww3</code></a>
in <a
href="https://redirect.github.com/actions/checkout/pull/1941">actions/checkout#1941</a></li>
<li>Expand unit test coverage for <code>isGhes</code> by <a
href="https://github.com/jww3"><code>@​jww3</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1946">actions/checkout#1946</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/checkout/compare/v4.2.1...v4.2.2">https://github.com/actions/checkout/compare/v4.2.1...v4.2.2</a></p>
<h2>v4.2.1</h2>
<h2>What's Changed</h2>
<ul>
<li>Check out other refs/* by commit if provided, fall back to ref by <a
href="https://github.com/orhantoy"><code>@​orhantoy</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1924">actions/checkout#1924</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/Jcambass"><code>@​Jcambass</code></a>
made their first contribution in <a
href="https://redirect.github.com/actions/checkout/pull/1919">actions/checkout#1919</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/checkout/compare/v4.2.0...v4.2.1">https://github.com/actions/checkout/compare/v4.2.0...v4.2.1</a></p>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/actions/checkout/blob/main/CHANGELOG.md">actions/checkout's
changelog</a>.</em></p>
<blockquote>
<h1>Changelog</h1>
<h2>V5.0.0</h2>
<ul>
<li>Update actions checkout to use node 24 by <a
href="https://github.com/salmanmkc"><code>@​salmanmkc</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2226">actions/checkout#2226</a></li>
</ul>
<h2>V4.3.0</h2>
<ul>
<li>docs: update README.md by <a
href="https://github.com/motss"><code>@​motss</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1971">actions/checkout#1971</a></li>
<li>Add internal repos for checking out multiple repositories by <a
href="https://github.com/mouismail"><code>@​mouismail</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1977">actions/checkout#1977</a></li>
<li>Documentation update - add recommended permissions to Readme by <a
href="https://github.com/benwells"><code>@​benwells</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2043">actions/checkout#2043</a></li>
<li>Adjust positioning of user email note and permissions heading by <a
href="https://github.com/joshmgross"><code>@​joshmgross</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2044">actions/checkout#2044</a></li>
<li>Update README.md by <a
href="https://github.com/nebuk89"><code>@​nebuk89</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2194">actions/checkout#2194</a></li>
<li>Update CODEOWNERS for actions by <a
href="https://github.com/TingluoHuang"><code>@​TingluoHuang</code></a>
in <a
href="https://redirect.github.com/actions/checkout/pull/2224">actions/checkout#2224</a></li>
<li>Update package dependencies by <a
href="https://github.com/salmanmkc"><code>@​salmanmkc</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2236">actions/checkout#2236</a></li>
</ul>
<h2>v4.2.2</h2>
<ul>
<li><code>url-helper.ts</code> now leverages well-known environment
variables by <a href="https://github.com/jww3"><code>@​jww3</code></a>
in <a
href="https://redirect.github.com/actions/checkout/pull/1941">actions/checkout#1941</a></li>
<li>Expand unit test coverage for <code>isGhes</code> by <a
href="https://github.com/jww3"><code>@​jww3</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1946">actions/checkout#1946</a></li>
</ul>
<h2>v4.2.1</h2>
<ul>
<li>Check out other refs/* by commit if provided, fall back to ref by <a
href="https://github.com/orhantoy"><code>@​orhantoy</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1924">actions/checkout#1924</a></li>
</ul>
<h2>v4.2.0</h2>
<ul>
<li>Add Ref and Commit outputs by <a
href="https://github.com/lucacome"><code>@​lucacome</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1180">actions/checkout#1180</a></li>
<li>Dependency updates by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>- <a
href="https://redirect.github.com/actions/checkout/pull/1777">actions/checkout#1777</a>,
<a
href="https://redirect.github.com/actions/checkout/pull/1872">actions/checkout#1872</a></li>
</ul>
<h2>v4.1.7</h2>
<ul>
<li>Bump the minor-npm-dependencies group across 1 directory with 4
updates by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1739">actions/checkout#1739</a></li>
<li>Bump actions/checkout from 3 to 4 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1697">actions/checkout#1697</a></li>
<li>Check out other refs/* by commit by <a
href="https://github.com/orhantoy"><code>@​orhantoy</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1774">actions/checkout#1774</a></li>
<li>Pin actions/checkout's own workflows to a known, good, stable
version. by <a href="https://github.com/jww3"><code>@​jww3</code></a> in
<a
href="https://redirect.github.com/actions/checkout/pull/1776">actions/checkout#1776</a></li>
</ul>
<h2>v4.1.6</h2>
<ul>
<li>Check platform to set archive extension appropriately by <a
href="https://github.com/cory-miller"><code>@​cory-miller</code></a> in
<a
href="https://redirect.github.com/actions/checkout/pull/1732">actions/checkout#1732</a></li>
</ul>
<h2>v4.1.5</h2>
<ul>
<li>Update NPM dependencies by <a
href="https://github.com/cory-miller"><code>@​cory-miller</code></a> in
<a
href="https://redirect.github.com/actions/checkout/pull/1703">actions/checkout#1703</a></li>
<li>Bump github/codeql-action from 2 to 3 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1694">actions/checkout#1694</a></li>
<li>Bump actions/setup-node from 1 to 4 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1696">actions/checkout#1696</a></li>
<li>Bump actions/upload-artifact from 2 to 4 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1695">actions/checkout#1695</a></li>
<li>README: Suggest <code>user.email</code> to be
<code>41898282+github-actions[bot]@users.noreply.github.com</code> by <a
href="https://github.com/cory-miller"><code>@​cory-miller</code></a> in
<a
href="https://redirect.github.com/actions/checkout/pull/1707">actions/checkout#1707</a></li>
</ul>
<h2>v4.1.4</h2>
<ul>
<li>Disable <code>extensions.worktreeConfig</code> when disabling
<code>sparse-checkout</code> by <a
href="https://github.com/jww3"><code>@​jww3</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1692">actions/checkout#1692</a></li>
<li>Add dependabot config by <a
href="https://github.com/cory-miller"><code>@​cory-miller</code></a> in
<a
href="https://redirect.github.com/actions/checkout/pull/1688">actions/checkout#1688</a></li>
<li>Bump the minor-actions-dependencies group with 2 updates by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1693">actions/checkout#1693</a></li>
<li>Bump word-wrap from 1.2.3 to 1.2.5 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1643">actions/checkout#1643</a></li>
</ul>
<h2>v4.1.3</h2>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/actions/checkout/commit/08c6903cd8c0fde910a37f88322edcfb5dd907a8"><code>08c6903</code></a>
Prepare v5.0.0 release (<a
href="https://redirect.github.com/actions/checkout/issues/2238">#2238</a>)</li>
<li><a
href="https://github.com/actions/checkout/commit/9f265659d3bb64ab1440b03b12f4d47a24320917"><code>9f26565</code></a>
Update actions checkout to use node 24 (<a
href="https://redirect.github.com/actions/checkout/issues/2226">#2226</a>)</li>
<li>See full diff in <a
href="https://github.com/actions/checkout/compare/v4...v5">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/checkout&package-manager=github_actions&previous-version=4&new-version=5)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
<!--pre-commit.ci start-->
updates:
- [github.com/astral-sh/ruff-pre-commit: v0.12.8 →
v0.12.9](astral-sh/ruff-pre-commit@v0.12.8...v0.12.9)
<!--pre-commit.ci end-->

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
…ix bugs mentioned in issue #4906 (#4908)

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

## Summary by CodeRabbit

- New Features
- Added optional support to pass a communication dictionary through
lower-level model computations across energy, dipole, DOS, polarization,
and related models. This enables advanced workflows while remaining
fully backward compatible.
- Refactor
- Standardized internal propagation of the communication dictionary
across sub-models to ensure consistent behavior.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
…etup (#4911)

This PR adds comprehensive development support for GitHub Copilot agents
working in the DeePMD-kit codebase.

## What's included

**Comprehensive Copilot Instructions
(`.github/copilot-instructions.md`)**
- Complete build workflow with exact timing expectations (67s Python
build, 164s C++ build)
- Virtual environment setup and dependency installation for all backends
(TensorFlow, PyTorch, JAX, Paddle)
- **Optimized testing guidance**: Emphasizes single test execution
(~8-13 seconds) over full test suite (60+ minutes) for faster
development feedback
- Linting and formatting with ruff (1 second execution)
- Multiple validation scenarios for CLI, Python interface, and training
workflows
- Directory structure reference and key file locations
- Critical warnings with specific timeout recommendations to prevent
premature cancellation
- **Conventional commit specification**: Guidelines for commit messages
and PR titles following `type(scope): description` format

**Automated Environment Setup
(`.github/workflows/copilot-setup-steps.yml`)**
- Pre-configures Python environment using uv for fast dependency
management
- Installs TensorFlow CPU and PyTorch automatically
- Builds the DeePMD-kit package with all dependencies
- Sets up pre-commit hooks for code quality
- Validates installation to ensure environment readiness

**Development Efficiency Features**
- All commands tested and validated with accurate timing measurements
- Imperative tone throughout for clear action items
- Copy-paste ready validation scenarios
- Gitignore rules to prevent temporary test files from being committed

## Key improvements for Copilot agents

- **Faster iteration**: Single test recommendations instead of 60+
minute full test suites
- **Automated setup**: No manual environment configuration needed
- **Precise expectations**: Exact timing guidance prevents timeout
issues during builds
- **Multi-backend support**: Complete coverage of TensorFlow, PyTorch,
JAX, and Paddle workflows
- **Consistent commit standards**: Enforces conventional commit
specification for all changes

The instructions enable any GitHub Copilot agent to work effectively in
this codebase from a fresh clone with precise expectations for build
times, test execution, and validation workflows.

Fixes #4910.

<!-- START COPILOT CODING AGENT TIPS -->
---

💡 You can make Copilot smarter by setting up custom instructions,
customizing its development environment and configuring Model Context
Protocol (MCP) servers. Learn more [Copilot coding agent
tips](https://gh.io/copilot-coding-agent-tips) in the docs.

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: njzjz <9496702+njzjz@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
OutisLi and others added 30 commits February 27, 2026 08:54
…orboard (#5252)

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

* **New Features**
* Enhanced gradient diagnostics during training: when TensorBoard
logging is enabled, training now records total gradient norm,
per-parameter gradient norms, and a histogram of per-parameter norms.
The system also highlights the top-10 largest parameter gradients as
individual scalars and surfaces total-norm values in training logs to
improve analysis and monitoring.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
…h cross-backend consistency tests (#5260)

## Summary

- Add 5 new pt_expt model types: DipoleModel, PolarModel, DOSModel,
PropertyModel, and DPZBLModel, completing pt_expt's model coverage to
parity with pt
- Refactor dpmodel base architecture so that pt_expt models inherit
directly from dpmodel via `make_model()`, removing the intermediate
pt_expt atomic model layer
- Consolidate scattered model-level methods (`get_out_bias`,
`set_out_bias`, `get_observed_type_list`, `compute_or_load_stat`) into
shared dpmodel base classes
- Move `compute_fitting_input_stat` for `set-by-statistic` mode from
model-level `change_out_bias` to training-level `model_change_out_bias`
(pt and pd backends), keeping the `change_out_bias` logic focused on
bias only (copied from #5266)
- Fix array-api-compat violations in `general_fitting.change_type_map`
(bare `np.zeros`/`np.ones`/`np.concatenate` → `xp` equivalents with
device)
- Fix dpmodel `change_type_map` not forwarding
`model_with_new_type_stat` through the call chain
- Add comprehensive cross-backend consistency tests for all model types
(dp vs pt vs pt_expt), covering: model output, serialization round-trip,
`change_out_bias`, `change_type_map`, `compute_or_load_stat`, model API
methods.

  ## Changes

  ### New pt_expt models
  - `deepmd/pt_expt/model/dipole_model.py`
  - `deepmd/pt_expt/model/polar_model.py`
  - `deepmd/pt_expt/model/dos_model.py`
  - `deepmd/pt_expt/model/property_model.py`
  - `deepmd/pt_expt/model/dp_zbl_model.py`

  ### Architecture refactoring
- Remove `deepmd/pt_expt/atomic_model/` layer — models now wrap dpmodel
atomic models directly
- Clean up `BaseModel`: remove concrete methods/data, add plugin
registry
- Refactor `make_model` so backends (dp, pt_expt) inherit shared model
logic from dpmodel
- Consolidate `get_out_bias`/`set_out_bias` into `base_atomic_model.py`
- Add `get_observed_type_list` to abstract API and implement in dpmodel,
pt, pd
- Move fitting input stat update to `model_change_out_bias` in pt/pd
training code (#5266)

  ### Bug fixes
- `general_fitting.change_type_map`: use array-api-compat ops instead of
bare numpy (breaks pt_expt)
- `make_model.change_type_map`: properly forward
`model_with_new_type_stat` to atomic model
  - `stat.py`: fix in-place mutation issue

  ### Tests
- New cross-backend consistency tests: `test_dipole.py`,
`test_polar.py`, `test_dos.py`, `test_property.py` and
`test_zbl_ener.py` (~1400 lines each)
  - Expanded `test_ener.py` with pt_expt and full model API coverage
- New pt_expt unit tests: `test_dipole_model.py`, `test_polar_model.py`,
`test_dos_model.py`, `test_property_model.py`, `test_dp_zbl_model.py`
- Added `test_get_model_def_script`, `test_get_min_nbor_dist`,
`test_set_case_embd` across all 6 model test files
  - Moved atomic model output stat tests from pt_expt to dpmodel
  - Added `model_change_out_bias` tests in pt/pd training tests (#5266)



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

* **New Features**
* File-backed compute/load for descriptor and fitting statistics; new
compute-or-load stat APIs, get/set output-bias, and observed-type
discovery.
* Exportable/traceable lower-level inference paths for dipole, dos,
polar, property, zbl, and energy models.

* **Refactor**
* Model factory and generated models support extensible base-class
composition and unified fitting backend wiring.

* **Tests**
* Large expansion of cross-backend (DP/PT/PT-EXPT) parity, statistics,
bias, and exportability tests.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Han Wang <wang_han@iapcm.ac.cn>
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Chores**
* Pinned the CPU build of PyTorch to version 2.10.0 to match existing
GPU pinning; platform-specific (Darwin/Linux) handling remains
unchanged, ensuring consistent runtime behavior across supported
platforms.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

Signed-off-by: Jinzhe Zeng <jinzhe.zeng@ustc.edu.cn>
…ng (#5278)

Remove the unused learning_rate_dict configuration option that allowed
per-task learning rate settings in multitask training. This simplifies
the code by using a single learning_rate configuration for all tasks.

Changes:
- Remove learning_rate_dict branch in loss initialization
- Remove per-task lr_schedule dictionary creation
- Remove isinstance(dict) check in training loop
- Unify single-task and multi-task code paths

Both PyTorch and Paddle backends are updated consistently.

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

## Summary by CodeRabbit

* **Refactor**
* Streamlined learning rate scheduling in multi-task training scenarios
to ensure consistent initialization and computation of learning rates
across all models.

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

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

## Summary by CodeRabbit

## Release Notes

* **Documentation**
* Added comprehensive debugging guide for diagnosing gradient flow
issues during model training, including step-by-step diagnostic
methodology and common root causes.
* Added diagnostic script with practical code examples and walkthroughs
for isolating gradient behavior across different training modes.

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

Co-authored-by: Han Wang <wang_han@iapcm.ac.cn>
<!--pre-commit.ci start-->
updates:
- [github.com/PyCQA/isort: 8.0.0 →
8.0.1](PyCQA/isort@8.0.0...8.0.1)
- [github.com/astral-sh/ruff-pre-commit: v0.15.2 →
v0.15.4](astral-sh/ruff-pre-commit@v0.15.2...v0.15.4)
- [github.com/pre-commit/mirrors-clang-format: v21.1.8 →
v22.1.0](pre-commit/mirrors-clang-format@v21.1.8...v22.1.0)
<!--pre-commit.ci end-->

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
…5157)

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

* **New Features**
* Added a top-level, configurable optimizer section; PyTorch:
Adam/AdamW/LKF/AdaMuon/HybridMuon, TensorFlow/Paddle: Adam.
* Exposes Adam-style hyperparameters (beta1, beta2, weight_decay) for
relevant optimizers.

* **Documentation**
* Training docs updated with optimizer examples and framework-specific
guidance.

* **Backward Compatibility**
* Legacy optimizer fields are auto-migrated to the new format; tests and
examples updated to use the new config.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Models now record, persist, and expose observed element-type lists in
model metadata; evaluation/display prefer that metadata when present.
* Training and model APIs accept an optional preset observed-type
override to control observed-type selection.
* Utilities added to collect, save, and restore observed-type lists for
caching and reuse.

* **Tests**
* Added unit and integration tests covering collection, file I/O,
training integration, metadata propagation, fallback behavior, and user
presets.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Signed-off-by: Duo <50307526+iProzd@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Replaces usage of lmp_list send/recv arrays with new vectors that map
indices using fwd_map and synchronize counts via MPI. Updates tensor
construction to use these new vectors, improving correctness and
flexibility in distributed communication.

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

* **Refactor**
* Message-passing now remaps send lists to actual atoms before building
communication tensors, improving consistency for distributed runs.
* **Bug Fixes**
* Invalid or out-of-range send indices are filtered and counts updated
to prevent communication mismatches and related errors.
* **Tests**
* Added a test covering a type-map scenario with a NULL mapping to
exercise the updated handling.
<!-- 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>
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**
* New "PyTorch-Exportable" backend with end-to-end training CLI, model
factory, loss wrapper, model wrapper, checkpointing, neighbor/stat
utilities, and optional torch.compile acceleration with automatic
re-tracing.
* **Bug Fixes**
* Added runtime validation for required parameter fields (fparam/aparam)
and ensured loss/reporting arrays are device-consistent.
* **Refactor**
* Reworked stat input, batch normalization, and model-stat collection
for clearer, backend-agnostic data flow.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Han Wang <wang_han@iapcm.ac.cn>
…5284)

Implement the full pt_expt inference pipeline: serialize models to .pte
files via torch.export, and load them for inference via
DeepPot/DeepEval.

Key changes:
- Add DeepEval backend for .pte files
(deepmd/pt_expt/infer/deep_eval.py)
- Add serialize/deserialize hooks
(deepmd/pt_expt/utils/serialization.py)
- Wire up backend hooks in deepmd/backend/pt_expt.py
- Add forward_common_lower_exportable using make_fx + torch.export
- Support dynamic nframes, nloc, and nall dimensions
- Fix atomic_virial_corr to use explicit loop instead of vmap

Add xp_take_first_n helper to avoid torch.export contiguity guards on
[:, :nloc] slices. When torch.export traces tensor[:, :nloc] on a tensor
of size nall, it records a Ne(nall, nloc) guard from the view's
contiguity check, which fails when nall == nloc (no PBC). Using
torch.index_select instead creates a new tensor, avoiding the guard.

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

* **New Features**
* PyTorch-exportable inference for exported models with flexible
batching and neighbor-list support.
* Model serialize/deserialize flow that preserves dynamic shapes and
includes round-trip import/export.
  * New neighbor-statistics utility for PyTorch.
* Array utility to take the first N elements with a Torch-optimized
path.

* **Improvements**
* Enhanced export/tracing reliability and array handling to preserve
dynamic shapes.
  * Backend hooks implemented for PyTorch evaluation paths.

* **Tests**
* Extensive tests for inference consistency, serialization round-trips,
and multi-frame scenarios.

* **Chores**
  * Added SPDX license headers.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Han Wang <wang_han@iapcm.ac.cn>
Bumps [docker/login-action](https://github.com/docker/login-action) from
3 to 4.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/docker/login-action/releases">docker/login-action's
releases</a>.</em></p>
<blockquote>
<h2>v4.0.0</h2>
<ul>
<li>Node 24 as default runtime (requires <a
href="https://github.com/actions/runner/releases/tag/v2.327.1">Actions
Runner v2.327.1</a> or later) by <a
href="https://github.com/crazy-max"><code>@​crazy-max</code></a> in <a
href="https://redirect.github.com/docker/login-action/pull/929">docker/login-action#929</a></li>
<li>Switch to ESM and update config/test wiring by <a
href="https://github.com/crazy-max"><code>@​crazy-max</code></a> in <a
href="https://redirect.github.com/docker/login-action/pull/927">docker/login-action#927</a></li>
<li>Bump <code>@​actions/core</code> from 1.11.1 to 3.0.0 in <a
href="https://redirect.github.com/docker/login-action/pull/919">docker/login-action#919</a></li>
<li>Bump <code>@​aws-sdk/client-ecr</code> from 3.890.0 to 3.1000.0 in
<a
href="https://redirect.github.com/docker/login-action/pull/909">docker/login-action#909</a>
<a
href="https://redirect.github.com/docker/login-action/pull/920">docker/login-action#920</a></li>
<li>Bump <code>@​aws-sdk/client-ecr-public</code> from 3.890.0 to
3.1000.0 in <a
href="https://redirect.github.com/docker/login-action/pull/909">docker/login-action#909</a>
<a
href="https://redirect.github.com/docker/login-action/pull/920">docker/login-action#920</a></li>
<li>Bump <code>@​docker/actions-toolkit</code> from 0.63.0 to 0.77.0 in
<a
href="https://redirect.github.com/docker/login-action/pull/910">docker/login-action#910</a>
<a
href="https://redirect.github.com/docker/login-action/pull/928">docker/login-action#928</a></li>
<li>Bump <code>@​isaacs/brace-expansion</code> from 5.0.0 to 5.0.1 in <a
href="https://redirect.github.com/docker/login-action/pull/921">docker/login-action#921</a></li>
<li>Bump js-yaml from 4.1.0 to 4.1.1 in <a
href="https://redirect.github.com/docker/login-action/pull/901">docker/login-action#901</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/docker/login-action/compare/v3.7.0...v4.0.0">https://github.com/docker/login-action/compare/v3.7.0...v4.0.0</a></p>
<h2>v3.7.0</h2>
<ul>
<li>Add <code>scope</code> input to set scopes for the authentication
token by <a
href="https://github.com/crazy-max"><code>@​crazy-max</code></a> in <a
href="https://redirect.github.com/docker/login-action/pull/912">docker/login-action#912</a></li>
<li>Add support for AWS European Sovereign Cloud ECR by <a
href="https://github.com/dphi"><code>@​dphi</code></a> in <a
href="https://redirect.github.com/docker/login-action/pull/914">docker/login-action#914</a></li>
<li>Ensure passwords are redacted with <code>registry-auth</code> input
by <a href="https://github.com/crazy-max"><code>@​crazy-max</code></a>
in <a
href="https://redirect.github.com/docker/login-action/pull/911">docker/login-action#911</a></li>
<li>build(deps): bump lodash from 4.17.21 to 4.17.23 in <a
href="https://redirect.github.com/docker/login-action/pull/915">docker/login-action#915</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/docker/login-action/compare/v3.6.0...v3.7.0">https://github.com/docker/login-action/compare/v3.6.0...v3.7.0</a></p>
<h2>v3.6.0</h2>
<ul>
<li>Add <code>registry-auth</code> input for raw authentication to
registries by <a
href="https://github.com/crazy-max"><code>@​crazy-max</code></a> in <a
href="https://redirect.github.com/docker/login-action/pull/887">docker/login-action#887</a></li>
<li>Bump <code>@​aws-sdk/client-ecr</code> to 3.890.0 in <a
href="https://redirect.github.com/docker/login-action/pull/882">docker/login-action#882</a>
<a
href="https://redirect.github.com/docker/login-action/pull/890">docker/login-action#890</a></li>
<li>Bump <code>@​aws-sdk/client-ecr-public</code> to 3.890.0 in <a
href="https://redirect.github.com/docker/login-action/pull/882">docker/login-action#882</a>
<a
href="https://redirect.github.com/docker/login-action/pull/890">docker/login-action#890</a></li>
<li>Bump <code>@​docker/actions-toolkit</code> from 0.62.1 to 0.63.0 in
<a
href="https://redirect.github.com/docker/login-action/pull/883">docker/login-action#883</a></li>
<li>Bump brace-expansion from 1.1.11 to 1.1.12 in <a
href="https://redirect.github.com/docker/login-action/pull/880">docker/login-action#880</a></li>
<li>Bump undici from 5.28.4 to 5.29.0 in <a
href="https://redirect.github.com/docker/login-action/pull/879">docker/login-action#879</a></li>
<li>Bump tmp from 0.2.3 to 0.2.4 in <a
href="https://redirect.github.com/docker/login-action/pull/881">docker/login-action#881</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/docker/login-action/compare/v3.5.0...v3.6.0">https://github.com/docker/login-action/compare/v3.5.0...v3.6.0</a></p>
<h2>v3.5.0</h2>
<ul>
<li>Support dual-stack endpoints for AWS ECR by <a
href="https://github.com/Spacefish"><code>@​Spacefish</code></a> <a
href="https://github.com/crazy-max"><code>@​crazy-max</code></a> in <a
href="https://redirect.github.com/docker/login-action/pull/874">docker/login-action#874</a>
<a
href="https://redirect.github.com/docker/login-action/pull/876">docker/login-action#876</a></li>
<li>Bump <code>@​aws-sdk/client-ecr</code> to 3.859.0 in <a
href="https://redirect.github.com/docker/login-action/pull/860">docker/login-action#860</a>
<a
href="https://redirect.github.com/docker/login-action/pull/878">docker/login-action#878</a></li>
<li>Bump <code>@​aws-sdk/client-ecr-public</code> to 3.859.0 in <a
href="https://redirect.github.com/docker/login-action/pull/860">docker/login-action#860</a>
<a
href="https://redirect.github.com/docker/login-action/pull/878">docker/login-action#878</a></li>
<li>Bump <code>@​docker/actions-toolkit</code> from 0.57.0 to 0.62.1 in
<a
href="https://redirect.github.com/docker/login-action/pull/870">docker/login-action#870</a></li>
<li>Bump form-data from 2.5.1 to 2.5.5 in <a
href="https://redirect.github.com/docker/login-action/pull/875">docker/login-action#875</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/docker/login-action/compare/v3.4.0...v3.5.0">https://github.com/docker/login-action/compare/v3.4.0...v3.5.0</a></p>
<h2>v3.4.0</h2>
<ul>
<li>Bump <code>@​actions/core</code> from 1.10.1 to 1.11.1 in <a
href="https://redirect.github.com/docker/login-action/pull/791">docker/login-action#791</a></li>
<li>Bump <code>@​aws-sdk/client-ecr</code> to 3.766.0 in <a
href="https://redirect.github.com/docker/login-action/pull/789">docker/login-action#789</a>
<a
href="https://redirect.github.com/docker/login-action/pull/856">docker/login-action#856</a></li>
<li>Bump <code>@​aws-sdk/client-ecr-public</code> to 3.758.0 in <a
href="https://redirect.github.com/docker/login-action/pull/789">docker/login-action#789</a>
<a
href="https://redirect.github.com/docker/login-action/pull/856">docker/login-action#856</a></li>
<li>Bump <code>@​docker/actions-toolkit</code> from 0.35.0 to 0.57.0 in
<a
href="https://redirect.github.com/docker/login-action/pull/801">docker/login-action#801</a>
<a
href="https://redirect.github.com/docker/login-action/pull/806">docker/login-action#806</a>
<a
href="https://redirect.github.com/docker/login-action/pull/858">docker/login-action#858</a></li>
<li>Bump cross-spawn from 7.0.3 to 7.0.6 in <a
href="https://redirect.github.com/docker/login-action/pull/814">docker/login-action#814</a></li>
<li>Bump https-proxy-agent from 7.0.5 to 7.0.6 in <a
href="https://redirect.github.com/docker/login-action/pull/823">docker/login-action#823</a></li>
<li>Bump path-to-regexp from 6.2.2 to 6.3.0 in <a
href="https://redirect.github.com/docker/login-action/pull/777">docker/login-action#777</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/docker/login-action/compare/v3.3.0...v3.4.0">https://github.com/docker/login-action/compare/v3.3.0...v3.4.0</a></p>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/docker/login-action/commit/b45d80f862d83dbcd57f89517bcf500b2ab88fb2"><code>b45d80f</code></a>
Merge pull request <a
href="https://redirect.github.com/docker/login-action/issues/929">#929</a>
from crazy-max/node24</li>
<li><a
href="https://github.com/docker/login-action/commit/176cb9c12abea98dfe844071c0999ff6ee9688a7"><code>176cb9c</code></a>
node 24 as default runtime</li>
<li><a
href="https://github.com/docker/login-action/commit/cad89843109a11cb6f69f52fe695c42cf69d57d3"><code>cad8984</code></a>
Merge pull request <a
href="https://redirect.github.com/docker/login-action/issues/920">#920</a>
from docker/dependabot/npm_and_yarn/aws-sdk-dependenc...</li>
<li><a
href="https://github.com/docker/login-action/commit/92cbcb231ed341e7dc71693351b21f5ba65f8349"><code>92cbcb2</code></a>
chore: update generated content</li>
<li><a
href="https://github.com/docker/login-action/commit/5a2d6a71bd3e0cb4abb6faae33f3dde61ece8e5b"><code>5a2d6a7</code></a>
build(deps): bump the aws-sdk-dependencies group with 2 updates</li>
<li><a
href="https://github.com/docker/login-action/commit/44512b6b2e08b878e82b107b394fcd1af5748e63"><code>44512b6</code></a>
Merge pull request <a
href="https://redirect.github.com/docker/login-action/issues/928">#928</a>
from docker/dependabot/npm_and_yarn/docker/actions-to...</li>
<li><a
href="https://github.com/docker/login-action/commit/28737a5e46bc0c62910ef429b2e55f9cabbbd5df"><code>28737a5</code></a>
chore: update generated content</li>
<li><a
href="https://github.com/docker/login-action/commit/dac079354afbd8db4c3b58b8cc6946573479b2a6"><code>dac0793</code></a>
build(deps): bump <code>@​docker/actions-toolkit</code> from 0.76.0 to
0.77.0</li>
<li><a
href="https://github.com/docker/login-action/commit/62029f315d6d05c8646343320e4a1552e5f1c77a"><code>62029f3</code></a>
Merge pull request <a
href="https://redirect.github.com/docker/login-action/issues/919">#919</a>
from docker/dependabot/npm_and_yarn/actions/core-3.0.0</li>
<li><a
href="https://github.com/docker/login-action/commit/08c8f064bf22a1c55918ee608a81d87b13cc4461"><code>08c8f06</code></a>
chore: update generated content</li>
<li>Additional commits viewable in <a
href="https://github.com/docker/login-action/compare/v3...v4">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=docker/login-action&package-manager=github_actions&previous-version=3&new-version=4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps
[actions/download-artifact](https://github.com/actions/download-artifact)
from 7 to 8.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/actions/download-artifact/releases">actions/download-artifact's
releases</a>.</em></p>
<blockquote>
<h2>v8.0.0</h2>
<h2>v8 - What's new</h2>
<h3>Direct downloads</h3>
<p>To support direct uploads in <code>actions/upload-artifact</code>,
the action will no longer attempt to unzip all downloaded files.
Instead, the action checks the <code>Content-Type</code> header ahead of
unzipping and skips non-zipped files. Callers wishing to download a
zipped file as-is can also set the new <code>skip-decompress</code>
parameter to <code>false</code>.</p>
<h3>Enforced checks (breaking)</h3>
<p>A previous release introduced digest checks on the download. If a
download hash didn't match the expected hash from the server, the action
would log a warning. Callers can now configure the behavior on mismatch
with the <code>digest-mismatch</code> parameter. To be secure by
default, we are now defaulting the behavior to <code>error</code> which
will fail the workflow run.</p>
<h3>ESM</h3>
<p>To support new versions of the @actions/* packages, we've upgraded
the package to ESM.</p>
<h2>What's Changed</h2>
<ul>
<li>Don't attempt to un-zip non-zipped downloads by <a
href="https://github.com/danwkennedy"><code>@​danwkennedy</code></a> in
<a
href="https://redirect.github.com/actions/download-artifact/pull/460">actions/download-artifact#460</a></li>
<li>Add a setting to specify what to do on hash mismatch and default it
to <code>error</code> by <a
href="https://github.com/danwkennedy"><code>@​danwkennedy</code></a> in
<a
href="https://redirect.github.com/actions/download-artifact/pull/461">actions/download-artifact#461</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/download-artifact/compare/v7...v8.0.0">https://github.com/actions/download-artifact/compare/v7...v8.0.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/actions/download-artifact/commit/70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3"><code>70fc10c</code></a>
Merge pull request <a
href="https://redirect.github.com/actions/download-artifact/issues/461">#461</a>
from actions/danwkennedy/digest-mismatch-behavior</li>
<li><a
href="https://github.com/actions/download-artifact/commit/f258da9a506b755b84a09a531814700b86ccfc62"><code>f258da9</code></a>
Add change docs</li>
<li><a
href="https://github.com/actions/download-artifact/commit/ccc058e5fbb0bb2352213eaec3491e117cbc4a5c"><code>ccc058e</code></a>
Fix linting issues</li>
<li><a
href="https://github.com/actions/download-artifact/commit/bd7976ba57ecea96e6f3df575eb922d11a12a9fd"><code>bd7976b</code></a>
Add a setting to specify what to do on hash mismatch and default it to
<code>error</code></li>
<li><a
href="https://github.com/actions/download-artifact/commit/ac21fcf45e0aaee541c0f7030558bdad38d77d6c"><code>ac21fcf</code></a>
Merge pull request <a
href="https://redirect.github.com/actions/download-artifact/issues/460">#460</a>
from actions/danwkennedy/download-no-unzip</li>
<li><a
href="https://github.com/actions/download-artifact/commit/15999bff51058bc7c19b50ebbba518eaef7c26c0"><code>15999bf</code></a>
Add note about package bumps</li>
<li><a
href="https://github.com/actions/download-artifact/commit/974686ed5098c7f9c9289ec946b9058e496a2561"><code>974686e</code></a>
Bump the version to <code>v8</code> and add release notes</li>
<li><a
href="https://github.com/actions/download-artifact/commit/fbe48b1d2756394be4cd4358ed3bc1343b330e75"><code>fbe48b1</code></a>
Update test names to make it clearer what they do</li>
<li><a
href="https://github.com/actions/download-artifact/commit/96bf374a614d4360e225874c3efd6893a3f285e7"><code>96bf374</code></a>
One more test fix</li>
<li><a
href="https://github.com/actions/download-artifact/commit/b8c4819ef592cbe04fd93534534b38f853864332"><code>b8c4819</code></a>
Fix skip decompress test</li>
<li>Additional commits viewable in <a
href="https://github.com/actions/download-artifact/compare/v7...v8">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/download-artifact&package-manager=github_actions&previous-version=7&new-version=8)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps
[actions/upload-artifact](https://github.com/actions/upload-artifact)
from 6 to 7.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/actions/upload-artifact/releases">actions/upload-artifact's
releases</a>.</em></p>
<blockquote>
<h2>v7.0.0</h2>
<h2>v7 What's new</h2>
<h3>Direct Uploads</h3>
<p>Adds support for uploading single files directly (unzipped). Callers
can set the new <code>archive</code> parameter to <code>false</code> to
skip zipping the file during upload. Right now, we only support single
files. The action will fail if the glob passed resolves to multiple
files. The <code>name</code> parameter is also ignored with this
setting. Instead, the name of the artifact will be the name of the
uploaded file.</p>
<h3>ESM</h3>
<p>To support new versions of the <code>@actions/*</code> packages,
we've upgraded the package to ESM.</p>
<h2>What's Changed</h2>
<ul>
<li>Add proxy integration test by <a
href="https://github.com/Link"><code>@​Link</code></a>- in <a
href="https://redirect.github.com/actions/upload-artifact/pull/754">actions/upload-artifact#754</a></li>
<li>Upgrade the module to ESM and bump dependencies by <a
href="https://github.com/danwkennedy"><code>@​danwkennedy</code></a> in
<a
href="https://redirect.github.com/actions/upload-artifact/pull/762">actions/upload-artifact#762</a></li>
<li>Support direct file uploads by <a
href="https://github.com/danwkennedy"><code>@​danwkennedy</code></a> in
<a
href="https://redirect.github.com/actions/upload-artifact/pull/764">actions/upload-artifact#764</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/Link"><code>@​Link</code></a>- made
their first contribution in <a
href="https://redirect.github.com/actions/upload-artifact/pull/754">actions/upload-artifact#754</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/upload-artifact/compare/v6...v7.0.0">https://github.com/actions/upload-artifact/compare/v6...v7.0.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/actions/upload-artifact/commit/bbbca2ddaa5d8feaa63e36b76fdaad77386f024f"><code>bbbca2d</code></a>
Support direct file uploads (<a
href="https://redirect.github.com/actions/upload-artifact/issues/764">#764</a>)</li>
<li><a
href="https://github.com/actions/upload-artifact/commit/589182c5a4cec8920b8c1bce3e2fab1c97a02296"><code>589182c</code></a>
Upgrade the module to ESM and bump dependencies (<a
href="https://redirect.github.com/actions/upload-artifact/issues/762">#762</a>)</li>
<li><a
href="https://github.com/actions/upload-artifact/commit/47309c993abb98030a35d55ef7ff34b7fa1074b5"><code>47309c9</code></a>
Merge pull request <a
href="https://redirect.github.com/actions/upload-artifact/issues/754">#754</a>
from actions/Link-/add-proxy-integration-tests</li>
<li><a
href="https://github.com/actions/upload-artifact/commit/02a8460834e70dab0ce194c64360c59dc1475ef0"><code>02a8460</code></a>
Add proxy integration test</li>
<li>See full diff in <a
href="https://github.com/actions/upload-artifact/compare/v6...v7">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/upload-artifact&package-manager=github_actions&previous-version=6&new-version=7)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
### Summary

Add hessian (second derivative of energy w.r.t. coordinates) support to
the pt_expt backend, mirroring the JAX backend's approach.

- Compute hessian on extended coordinates in forward_common_atomic (via
torch.autograd.functional.hessian), then let dpmodel's
communicate_extended_output naturally map from nall×nall to nloc×nloc
- make_hessian_model only overrides atomic_output_def() to set
r_hessian=True — no forward_common override or r_hessian toggle hack
needed
- Hessian is enabled at runtime via EnergyModel.enable_hessian() and
returned through the user-facing forward() interface

### Changed files

- deepmd/pt_expt/model/make_model.py — add _cal_hessian_ext and
_WrapperForwardEnergy for hessian computation in forward_common_atomic
- deepmd/pt_expt/model/make_hessian_model.py — minimal wrapper:
__init__, requires_hessian, atomic_output_def
- deepmd/pt_expt/model/ener_model.py — enable_hessian(), hessian output
in forward() and translated_output_def()
  - deepmd/pt_expt/model/__init__.py — export make_hessian_model
- source/tests/pt_expt/model/test_ener_hessian_model.py — unit test:
autograd hessian vs finite-difference, parametrized over nv={1,2}
- source/tests/consistent/model/test_ener_hessian.py — cross-backend
consistency test covering PT, pt_expt, and JAX
  

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

* **New Features**
  * Adds Hessian (second-order derivative) support for energy models.
* Provides a mechanism to enable Hessian calculations per model
instance.
* When enabled, Hessian tensors are included in model prediction
outputs.

* **Tests**
* Added comprehensive multi-backend validation of Hessian functionality.
* Added unit tests comparing analytical Hessians to finite-difference
references.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Han Wang <wang_han@iapcm.ac.cn>
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Spin-aware preprocessing for training data, plus bias-adjustment and
type-mapping that handle spin variants during finetuning.

* **Tests**
* Added comprehensive unit and end-to-end tests for spin finetuning,
bias updates, transformed spin data, default-parameter propagation, and
post-finetune inference validation.

* **Refactor**
* Centralized, cached sampler wrapper to standardize sampling and
default-parameter injection.

* **Chores**
  * Truncated bias logging for more concise diagnostics.
<!-- 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>
## Summary
- switch the `package_c` Docker build image from TensorFlow 2.18 to 2.20
- pin the installed TensorFlow wheel to `==2.20.*` via the existing
`TENSORFLOW_VERSION` env

## Why
The failing `Build C library` job appears to be in `package_c.yml`, not
in the `cibuildwheel` workflow changed by dependabot.

This change makes the Docker image and installed TensorFlow version move
together, so we can test whether the failure was caused by a TensorFlow
/ GLIBC mismatch from pulling a newer wheel into an older build image.

Authored by OpenClaw (model: gpt-5.4)


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

## Summary by CodeRabbit

* **Chores**
* Updated C library build configuration to target TensorFlow 2.20,
aligning the build matrix with the newer TensorFlow runtime.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Bumps [pypa/cibuildwheel](https://github.com/pypa/cibuildwheel) from 3.3
to 3.4.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/pypa/cibuildwheel/releases">pypa/cibuildwheel's
releases</a>.</em></p>
<blockquote>
<h2>v3.4.0</h2>
<ul>
<li>🌟 You can now build wheels using <code>uv</code> as a build
frontend. This should improve performance, especially if your project
has lots of build dependencies. To use, set <a
href="https://cibuildwheel.pypa.io/en/stable/options/#build-frontend"><code>build-frontend</code></a>
to <code>uv</code>. (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2322">#2322</a>)</li>
<li>⚠️ We no longer support running on Travis CI. It may continue
working but we don't run tests there anymore so we can't be sure. (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2682">#2682</a>)</li>
<li>✨ Improvements to building rust wheels on Android (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2650">#2650</a>)</li>
<li>🐛 Fix bug with the GitHub Action on Windows, where PATH was getting
unnecessarily changed, causing issues with meson builds. (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2723">#2723</a>)</li>
<li>✨ Add support for quiet setting on <code>build</code> and
<code>uv</code> from the cibuildwheel <code>build-verbosity</code>
setting. (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2737">#2737</a>)</li>
<li>📚 Docs updates, including guidance on using Meson on Windows (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2718">#2718</a>)</li>
</ul>
<h2>v3.3.1</h2>
<ul>
<li>🛠 Update dependencies and container pins, including updating to
CPython 3.14.2. (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2708">#2708</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/pypa/cibuildwheel/blob/main/docs/changelog.md">pypa/cibuildwheel's
changelog</a>.</em></p>
<blockquote>
<hr />
<h2>title: Changelog</h2>
<h1>Changelog</h1>
<h3>v3.4.0</h3>
<p><em>5 March 2026</em></p>
<ul>
<li>🌟 You can now build wheels using <code>uv</code> as a build
frontend. This should improve performance, especially if your project
has lots of build dependencies. To use, set <a
href="https://cibuildwheel.pypa.io/en/stable/options/#build-frontend"><code>build-frontend</code></a>
to <code>uv</code>. (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2322">#2322</a>)</li>
<li>⚠️ We no longer support running on Travis CI. It may continue
working but we don't run tests there anymore so we can't be sure. (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2682">#2682</a>)</li>
<li>✨ Improvements to building rust wheels on Android (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2650">#2650</a>)</li>
<li>🐛 Fix bug with the GitHub Action on Windows, where PATH was getting
unnecessarily changed, causing issues with meson builds. (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2723">#2723</a>)</li>
<li>✨ Add support for quiet setting on <code>build</code> and
<code>uv</code> from the cibuildwheel <code>build-verbosity</code>
setting. (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2737">#2737</a>)</li>
<li>📚 Docs updates, including guidance on using Meson on Windows (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2718">#2718</a>)</li>
</ul>
<h3>v3.3.1</h3>
<p><em>5 January 2026</em></p>
<ul>
<li>🛠 Update dependencies and container pins, including updating to
CPython 3.14.2. (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2708">#2708</a>)</li>
</ul>
<h3>v3.3.0</h3>
<p><em>12 November 2025</em></p>
<ul>
<li>🐛 Fix an incompatibility with Docker v29 (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2660">#2660</a>)</li>
<li>✨ Adds <code>test-runtime</code> option, to customise how tests on
simulated/emulated environments are run (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2636">#2636</a>)</li>
<li>✨ Adds support for new <code>manylinux_2_35</code> images on 32-bit
ARM <code>armv7l</code>, offering better C++20 compatibility (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2656">#2656</a>)</li>
<li>✨ <code>build[uv]</code> is now supported on Android (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2587">#2587</a>)</li>
<li>✨ You can now install extras (such as <code>uv</code>) with a simple
option on the GitHub Action (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2630">#2630</a>)</li>
<li>✨ <code>{project}</code> and <code>{package}</code> placeholders are
now supported in <code>repair-wheel-command</code> (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2589">#2589</a>)</li>
<li>🛠 The versions set with <code>dependency-versions</code> no longer
constrain packages specified by your <code>build-system.requires</code>.
Previously, on platforms other than Linux, the constraints in this
option would remain in the environment during the build. This has been
tidied up make behaviour more consistent between platforms, and to
prevent version conflicts. (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2583">#2583</a>)</li>
<li>🛠 Improve the handling of <code>test-command</code> on Android,
enabling more options to be passed (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2590">#2590</a>)</li>
<li>📚 Docs improvements (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2618">#2618</a>)</li>
</ul>
<h3>v3.2.1</h3>
<p><em>12 October 2025</em></p>
<ul>
<li>🛠 Update to CPython 3.14.0 final (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2614">#2614</a>)</li>
<li>🐛 Fix the default MACOSX_DEPLOYMENT_TARGET on Python 3.14 (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2613">#2613</a>)</li>
<li>📚 Docs improvements (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2617">#2617</a>)</li>
</ul>
<h3>v3.2.0</h3>
<p><em>22 September 2025</em></p>
<ul>
<li>✨ Adds GraalPy v25 (Python 3.12) support (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2597">#2597</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/pypa/cibuildwheel/commit/ee02a1537ce3071a004a6b08c41e72f0fdc42d9a"><code>ee02a15</code></a>
Bump version: v3.4.0</li>
<li><a
href="https://github.com/pypa/cibuildwheel/commit/f08ce70d7891b3a6b3d41f7909a69816eeea643b"><code>f08ce70</code></a>
chore: match copyright to BSD-2-clause template (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2758">#2758</a>)</li>
<li><a
href="https://github.com/pypa/cibuildwheel/commit/95b4b79b96bae59effea03a5f297b0cb5aa31b6b"><code>95b4b79</code></a>
Fix incorrect document regarding pyodide auditwheel (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2752">#2752</a>)</li>
<li><a
href="https://github.com/pypa/cibuildwheel/commit/f046d0a94dc550b5dccb93ae748704599fa1f9ae"><code>f046d0a</code></a>
Bump to Pyodide v0.29.3 (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2743">#2743</a>)</li>
<li><a
href="https://github.com/pypa/cibuildwheel/commit/f5a31ee79d1dfd39a9a0a87d7cd412a29afb8fe1"><code>f5a31ee</code></a>
chore(deps): bump the actions group across 1 directory with 4 updates
(<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2755">#2755</a>)</li>
<li><a
href="https://github.com/pypa/cibuildwheel/commit/35ec4565f5ca3474c283a0852fdf512d5817850f"><code>35ec456</code></a>
[pre-commit.ci] pre-commit autoupdate (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2756">#2756</a>)</li>
<li><a
href="https://github.com/pypa/cibuildwheel/commit/51fed90270069c1f2ae3c075bcd6b0dad1d739c2"><code>51fed90</code></a>
[Bot] Update dependencies (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2734">#2734</a>)</li>
<li><a
href="https://github.com/pypa/cibuildwheel/commit/b70562f37a2c65580ef235073974d067233fa82a"><code>b70562f</code></a>
Debug GraalPy/uv test failures on Windows (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2741">#2741</a>)</li>
<li><a
href="https://github.com/pypa/cibuildwheel/commit/0a85e29549d1fd12d1ee07727cb55c39e16173a5"><code>0a85e29</code></a>
Work around CDN rate limiting on Python.org in bin/update_pythons.py (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2753">#2753</a>)</li>
<li><a
href="https://github.com/pypa/cibuildwheel/commit/2d33864bafd35e54234e57c036c38cd59288543c"><code>2d33864</code></a>
Pin the actions/setup-python for the externally used action.yml (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2749">#2749</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/pypa/cibuildwheel/compare/v3.3...v3.4">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pypa/cibuildwheel&package-manager=github_actions&previous-version=3.3&new-version=3.4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
<!--pre-commit.ci start-->
updates:
- [github.com/astral-sh/ruff-pre-commit: v0.15.4 →
v0.15.5](astral-sh/ruff-pre-commit@v0.15.4...v0.15.5)
<!--pre-commit.ci end-->

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
#5277)

## Summary
This PR integrates pretrained model support directly into `deepmd-kit`
under `deepmd/pretrained`, while keeping `DeepPot` usage unchanged.

### Added
- New command:
  - `dp pretrained download <MODEL>`
- New module folder:
  - `deepmd/pretrained/`
- includes `registry.py`, `download.py`, `backend.py`, `entrypoints.py`
- Built-in model registry (currently):
  - `DPA-3.2-5M`
  - `DPA-3.1-3M`
- Multi-source download strategy:
  - parallel probe over candidate sources
  - rank by response latency
- fastest-first with automatic fallback on timeout/failure/checksum
mismatch
- SHA256 verification + atomic `.part` writes
- `.pretrained` backend alias support via `deepmd/backend/pretrained.py`
- allows `DeepPot("DPA-3.2-5M.pretrained")` while keeping existing
DeepPot API unchanged
  - deep-eval adapter is lazy-loaded to avoid circular import issues

### CLI wiring
- Added `pretrained` parser/subparser in `deepmd/main.py`
- Added dispatch in `deepmd/entrypoints/main.py`

### Tests
- `source/tests/common/test_pretrained_parser.py`
- `source/tests/common/test_pretrained_download.py`
- `source/tests/common/test_pretrained_backend.py`

### Formatting / lint
- Ran `uvx prek run --all-files` and committed auto-format updates.

Authored by OpenClaw (model: custom-chat-jinzhezeng-group/gpt-5.3-codex)


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

* **New Features**
* New "pretrained" CLI group with `pretrained download` (optional
--cache-dir) to fetch pretrained models.
* Built-in pretrained model registry (includes DPA-3.2-5M and
DPA-3.1-3M).
* Added a pretrained backend scaffold and a lazy adapter so
`.pretrained` aliases work transparently with existing evaluation flow
(some backend hooks intentionally unsupported).

* **Downloads & Caching**
* HTTPS-only downloads with SHA256 verification, multi-source fallbacks,
parallel probing, atomic writes, and centralized caching
(~/.cache/deepmd/pretrained/models).

* **Tests**
* Added tests for backend detection, alias parsing, download/resolution
behavior, URL ranking, and CLI parsing.
<!-- 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>
Problem
- Paddle nightly wheels are fetched from
https://www.paddlepaddle.org.cn/... and the site’s TLS certificate
outage breaks CI installs.

Change
- Add `--trusted-host www.paddlepaddle.org.cn` and `--trusted-host
paddlepaddle.org.cn` to the Paddle install commands in GitHub Actions
workflows.

Notes
- This is a temporary workaround to keep CI green until Paddle fixes
their cert.

Authored by OpenClaw (model: gpt-5.2)


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

* **Chores**
* Updated build workflow configurations to include additional package
host verification options during dependency installation.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Bumps [tensorflow-cpu](https://github.com/tensorflow/tensorflow) from
2.20.0 to 2.21.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/tensorflow/tensorflow/releases">tensorflow-cpu's
releases</a>.</em></p>
<blockquote>
<h2>TensorFlow 2.21.0</h2>
<h1>Release 2.21.0</h1>
<h2>TensorFlow</h2>
<h3>Breaking Changes</h3>
<ul>
<li>Support for Python 3.9 has been removed starting with TF 2.21.</li>
<li>The TensorBoard (TB) dependency has been removed starting with TF
2.21.</li>
</ul>
<h3>Major Features and Improvements</h3>
<ul>
<li>
<p><code>tf.lite</code></p>
<ul>
<li>Adds int8 and int16x8 support for SQRT operator.</li>
<li>Adds int16x8 support for EQUAL and NOT_EQUAL operators.</li>
<li>Adds support for int2 type.</li>
<li>Adds support for int2/int4 in tfl.cast .</li>
<li>Adds support for SRQ int2 in tfl.fully_connected.</li>
<li>Adds support for int4 in tfl.slice.</li>
<li>Adds support for uint4 type.</li>
</ul>
</li>
<li>
<p><code>tf.image</code></p>
<ul>
<li>Adds JPEG XL support in decode_image.</li>
</ul>
</li>
</ul>
<h3>Bug Fixes and Other Changes</h3>
<ul>
<li><code>tf.data</code>
<ul>
<li>Adds <code>NoneTensorSpec</code> to the public API so that
<code>None</code>s in <code>element_spec</code>
can be identified via <code>isinstance(...,
tf.NoneTensorSpec)</code>.</li>
</ul>
</li>
</ul>
<h2>Thanks to our Contributors</h2>
<p>This release contains contributions from many people at Google, as
well as:</p>
<p>Aaraviitkgp, Abhijeet, Abhinav Gunjal, Abhishek, Adam Paszke, Aditya
Gupta, Aditya Jha, Aditya Sharma, Adrian Kuegel, Aiden Grossman, Akarsh,
Akhil Goel, Alan Kelly, Aleksa Arsic, Aleksei, Aleksei Nurmukhametov,
Alex, Alexander Belyaev, Alexander Grund, Alexander Lyashuk, Alexander
Shaposhnikov, Alex Pivovarov, Aliia Khasanova, Alina Sbirlea, Allan
Renucci, Amelia Thurdekoos, Amit Sabne, Andrei Ivanov, Andrew Dame,
Andrey Portnoy, Anish Nair, Anlun Xu, Antonio Sanchez, anuj
chincholikar, Anuj Chincholikar, Aravindh Balaji, aravindhbalaji1985,
Arian Arfaian, Armin Felder, Artem Belevich, Ashish Rao, Ashitesh Singh,
A. Unique TensorFlower, Bart Chrzaszcz, benediktjohannes, Benjamin
Chetioui, Benjamin Kramer, Berkin Ilbeyi, Bhatu, Bhavani Subramanian,
Bhupendra Dubey, Bill Varcho, Bixia Zheng, Blake Hechtman, Bodhi
Silberling, BruceXinXin, Bryan Massoth, Buddh Prakash, Byungchul Kim, Ce
Zheng, Changhui Lin, Chao, Charles Alaras, Chase Riley Roberts, Chenhao
Jiang, Chris Ashton, Chris Jones, Chris Kennelly, Christian Sigg, Chuan
He, Chunlei Niu, Chun-nien Chan, Chunyu Jin, Clive Verghese, Cong Liu,
Corentin Kerisit, Daniel Chen, Daniel Kuts, Daniel Ng, Daniel Sosa,
Daniel Suo, Danila Malyutin, David Dunleavy, David Majnemer, David
Pizzuto, Deepika Rajani, deeptanshusekhri, dependabot[bot], Deqiang
Chen, Derek Murray, Dillon Sharlet, Dimitar (Mitko) Asenov, Dimitris
Vardoulakis, Dirk Hornung, DottsGit, Dragan Mladjenovic, Eetu Sjöblom,
Elen Kalda, Emilio Cota, Emily Fertig, Eugene Zhulenev, Eusebio Durán
Montaña, Evan Brown, Ezekiel Calubaquib, Faijul Amin, Felix Wang, Fengwu
Yao, Fergus Henderson, Frederic Rechtenstein, Frederik Gossen, Gabriel
Gerlero, Gagan Nagaraj, gaikwadrahul8, garry00107, gaurides, George
Pawelczak, Georg Stefan Schmid, gns, Goran Flegar, Graham, Grant Jensen,
Greg Olechwierowicz, Gregory Pataky, Grzegorz Gawryał, Gunhyun Park,
guozhong.zhuang, Haibo Huang, Hana Joo, Hariprasad Ravishankar, Harsha H
S, Harshit Monish, Henning Becker, Hittanshu, Hoeseong (Hayden) Kim,
Hugo Mano, Hyeontaek Lim, Ibrahim Umit Akgun, ILCSFNO, Ilia Sergachev,
Ilya Tikhonovskiy, Iman Hosseini, Ionel Gog, Isha Arkatkar, isharif168,
Ivo Ristovski List, Jacques Pienaar, Jae H. Yoo, Jaeyoon Jung, Jake
Harmon, James Hilliard, jameslovespancakes, James Spooner, Jane Liu,
Jaroslav Sevcik, Jeff Parker, Jeffrey A. Dean, Jeremy Meredith, Jialei
Chen, Jian Cai, Jian Li, Jie Luo, Jim Lin, Jing Pu, Jinliang Wei, Jiya
Zhang, Joel Wee, Johannes Buchner, Johannes Reifferscheid, Johnny, Jorge
Gorbe Moya, Joshua Lang, Joshua Wang, Joss Briody, jparkerh, Juanli
Shen, Juhyun Lee, Jun Jiang, Junwhan Ahn, Kadir Barut, Kanglan Tang,
Kanish Anand, Kanvi Khanna, Karlo Basioli, Ken Franko, Kevin Chen, Kevin
Gleason, Kingston Mandisodza, Koki Ibukuro, Kostiantyn Liepieshov,
Krishna Haridasan, Krishna Somani, Krzysztof Kosiński, Kuy Mainwaring,
lambert, Larry Lansing, Lin Chai, Lord ε Rebel, Luke Baumann, Luke
Hutton, madhavmadupu, Majid Dadashi, Mani Ananth, Manjunath Gaonkar,
Marcello Maggioni, Marcin Radomski, Maria Lyubimtseva, Marissa
Ikonomidis, Mark Daoust, Mason Chang, Matej Aleksandrov, Mateusz Sokół,
Matthias Guenther, Matthias Kramm, Matt Hurd, Matt Kreileder, Maxime
France-Pillois, Maxim Ermilov, Mehrdad Khani, Melissa Weber Mendonça,
MERT-CKR, Michael Goldfarb, Michael Green, Michael Kuperstein, Michael
Voznesensky, Michael Whittaker, Mihai Maruseac, Mikhail Goncharov,
Ming-Xu Huang, Mircea Trofin, Misha Gutman, misterBart, mmakevic-amd,
Mohamed AbdElmoneim, Mohamed Amine Zghal, Mohammadreza Heydary, Mohammed
Anany, mraunak, Mudit Gokhale, Nayana Thorat, Nevi, nhatle, Nhat Le,
Nihar0071, Nikhil, Nikita Putikhin, Niklas Vangerow, Nitin Srinivasan,
Oleg Shyshkov, Olli Lupton, Om Thakkar, Pankaj Kanwar, Parker Schuh,
Paul Ganssle, Pauline Sho, Pavithra Eswaramoorthy, Pedro Gonnet,
pemeliya, Penporn Koanantakool, Perry Gibson, Peter Buchlovsky, Peter
Gavin, Peter Hawkins, Pham Binh, Phani Paladugula, Philipp Hack,
Praneeth Mandala, Praveen Batra, psinfinity, Qingwei Zhang, Quentin
Khan, Quoc Truong, QZero, Rachel Han, Raffi Khatchadourian, Ram Rachum,
RasheedAli-Shaik, Raviteja Gorijala, Reed Wanderman-Milne, Reilly Grant,
Renjie Wu, Richard Levasseur, Robert David, Ryan M. Lefever, Sachin M,
Sagun Bajra, Sai Ganesh Muthuraman, Saksham Singh Rathore, Sannidhya
Chauhan, Sayan Saha, Sean Talts, Seher Ellis, Sergei Lebedev, Sergey
Kozub, Sevin Fide Varoglu, Shahriar Rouf, Shanbin Ke, Shaogang Wang,
Sharad Vikram, Shawn Lu, Siddhartha Menon, Siqiao Wu, skill, Smit Hinsu,
snadampal, Sohaib Iftikhar, Soowon Jeong, spiao, Srijan Upadhyay,
stevemcgregory, Subham Soni, Subhankar Shah, Swachhand Lokhande, Tai Ly,
TensorFlower Gardener, Terry Heo, Terry Sun, Terry Tao, Theotime Combes,
Thomas Joerg, Thomas Köppe, Tiago Quelhas, TJ Xu, Toli Yevtushenko,
Tomás Longeri, Tom Hennigan, Tommy Chiang, Tom Natan, Tongfei Guo, Tori
Baker, Uwe L. Korn, Vadym Matsishevskyi, Vamsi Manchala, Venkat6871,
Victor Stone, Ville Vesilehto, Vitalii Dziuba, Vladimir Belitskiy, Vlad
Sytchenko, Volodymyr Kysenko, Wai Hon Law, wan3x, Weiyi Wang, Will
Froom, William S. Moses, wondertx, Xuefei Jiang, Yang Chen, Yash
Katariya, Yasir Ashfaq, yasiribmcon, Yeou Chiou, Yicheng Luo, Yi Kong,
Yimei Sun, Yin Zhang, Yuchen Yao, Yue Sheng, Yulia Baturina, Yunjie Xu,
Yunlong Liu, Yun Peng, Yurii Topin, Zac Cranko, Zac Mustin, Zenong
Zhang, Zeyu Wang, Zhanyong Wan, Zixuan Jiang, Ziyin Huang, Zviki
Nozadze</p>
<h2>TensorFlow 2.21.0-rc1</h2>
<h1>Release 2.21.0</h1>
<h2>TensorFlow</h2>
<h3>Breaking Changes</h3>
<ul>
<li>Support for Python 3.9 has been removed starting with TF 2.21.</li>
</ul>
<h3>Major Features and Improvements</h3>
<ul>
<li><code>tf.lite</code>
<ul>
<li>Adds int8 and int16x8 support for SQRT operator.</li>
<li>Adds int16x8 support for EQUAL and NOT_EQUAL operators.</li>
</ul>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/tensorflow/tensorflow/blob/master/RELEASE.md">tensorflow-cpu's
changelog</a>.</em></p>
<blockquote>
<h1>Release 2.21.0</h1>
<h2>TensorFlow</h2>
<h3>Breaking Changes</h3>
<ul>
<li>Support for Python 3.9 has been removed starting with TF 2.21.</li>
<li>The TensorBoard (TB) dependency has been removed starting with TF
2.21.</li>
</ul>
<h3>Major Features and Improvements</h3>
<ul>
<li>
<p><code>tf.lite</code></p>
<ul>
<li>Adds int8 and int16x8 support for SQRT operator.</li>
<li>Adds int16x8 support for EQUAL and NOT_EQUAL operators.</li>
<li>Adds support for int2 type.</li>
<li>Adds support for int2/int4 in tfl.cast .</li>
<li>Adds support for SRQ int2 in tfl.fully_connected.</li>
<li>Adds support for int4 in tfl.slice.</li>
<li>Adds support for uint4 type.</li>
</ul>
</li>
<li>
<p><code>tf.image</code></p>
<ul>
<li>Adds JPEG XL support in decode_image.</li>
</ul>
</li>
</ul>
<h3>Bug Fixes and Other Changes</h3>
<ul>
<li><code>tf.data</code>
<ul>
<li>Adds <code>NoneTensorSpec</code> to the public API so that
<code>None</code>s in <code>element_spec</code>
can be identified via <code>isinstance(...,
tf.NoneTensorSpec)</code>.</li>
</ul>
</li>
</ul>
<h2>Thanks to our Contributors</h2>
<p>This release contains contributions from many people at Google, as
well as:</p>
<p>Aaraviitkgp, Abhijeet, Abhinav Gunjal, Abhishek, Adam Paszke, Aditya
Gupta, Aditya Jha, Aditya Sharma, Adrian Kuegel, Aiden Grossman, Akarsh,
Akhil Goel, Alan Kelly, Aleksa Arsic, Aleksei, Aleksei Nurmukhametov,
Alex, Alexander Belyaev, Alexander Grund, Alexander Lyashuk, Alexander
Shaposhnikov, Alex Pivovarov, Aliia Khasanova, Alina Sbirlea, Allan
Renucci, Amelia Thurdekoos, Amit Sabne, Andrei Ivanov, Andrew Dame,
Andrey Portnoy, Anish Nair, Anlun Xu, Antonio Sanchez, anuj
chincholikar, Anuj Chincholikar, Aravindh Balaji, aravindhbalaji1985,
Arian Arfaian, Armin Felder, Artem Belevich, Ashish Rao, Ashitesh Singh,
A. Unique TensorFlower, Bart Chrzaszcz, benediktjohannes, Benjamin
Chetioui, Benjamin Kramer, Berkin Ilbeyi, Bhatu, Bhavani Subramanian,
Bhupendra Dubey, Bill Varcho, Bixia Zheng, Blake Hechtman, Bodhi
Silberling, BruceXinXin, Bryan Massoth, Buddh Prakash, Byungchul Kim, Ce
Zheng, Changhui Lin, Chao, Charles Alaras, Chase Riley Roberts, Chenhao
Jiang, Chris Ashton, Chris Jones, Chris Kennelly, Christian Sigg, Chuan
He, Chunlei Niu, Chun-nien Chan, Chunyu Jin, Clive Verghese, Cong Liu,
Corentin Kerisit, Daniel Chen, Daniel Kuts, Daniel Ng, Daniel Sosa,
Daniel Suo, Danila Malyutin, David Dunleavy, David Majnemer, David
Pizzuto, Deepika Rajani, deeptanshusekhri, dependabot[bot], Deqiang
Chen, Derek Murray, Dillon Sharlet, Dimitar (Mitko) Asenov, Dimitris
Vardoulakis, Dirk Hornung, DottsGit, Dragan Mladjenovic, Eetu Sjöblom,
Elen Kalda, Emilio Cota, Emily Fertig, Eugene Zhulenev, Eusebio Durán
Montaña, Evan Brown, Ezekiel Calubaquib, Faijul Amin, Felix Wang, Fengwu
Yao, Fergus Henderson, Frederic Rechtenstein, Frederik Gossen, Gabriel
Gerlero, Gagan Nagaraj, gaikwadrahul8, garry00107, gaurides, George
Pawelczak, Georg Stefan Schmid, gns, Goran Flegar, Graham, Grant Jensen,
Greg Olechwierowicz, Gregory Pataky, Grzegorz Gawryał, Gunhyun Park,
guozhong.zhuang, Haibo Huang, Hana Joo, Hariprasad Ravishankar, Harsha H
S, Harshit Monish, Henning Becker, Hittanshu, Hoeseong (Hayden) Kim,
Hugo Mano, Hyeontaek Lim, Ibrahim Umit Akgun, ILCSFNO, Ilia Sergachev,
Ilya Tikhonovskiy, Iman Hosseini, Ionel Gog, Isha Arkatkar, isharif168,
Ivo Ristovski List, Jacques Pienaar, Jae H. Yoo, Jaeyoon Jung, Jake
Harmon, James Hilliard, jameslovespancakes, James Spooner, Jane Liu,
Jaroslav Sevcik, Jeff Parker, Jeffrey A. Dean, Jeremy Meredith, Jialei
Chen, Jian Cai, Jian Li, Jie Luo, Jim Lin, Jing Pu, Jinliang Wei, Jiya
Zhang, Joel Wee, Johannes Buchner, Johannes Reifferscheid, Johnny, Jorge
Gorbe Moya, Joshua Lang, Joshua Wang, Joss Briody, jparkerh, Juanli
Shen, Juhyun Lee, Jun Jiang, Junwhan Ahn, Kadir Barut, Kanglan Tang,
Kanish Anand, Kanvi Khanna, Karlo Basioli, Ken Franko, Kevin Chen, Kevin
Gleason, Kingston Mandisodza, Koki Ibukuro, Kostiantyn Liepieshov,
Krishna Haridasan, Krishna Somani, Krzysztof Kosiński, Kuy Mainwaring,
lambert, Larry Lansing, Lin Chai, Lord ε Rebel, Luke Baumann, Luke
Hutton, madhavmadupu, Majid Dadashi, Mani Ananth, Manjunath Gaonkar,
Marcello Maggioni, Marcin Radomski, Maria Lyubimtseva, Marissa
Ikonomidis, Mark Daoust, Mason Chang, Matej Aleksandrov, Mateusz Sokół,
Matthias Guenther, Matthias Kramm, Matt Hurd, Matt Kreileder, Maxime
France-Pillois, Maxim Ermilov, Mehrdad Khani, Melissa Weber Mendonça,
MERT-CKR, Michael Goldfarb, Michael Green, Michael Kuperstein, Michael
Voznesensky, Michael Whittaker, Mihai Maruseac, Mikhail Goncharov,
Ming-Xu Huang, Mircea Trofin, Misha Gutman, misterBart, mmakevic-amd,
Mohamed AbdElmoneim, Mohamed Amine Zghal, Mohammadreza Heydary, Mohammed
Anany, mraunak, Mudit Gokhale, Nayana Thorat, Nevi, nhatle, Nhat Le,
Nihar0071, Nikhil, Nikita Putikhin, Niklas Vangerow, Nitin Srinivasan,
Oleg Shyshkov, Olli Lupton, Om Thakkar, Pankaj Kanwar, Parker Schuh,
Paul Ganssle, Pauline Sho, Pavithra Eswaramoorthy, Pedro Gonnet,
pemeliya, Penporn Koanantakool, Perry Gibson, Peter Buchlovsky, Peter
Gavin, Peter Hawkins, Pham Binh, Phani Paladugula, Philipp Hack,
Praneeth Mandala, Praveen Batra, psinfinity, Qingwei Zhang, Quentin
Khan, Quoc Truong, QZero, Rachel Han, Raffi Khatchadourian, Ram Rachum,
RasheedAli-Shaik, Raviteja Gorijala, Reed Wanderman-Milne, Reilly Grant,
Renjie Wu, Richard Levasseur, Robert David, Ryan M. Lefever, Sachin M,
Sagun Bajra, Sai Ganesh Muthuraman, Saksham Singh Rathore, Sannidhya
Chauhan, Sayan Saha, Sean Talts, Seher Ellis, Sergei Lebedev, Sergey
Kozub, Sevin Fide Varoglu, Shahriar Rouf, Shanbin Ke, Shaogang Wang,
Sharad Vikram, Shawn Lu, Siddhartha Menon, Siqiao Wu, skill, Smit Hinsu,
snadampal, Sohaib Iftikhar, Soowon Jeong, spiao, Srijan Upadhyay,
stevemcgregory, Subham Soni, Subhankar Shah, Swachhand Lokhande, Tai Ly,
TensorFlower Gardener, Terry Heo, Terry Sun, Terry Tao, Theotime Combes,
Thomas Joerg, Thomas Köppe, Tiago Quelhas, TJ Xu, Toli Yevtushenko,
Tomás Longeri, Tom Hennigan, Tommy Chiang, Tom Natan, Tongfei Guo, Tori
Baker, Uwe L. Korn, Vadym Matsishevskyi, Vamsi Manchala, Venkat6871,
Victor Stone, Ville Vesilehto, Vitalii Dziuba, Vladimir Belitskiy, Vlad
Sytchenko, Volodymyr Kysenko, Wai Hon Law, wan3x, Weiyi Wang, Will
Froom, William S. Moses, wondertx, Xuefei Jiang, Yang Chen, Yash
Katariya, Yasir Ashfaq, yasiribmcon, Yeou Chiou, Yicheng Luo, Yi Kong,
Yimei Sun, Yin Zhang, Yuchen Yao, Yue Sheng, Yulia Baturina, Yunjie Xu,
Yunlong Liu, Yun Peng, Yurii Topin, Zac Cranko, Zac Mustin, Zenong
Zhang, Zeyu Wang, Zhanyong Wan, Zixuan Jiang, Ziyin Huang, Zviki
Nozadze</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/tensorflow/tensorflow/commit/a481b10260dfdf833a1b16007eead49c1d7febf3"><code>a481b10</code></a>
Merge pull request <a
href="https://redirect.github.com/tensorflow/tensorflow/issues/111627">#111627</a>
from tensorflow-jenkins/version-numbers-2.21.0-25481</li>
<li><a
href="https://github.com/tensorflow/tensorflow/commit/a8f642e88e001734075133f9576ffd253b9eacc3"><code>a8f642e</code></a>
Update version numbers to 2.21.0</li>
<li><a
href="https://github.com/tensorflow/tensorflow/commit/3c51664da546f2e7741ad27e98f8dd22dbbf86f9"><code>3c51664</code></a>
Merge pull request <a
href="https://redirect.github.com/tensorflow/tensorflow/issues/111517">#111517</a>
from tejaswin432/r2.21</li>
<li><a
href="https://github.com/tensorflow/tensorflow/commit/460d178dda3124806d534ec0fb5e3d0830319628"><code>460d178</code></a>
Update RELEASE.md with removal of TB dependency.</li>
<li><a
href="https://github.com/tensorflow/tensorflow/commit/9e2628c11188f4b1f4361ff08e1de198d13cadb1"><code>9e2628c</code></a>
Update RELEASE.md with removal of TB dependency.</li>
<li><a
href="https://github.com/tensorflow/tensorflow/commit/00a1ba7b4fd31bf1c75482bfff620a1cf21c5815"><code>00a1ba7</code></a>
Merge pull request <a
href="https://redirect.github.com/tensorflow/tensorflow/issues/111234">#111234</a>
from psamanoelton/remove_tb_nigthly</li>
<li><a
href="https://github.com/tensorflow/tensorflow/commit/41beecf3ee272e928c59e53edfcd5d8b40bf7f2b"><code>41beecf</code></a>
Remove tb-nigthly and replace it with protobuf.</li>
<li><a
href="https://github.com/tensorflow/tensorflow/commit/01dec748b0d0daa3eb60a386b857519644fe15e2"><code>01dec74</code></a>
Merge pull request <a
href="https://redirect.github.com/tensorflow/tensorflow/issues/111216">#111216</a>
from psamanoelton/remove_tb_dependency_partial_rol...</li>
<li><a
href="https://github.com/tensorflow/tensorflow/commit/9657881d9689a4c06d334645932abff9d3481698"><code>9657881</code></a>
Partial rollback to resolve breakage.</li>
<li><a
href="https://github.com/tensorflow/tensorflow/commit/78d130aec00f8b4dbee85d3757ce32032ec7cbdd"><code>78d130a</code></a>
Remove TensorBoard dependency from TensorFlow build</li>
<li>Additional commits viewable in <a
href="https://github.com/tensorflow/tensorflow/compare/v2.20.0...v2.21.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=tensorflow-cpu&package-manager=pip&previous-version=2.20.0&new-version=2.21.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Jinzhe Zeng <jinzhe.zeng@ustc.edu.cn>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Jinzhe Zeng <jinzhe.zeng@ustc.edu.cn>
fix issue introduced by this pr:
#5157

This pull request updates the PaddlePaddle dependency versions across
the codebase to ensure compatibility with the latest releases. It also
improves the installation instructions in the documentation to reflect
these updates and to recommend best practices for installing nightly
builds.

Dependency version updates:

* Updated the `paddlepaddle-gpu` dependency in the CUDA test workflow to
version `3.4.0.dev20260310` (`.github/workflows/test_cuda.yml`).
* Updated the `paddlepaddle` dependency in the Python test workflow to
version `3.4.0.dev20260310` (`.github/workflows/test_python.yml`).

Documentation improvements:

* Updated installation instructions in `doc/install/easy-install.md` and
`doc/install/install-from-source.md` to reference
`paddlepaddle-gpu==3.3.0` and `paddlepaddle==3.3.0` as the latest stable
release versions
[[1]](diffhunk://#diff-8072dac581dd568fe718ff7204aae121465797d5d2890c4bc4d3ee8d978951e7L172-R174)
[[2]](diffhunk://#diff-8072dac581dd568fe718ff7204aae121465797d5d2890c4bc4d3ee8d978951e7L183-R185)
[[3]](diffhunk://#diff-865b1d35cff7d06cf73ebb95b0f2d93c5cc77b19c64305753008c90dfe9370c8L100-R108).
* Modified nightly build installation commands in the documentation to
recommend using the `-U` (upgrade) flag for both GPU and CPU versions,
ensuring users get the latest nightly build
[[1]](diffhunk://#diff-8072dac581dd568fe718ff7204aae121465797d5d2890c4bc4d3ee8d978951e7L172-R174)
[[2]](diffhunk://#diff-8072dac581dd568fe718ff7204aae121465797d5d2890c4bc4d3ee8d978951e7L183-R185)
[[3]](diffhunk://#diff-865b1d35cff7d06cf73ebb95b0f2d93c5cc77b19c64305753008c90dfe9370c8L100-R108).

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

* **New Features**
  * Training now supports the AdamW optimizer alongside Adam.

* **Documentation**
* Updated installation guides with newer PaddlePaddle stable and nightly
package versions and improved nightly/pre-release pip syntax.

* **Chores**
* Bumped PaddlePaddle dependency versions used in CI workflows (Python
and CUDA test pipelines).
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Bumps
[docker/build-push-action](https://github.com/docker/build-push-action)
from 6 to 7.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/docker/build-push-action/releases">docker/build-push-action's
releases</a>.</em></p>
<blockquote>
<h2>v7.0.0</h2>
<ul>
<li>Node 24 as default runtime (requires <a
href="https://github.com/actions/runner/releases/tag/v2.327.1">Actions
Runner v2.327.1</a> or later) by <a
href="https://github.com/crazy-max"><code>@​crazy-max</code></a> in <a
href="https://redirect.github.com/docker/build-push-action/pull/1470">docker/build-push-action#1470</a></li>
<li>Remove deprecated <code>DOCKER_BUILD_NO_SUMMARY</code> and
<code>DOCKER_BUILD_EXPORT_RETENTION_DAYS</code> envs by <a
href="https://github.com/crazy-max"><code>@​crazy-max</code></a> in <a
href="https://redirect.github.com/docker/build-push-action/pull/1473">docker/build-push-action#1473</a></li>
<li>Remove legacy export-build tool support for build summary by <a
href="https://github.com/crazy-max"><code>@​crazy-max</code></a> in <a
href="https://redirect.github.com/docker/build-push-action/pull/1474">docker/build-push-action#1474</a></li>
<li>Switch to ESM and update config/test wiring by <a
href="https://github.com/crazy-max"><code>@​crazy-max</code></a> in <a
href="https://redirect.github.com/docker/build-push-action/pull/1466">docker/build-push-action#1466</a></li>
<li>Bump <code>@​actions/core</code> from 1.11.1 to 3.0.0 in <a
href="https://redirect.github.com/docker/build-push-action/pull/1454">docker/build-push-action#1454</a></li>
<li>Bump <code>@​docker/actions-toolkit</code> from 0.62.1 to 0.79.0 in
<a
href="https://redirect.github.com/docker/build-push-action/pull/1453">docker/build-push-action#1453</a>
<a
href="https://redirect.github.com/docker/build-push-action/pull/1472">docker/build-push-action#1472</a>
<a
href="https://redirect.github.com/docker/build-push-action/pull/1479">docker/build-push-action#1479</a></li>
<li>Bump minimatch from 3.1.2 to 3.1.5 in <a
href="https://redirect.github.com/docker/build-push-action/pull/1463">docker/build-push-action#1463</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/docker/build-push-action/compare/v6.19.2...v7.0.0">https://github.com/docker/build-push-action/compare/v6.19.2...v7.0.0</a></p>
<h2>v6.19.2</h2>
<ul>
<li>Preserve port in <code>GIT_AUTH_TOKEN</code> host by <a
href="https://github.com/crazy-max"><code>@​crazy-max</code></a> in <a
href="https://redirect.github.com/docker/build-push-action/pull/1458">docker/build-push-action#1458</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/docker/build-push-action/compare/v6.19.1...v6.19.2">https://github.com/docker/build-push-action/compare/v6.19.1...v6.19.2</a></p>
<h2>v6.19.1</h2>
<ul>
<li>Derive <code>GIT_AUTH_TOKEN</code> host from GitHub server URL by <a
href="https://github.com/crazy-max"><code>@​crazy-max</code></a> in <a
href="https://redirect.github.com/docker/build-push-action/pull/1456">docker/build-push-action#1456</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/docker/build-push-action/compare/v6.19.0...v6.19.1">https://github.com/docker/build-push-action/compare/v6.19.0...v6.19.1</a></p>
<h2>v6.19.0</h2>
<ul>
<li>Scope default git auth token to <code>github.com</code> by <a
href="https://github.com/crazy-max"><code>@​crazy-max</code></a> in <a
href="https://redirect.github.com/docker/build-push-action/pull/1451">docker/build-push-action#1451</a></li>
<li>Bump brace-expansion from 1.1.11 to 1.1.12 in <a
href="https://redirect.github.com/docker/build-push-action/pull/1396">docker/build-push-action#1396</a></li>
<li>Bump form-data from 2.5.1 to 2.5.5 in <a
href="https://redirect.github.com/docker/build-push-action/pull/1391">docker/build-push-action#1391</a></li>
<li>Bump js-yaml from 3.14.1 to 3.14.2 in <a
href="https://redirect.github.com/docker/build-push-action/pull/1429">docker/build-push-action#1429</a></li>
<li>Bump lodash from 4.17.21 to 4.17.23 in <a
href="https://redirect.github.com/docker/build-push-action/pull/1446">docker/build-push-action#1446</a></li>
<li>Bump tmp from 0.2.3 to 0.2.4 in <a
href="https://redirect.github.com/docker/build-push-action/pull/1398">docker/build-push-action#1398</a></li>
<li>Bump undici from 5.28.4 to 5.29.0 in <a
href="https://redirect.github.com/docker/build-push-action/pull/1397">docker/build-push-action#1397</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/docker/build-push-action/compare/v6.18.0...v6.19.0">https://github.com/docker/build-push-action/compare/v6.18.0...v6.19.0</a></p>
<h2>v6.18.0</h2>
<ul>
<li>Bump <code>@​docker/actions-toolkit</code> from 0.61.0 to 0.62.1 in
<a
href="https://redirect.github.com/docker/build-push-action/pull/1381">docker/build-push-action#1381</a></li>
</ul>
<blockquote>
<p>[!NOTE]
<a
href="https://docs.docker.com/build/ci/github-actions/build-summary/">Build
summary</a> is now supported with <a
href="https://docs.docker.com/build-cloud/">Docker Build Cloud</a>.</p>
</blockquote>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/docker/build-push-action/compare/v6.17.0...v6.18.0">https://github.com/docker/build-push-action/compare/v6.17.0...v6.18.0</a></p>
<h2>v6.17.0</h2>
<ul>
<li>Bump <code>@​docker/actions-toolkit</code> from 0.59.0 to 0.61.0 by
<a href="https://github.com/crazy-max"><code>@​crazy-max</code></a> in
<a
href="https://redirect.github.com/docker/build-push-action/pull/1364">docker/build-push-action#1364</a></li>
</ul>
<blockquote>
<p>[!NOTE]
Build record is now exported using the <a
href="https://docs.docker.com/reference/cli/docker/buildx/history/export/"><code>buildx
history export</code></a> command instead of the legacy export-build
tool.</p>
</blockquote>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/docker/build-push-action/compare/v6.16.0...v6.17.0">https://github.com/docker/build-push-action/compare/v6.16.0...v6.17.0</a></p>
<h2>v6.16.0</h2>
<ul>
<li>Handle no default attestations env var by <a
href="https://github.com/crazy-max"><code>@​crazy-max</code></a> in <a
href="https://redirect.github.com/docker/build-push-action/pull/1343">docker/build-push-action#1343</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/docker/build-push-action/commit/d08e5c354a6adb9ed34480a06d141179aa583294"><code>d08e5c3</code></a>
Merge pull request <a
href="https://redirect.github.com/docker/build-push-action/issues/1479">#1479</a>
from docker/dependabot/npm_and_yarn/docker/actions-t...</li>
<li><a
href="https://github.com/docker/build-push-action/commit/cbd2dff9a0f0ef650dcce9c635bb2f877ab37be5"><code>cbd2dff</code></a>
chore: update generated content</li>
<li><a
href="https://github.com/docker/build-push-action/commit/f76f51f12900bb84aa9d1a498f35870ef1f76675"><code>f76f51f</code></a>
chore(deps): Bump <code>@​docker/actions-toolkit</code> from 0.78.0 to
0.79.0</li>
<li><a
href="https://github.com/docker/build-push-action/commit/7d03e66b5f24d6b390ab64b132795fd3ef4152c8"><code>7d03e66</code></a>
Merge pull request <a
href="https://redirect.github.com/docker/build-push-action/issues/1473">#1473</a>
from crazy-max/rm-deprecated-envs</li>
<li><a
href="https://github.com/docker/build-push-action/commit/98f853d923dd281a3bcbbb98a0712a91aa913322"><code>98f853d</code></a>
chore: update generated content</li>
<li><a
href="https://github.com/docker/build-push-action/commit/cadccf6e8c7385c86d9cb0800cf07672645cc238"><code>cadccf6</code></a>
remove deprecated envs</li>
<li><a
href="https://github.com/docker/build-push-action/commit/03fe8775e325e34fffbda44c73316f8287aea372"><code>03fe877</code></a>
Merge pull request <a
href="https://redirect.github.com/docker/build-push-action/issues/1478">#1478</a>
from docker/dependabot/github_actions/docker/setup-b...</li>
<li><a
href="https://github.com/docker/build-push-action/commit/827e36650e1fa7386d09422b5ba3c068fdbe0a1d"><code>827e366</code></a>
chore(deps): Bump docker/setup-buildx-action from 3 to 4</li>
<li><a
href="https://github.com/docker/build-push-action/commit/e25db879d025485a4eebd64fea9bb88a43632da6"><code>e25db87</code></a>
Merge pull request <a
href="https://redirect.github.com/docker/build-push-action/issues/1474">#1474</a>
from crazy-max/rm-export-build-tool</li>
<li><a
href="https://github.com/docker/build-push-action/commit/1ac2573b5c8b4e4621d5453ab2a99e83725242bd"><code>1ac2573</code></a>
Merge pull request <a
href="https://redirect.github.com/docker/build-push-action/issues/1470">#1470</a>
from crazy-max/node24</li>
<li>Additional commits viewable in <a
href="https://github.com/docker/build-push-action/compare/v6...v7">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=docker/build-push-action&package-manager=github_actions&previous-version=6&new-version=7)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps
[docker/metadata-action](https://github.com/docker/metadata-action) from
5 to 6.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/docker/metadata-action/releases">docker/metadata-action's
releases</a>.</em></p>
<blockquote>
<h2>v6.0.0</h2>
<ul>
<li>Node 24 as default runtime (requires <a
href="https://github.com/actions/runner/releases/tag/v2.327.1">Actions
Runner v2.327.1</a> or later) by <a
href="https://github.com/crazy-max"><code>@​crazy-max</code></a> in <a
href="https://redirect.github.com/docker/metadata-action/pull/605">docker/metadata-action#605</a></li>
<li>List inputs now preserve <code>#</code> inside values while still
supporting full-line <code>#</code> comments by <a
href="https://github.com/crazy-max"><code>@​crazy-max</code></a> in <a
href="https://redirect.github.com/docker/metadata-action/pull/607">docker/metadata-action#607</a></li>
<li>Switch to ESM and update config/test wiring by <a
href="https://github.com/crazy-max"><code>@​crazy-max</code></a> in <a
href="https://redirect.github.com/docker/metadata-action/pull/602">docker/metadata-action#602</a></li>
<li>Bump lodash from 4.17.21 to 4.17.23 in <a
href="https://redirect.github.com/docker/metadata-action/pull/588">docker/metadata-action#588</a></li>
<li>Bump <code>@​actions/core</code> from 1.11.1 to 3.0.0 in <a
href="https://redirect.github.com/docker/metadata-action/pull/599">docker/metadata-action#599</a></li>
<li>Bump <code>@​actions/github</code> from 6.0.1 to 9.0.0 in <a
href="https://redirect.github.com/docker/metadata-action/pull/597">docker/metadata-action#597</a></li>
<li>Bump <code>@​docker/actions-toolkit</code> from 0.68.0 to 0.79.0 in
<a
href="https://redirect.github.com/docker/metadata-action/pull/604">docker/metadata-action#604</a></li>
<li>Bump <code>@​isaacs/brace-expansion</code> from 5.0.0 to 5.0.1 in <a
href="https://redirect.github.com/docker/metadata-action/pull/600">docker/metadata-action#600</a></li>
<li>Bump semver from 7.7.3 to 7.7.4 in <a
href="https://redirect.github.com/docker/metadata-action/pull/603">docker/metadata-action#603</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/docker/metadata-action/compare/v5.10.0...v6.0.0">https://github.com/docker/metadata-action/compare/v5.10.0...v6.0.0</a></p>
<h2>v5.10.0</h2>
<ul>
<li>Bump <code>@​docker/actions-toolkit</code> from 0.66.0 to 0.68.0 in
<a
href="https://redirect.github.com/docker/metadata-action/pull/559">docker/metadata-action#559</a>
<a
href="https://redirect.github.com/docker/metadata-action/pull/569">docker/metadata-action#569</a></li>
<li>Bump js-yaml from 3.14.1 to 3.14.2 in <a
href="https://redirect.github.com/docker/metadata-action/pull/564">docker/metadata-action#564</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/docker/metadata-action/compare/v5.9.0...v5.10.0">https://github.com/docker/metadata-action/compare/v5.9.0...v5.10.0</a></p>
<h2>v5.9.0</h2>
<ul>
<li>Add <code>tag-names</code> output to return tag names without image
base name by <a
href="https://github.com/crazy-max"><code>@​crazy-max</code></a> in <a
href="https://redirect.github.com/docker/metadata-action/pull/553">docker/metadata-action#553</a></li>
<li>Bump <code>@​babel/runtime-corejs3</code> from 7.14.7 to 7.28.2 in
<a
href="https://redirect.github.com/docker/metadata-action/pull/539">docker/metadata-action#539</a></li>
<li>Bump <code>@​docker/actions-toolkit</code> from 0.62.1 to 0.66.0 in
<a
href="https://redirect.github.com/docker/metadata-action/pull/555">docker/metadata-action#555</a></li>
<li>Bump brace-expansion from 1.1.11 to 1.1.12 in <a
href="https://redirect.github.com/docker/metadata-action/pull/540">docker/metadata-action#540</a></li>
<li>Bump csv-parse from 5.6.0 to 6.1.0 in <a
href="https://redirect.github.com/docker/metadata-action/pull/532">docker/metadata-action#532</a></li>
<li>Bump semver from 7.7.2 to 7.7.3 in in <a
href="https://redirect.github.com/docker/metadata-action/pull/554">docker/metadata-action#554</a></li>
<li>Bump tmp from 0.2.3 to 0.2.5 in <a
href="https://redirect.github.com/docker/metadata-action/pull/541">docker/metadata-action#541</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/docker/metadata-action/compare/v5.8.0...v5.9.0">https://github.com/docker/metadata-action/compare/v5.8.0...v5.9.0</a></p>
<h2>v5.8.0</h2>
<ul>
<li>New <code>is_not_default_branch</code> global expression by <a
href="https://github.com/crazy-max"><code>@​crazy-max</code></a> in <a
href="https://redirect.github.com/docker/metadata-action/pull/535">docker/metadata-action#535</a></li>
<li>Allow to match part of the git tag or value for semver/pep440 types
by <a href="https://github.com/crazy-max"><code>@​crazy-max</code></a>
in <a
href="https://redirect.github.com/docker/metadata-action/pull/536">docker/metadata-action#536</a>
<a
href="https://redirect.github.com/docker/metadata-action/pull/537">docker/metadata-action#537</a></li>
<li>Bump <code>@​actions/github</code> from 6.0.0 to 6.0.1 in <a
href="https://redirect.github.com/docker/metadata-action/pull/523">docker/metadata-action#523</a></li>
<li>Bump <code>@​docker/actions-toolkit</code> from 0.56.0 to 0.62.1 in
<a
href="https://redirect.github.com/docker/metadata-action/pull/526">docker/metadata-action#526</a></li>
<li>Bump form-data from 2.5.1 to 2.5.5 in <a
href="https://redirect.github.com/docker/metadata-action/pull/533">docker/metadata-action#533</a></li>
<li>Bump moment-timezone from 0.5.47 to 0.6.0 in <a
href="https://redirect.github.com/docker/metadata-action/pull/525">docker/metadata-action#525</a></li>
<li>Bump semver from 7.7.1 to 7.7.2 in <a
href="https://redirect.github.com/docker/metadata-action/pull/524">docker/metadata-action#524</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/docker/metadata-action/compare/v5.7.0...v5.8.0">https://github.com/docker/metadata-action/compare/v5.7.0...v5.8.0</a></p>
<h2>v5.7.0</h2>
<ul>
<li>Global expressions support for labels and annotations by <a
href="https://github.com/crazy-max"><code>@​crazy-max</code></a> in <a
href="https://redirect.github.com/docker/metadata-action/pull/489">docker/metadata-action#489</a></li>
<li>Support disabling outputs as environment variables by <a
href="https://github.com/omus"><code>@​omus</code></a> in <a
href="https://redirect.github.com/docker/metadata-action/pull/497">docker/metadata-action#497</a></li>
<li>Bump <code>@​docker/actions-toolkit</code> from 0.44.0 to 0.56.0 in
<a
href="https://redirect.github.com/docker/metadata-action/pull/507">docker/metadata-action#507</a>
<a
href="https://redirect.github.com/docker/metadata-action/pull/509">docker/metadata-action#509</a></li>
<li>Bump csv-parse from 5.5.6 to 5.6.0 in <a
href="https://redirect.github.com/docker/metadata-action/pull/482">docker/metadata-action#482</a></li>
<li>Bump moment-timezone from 0.5.46 to 0.5.47 in <a
href="https://redirect.github.com/docker/metadata-action/pull/501">docker/metadata-action#501</a></li>
<li>Bump semver from 7.6.3 to 7.7.1 in <a
href="https://redirect.github.com/docker/metadata-action/pull/504">docker/metadata-action#504</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/docker/metadata-action/compare/v5.6.1...v5.7.0">https://github.com/docker/metadata-action/compare/v5.6.1...v5.7.0</a></p>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/docker/metadata-action/commit/030e881283bb7a6894de51c315a6bfe6a94e05cf"><code>030e881</code></a>
Merge pull request <a
href="https://redirect.github.com/docker/metadata-action/issues/607">#607</a>
from crazy-max/allow-comments</li>
<li><a
href="https://github.com/docker/metadata-action/commit/4b529ac4e5705260c379cc9bbb728db073561560"><code>4b529ac</code></a>
chore: update generated content</li>
<li><a
href="https://github.com/docker/metadata-action/commit/b0082b33bc58c0a21650367020cc8f713c26ea4a"><code>b0082b3</code></a>
preserve comments in list input values with commentNoInfix</li>
<li><a
href="https://github.com/docker/metadata-action/commit/7b19fec71513bcf5cf7751eed7131d79687c9c82"><code>7b19fec</code></a>
Merge pull request <a
href="https://redirect.github.com/docker/metadata-action/issues/604">#604</a>
from docker/dependabot/npm_and_yarn/docker/actions-to...</li>
<li><a
href="https://github.com/docker/metadata-action/commit/281c9b0599edd4ec6bdba1bc2ca9cc824505fd78"><code>281c9b0</code></a>
chore: update generated content</li>
<li><a
href="https://github.com/docker/metadata-action/commit/5f43b3b4f4d0343068a20cbca366768ac4ef8148"><code>5f43b3b</code></a>
test: stabilize github mock setup since ESM</li>
<li><a
href="https://github.com/docker/metadata-action/commit/9d53276575003f95c1baf96fef2bfb21144c0b43"><code>9d53276</code></a>
github class moved since actions-toolkit v0.77.0</li>
<li><a
href="https://github.com/docker/metadata-action/commit/eaa3d3973eabfaec0ede866d47761b7b8627387c"><code>eaa3d39</code></a>
chore(deps): Bump <code>@​docker/actions-toolkit</code> from 0.68.0 to
0.77.0</li>
<li><a
href="https://github.com/docker/metadata-action/commit/6b695f7a8a3e9ce07613674750ee68840e5b6a1e"><code>6b695f7</code></a>
Merge pull request <a
href="https://redirect.github.com/docker/metadata-action/issues/605">#605</a>
from crazy-max/node24</li>
<li><a
href="https://github.com/docker/metadata-action/commit/a1afadcb28cd960b7c3e6c9893866eb7cdc61155"><code>a1afadc</code></a>
node 24 as default runtime</li>
<li>Additional commits viewable in <a
href="https://github.com/docker/metadata-action/compare/v5...v6">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=docker/metadata-action&package-manager=github_actions&previous-version=5&new-version=6)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
  * Optional charge/spin electronic embedding for DPA3 (toggleable).
* Descriptor and model APIs accept optional per-frame parameters
(fparam); when enabled, default per-frame params are forwarded into
descriptor embeddings.

* **Tests**
* Expanded test coverage for charge/spin embedding, fparam
construction/propagation, backend paths, and serialization.

* **Documentation**
  * Added help/config entry for the charge/spin embedding option.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Signed-off-by: Duo <50307526+iProzd@users.noreply.github.com>
Problem
- DPA-2.4-7M is available on HuggingFace and has mirrors (hf-mirror +
ModelScope), but is not listed in the built-in pretrained registry.

Change
- Add DPA-2.4-7M to deepmd/pretrained/registry.py with HuggingFace URL,
hf-mirror URL, and ModelScope mirror URL.
- Record the model file SHA256 for integrity checking.

Notes
- ModelScope mirror:
https://modelscope.cn/models/DeepModelingCommunity/DPA-2.4-7M

Authored by OpenClaw (model: custom-chat-jinzhezeng-group/gpt-5.2)


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

* **New Features**
* The DPA-2.4-7M pretrained model is now available for download and use.
* Additional download sources/URLs added for DPA-3.2-5M and DPA-3.1-3M
to improve availability.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
This pull request updates the optimizer handling in the
`deepmd/pd/train/training.py` file, adding support for selecting between
`Adam` and `AdamW` optimizers based on configuration, and improves
profiling clarity.

**Optimizer selection improvements:**

* Refactored optimizer initialization to dynamically select between
`paddle.optimizer.Adam` and `paddle.optimizer.AdamW` depending on the
value of `self.opt_type`. This allows for more flexibility in choosing
the optimizer.

**Profiling and logging enhancements:**

* Updated the profiling context label from `"Adam update"` to
`"Optimizer update"` to accurately reflect the optimizer in use,
improving the clarity of profiling output.

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

## Summary by CodeRabbit

* **New Features**
* Added support for selecting between Adam and AdamW optimizers during
training.

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

* **New Features**
* Public C API bumped to v26 and adds queries to check whether models
use default frame parameters across model types and backends.
* Backends and model interfaces now expose a consistent "has default
fparam" status and fall back safely when backend hooks are absent.

* **Tests**
* Added extensive unit, integration, and LAMMPS tests plus a model
fixture to validate default-frame-parameter behavior.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
This PR fixes a typo pattern.

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

* **Documentation**
* Fixed multiple typos and wording in method docstrings and parameter
descriptions (e.g., corrected "statisitcs" → "statistics", "Reveive" →
"Receive", and similar inconsistencies). These edits improve clarity and
consistency of technical documentation without changing behavior,
interfaces, or functionality.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
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.