MatPL 操作命令
在MatPL中,您可以使用 matpl
、MatPL
、MATPL
或者 PWMLFF
作为起始命令。其中 PWMLFF
为 MatPL-2025.3 之前的版本,新版本兼容该命令。
MatPL 命令包括做训练 train
命令、做推理测试的 test
命令以及一些不同模型独有的功能性命令
。您可以通过 matpl -h
命令输出 MatPL 的所有支持命令列表。
MatPL -h
或者 MatPL --help
1. train 训练
train 命令是 MatPL 的训练命令,使用该命令需要用户提前准备好训练设置的 json 文件。
MatPL train input.json
train 文件目录
力场训练结束后产生如下目录如下所示
├── model_record
│ ├── epoch_train.dat
│ ├── epoch_valid.dat
│ ├── nep_model.ckpt
│ └── nep5.txt
├── std_input.json
├── train.json
└── forcefield/
└── forcefield.ff
-
std_input.json
为模型训练中使 用的所有设置参数(用户自定义参数以及默认参数) -
model_record/nep_model.ckpt
为最近一个epoch训练结束后的力场文件,.ckpt 为pytorch可读的文件格式,对于 DP 力场,则为 dp_model.ckpt,对于 NN 力场则为 nn_model.ckpt -
model_record/nep5.txt
为 nep_model.ckpt 提取出的 txt 格式力场文件,用于 lammps 或 GPUMD 中做MD,其他力场训练不存在该文件 -
model_record/epoch_train.dat
为训练过程中"train_data"中,每个 epoch 的训练集的 loss 信息汇总,内容如下所示。 从左到右分别为 训练 epoch 步;总 loss;L2 loss ,不开启 L2 训练则不存在该列(ADAM 优化器对应lambda_2
、LKF优化器对应po_weight
);原子能量 rmse(eV/atom);原子力 rmse(ev/Å);原子位力 rmse(eV/atom),不开启train_virial
则不存在该列;学习率;epoch耗时(秒)。
# epoch loss Loss_l2 RMSE_Etot(eV/atom) RMSE_F(eV/Å) RMSE_virial(eV/atom) real_lr time(s)
1 4.7907987747e+04 1.3987758802e-01 2.2508174106e+00 7.7088011034e-01 5.4796850561e+00 1.0000000000e-03 3.5540
......