deepmodeling / deepmd-kit

A deep learning package for many-body potential energy representation and molecular dynamics
https://docs.deepmodeling.com/projects/deepmd/
GNU Lesser General Public License v3.0
1.41k stars 487 forks source link

Only the last set.xxxx of a LabeledSytem is tested in 'dp test' #3860

Closed Carrotkingdom closed 3 weeks ago

Carrotkingdom commented 1 month ago

Bug summary

When I do

dp test -m model.ckpt.pt -s data

only the last of set.000 set.001 set.002 set.003.... is used during the test, when it contains more than one set.

DeePMD-kit Version

3.0.0

Backend and its version

PT ver: v2.3.0+cu121-g97ff6cfd9c8

How did you download the software?

pip

Input Files, Running Commands, Error Log, etc.

dp test -m model.ckpt.pt -s data

Steps to Reproduce

  1. prepare a dataset that contains a large System (more than 2000 frames with the same chemical composition).
  2. dump it to deepmd/npy/mix format using dpdata
  3. RUN: dp test -m model.ckpt.pt -s data
  4. you'll find only the last set is used

Further Information, Files, and Links

No response

njzjz commented 1 month ago

This is the designed behavior, which has never changed since 7 years ago. See #2063. However, we may discuss whether to make a breaking change in v3. cc @wanghan-iapcm @iProzd

njzjz commented 1 month ago

Btw, finetune also uses the last set.