DeePMD 旧类型嵌入se_a_tpe训练与测试
列出实际模型输入,读取学习曲线与独立测试构型的能量受力误差。
阅读本篇目录
本篇接着输入与环境准备,读取旧类型嵌入se_a_tpe的新训练结果。下载完整实例包。
1 打开完整训练输入#
cat inputs/se_a_tpe.json
实际model部分如下;完整文件还给出学习率、损失及训练/验证数据路径:
{
"type": "standard",
"type_map": [
"N",
"H"
],
"descriptor": {
"type": "se_a_tpe",
"rcut": 3.0,
"rcut_smth": 2.5,
"sel": [
4,
8
],
"neuron": [
8,
16
],
"axis_neuron": 4,
"resnet_dt": false,
"precision": "float64",
"seed": 600001,
"type_nchanl": 4,
"type_nlayer": 2
},
"fitting_net": {
"type": "ener",
"neuron": [
32,
32
],
"resnet_dt": false,
"precision": "float64",
"seed": 600002
}
}
type_nchanl=4是旧类型表示的通道数,type_nlayer=2是其嵌入层数;不是三体se_e3_tebd的参数别名。neuron=[8,16]和后面的fitting_net=[32,32]分别对应描述符嵌入与能量拟合。rcut=3、rcut_smth=2.5单位Å。
本例batch 4,训练12000步,起始学习率0.002、终值0.00001。总能量与力损失权重均为1,virial权重为0。力来自总能量对坐标的导数。固定NH₃化学计量下的总能量监督不能确定唯一的物理原子能量分解。
2 查看自己的误差表#
head -n 3 tables-new/model-results.csv
这里有自己新训练模型的一行结果;能量按4个真实原子归一,力为12个测试姿态中全部原子三方向的分量RMSE。本站P100与V10016G独立训练的实际结果如下:
| 实算设备 | 能量RMSE(eV/原子) | 力RMSE(eV/Å) |
|---|---|---|
| P100 | 0.0003820 | 0.015810 |
| V100 | 0.0003820 | 0.015810 |

不同设备从头训练的优化轨迹可能不同;后面的CPU/GPU检查会对比同一个权重,两种比较不要混淆。小样例只覆盖固定氨分子构型范围,不据此宣称通用反应势、解离精度或生产MD稳定性。
3 读取学习曲线#
head -n 6 new-work/p100-se_a_tpe/lcurve.out
V100运行时将目录前缀改为v100-。日志区分训练和验证误差,测试构型不参与优化;不要只看最后一个训练batch来判断模型能否外推。

4 查看本次作业摘要#
python3 code/summary.py
应看到1个新模型、12000次优化更新和新结果检查摘要,新量子化学调用为0。新的训练日志、测试预测与推断数组在new-work,附带参考在reference;两者分开保存。
需要根据你的体系选择资源?联系讨论计算需求。实际可用软件与权限,以当前账户和运行环境为准。