GPUMDkit 训练误差与描述符绘图
训练误差与描述符绘图:终端操作、输入输出、集群示例与适用条件。
阅读本篇目录
本篇以集群GPUMDkit 1.5.8为准。下载输入与参考结果,解压进入gpumdkit-examples。所有工具操作在自己的工作副本执行。
module load gpumdkit/1.5.8
gpumdkit.sh -doctor
按什么顺序操作#
训练误差小不等于外推可靠。train与prediction读取_train.out;真正对比训练集和测试集需分别生成两套输出,再用train_test。qNEP电荷和Born有效电荷图只能用对应模型实际生成的文件,普通NEP不能凭空生成这些标签。
本章功能与终端入口#
带“→”的是交互菜单:先运行gpumdkit.sh,再逐项输入编号;不是把箭头整行粘进终端。
| 功能 | 命令或菜单 | 输入、输出与关键条件 |
|---|---|---|
| 绘图 train | gpumdkit.sh -plt train save |
loss.out及energy/force/stress或virial_train.out;训练曲线和对角线 |
| 绘图 prediction | gpumdkit.sh -plt prediction save |
energy/force/stress或virial_train.out;别名test,仍读取_train文件 |
| 绘图 train_test | gpumdkit.sh -plt train_test save |
分别具备_train与_test输出;训练与测试对照 |
| 绘图 parity_density | gpumdkit.sh -plt parity_density save |
预测与参考值密度图 |
| 绘图 train_density | gpumdkit.sh -plt train_density save |
loss.out与预测标签;训练密度图 |
| 绘图 restart | gpumdkit.sh -plt restart save |
nep.restart;参数分布 |
| 绘图 charge | gpumdkit.sh -plt charge save |
qNEP的charge_train.out和train.xyz;普通NEP不适用 |
| 绘图 born_charge | gpumdkit.sh -plt born_charge save |
bec_train.out,可选bec_test.out;别名bec |
| 绘图 dimer | gpumdkit.sh -plt dimer Si Si si-nep.txt save |
指定元素对和适用NEP,二聚体曲线不是体相稳定性证明 |
| 绘图 force_errors | gpumdkit.sh -plt force_errors save |
force_train.out;力误差 |
| 绘图 des | gpumdkit.sh -plt des pca descriptors.npy |
PCA降维;也支持umap,Agg后端自动保存 |
| 绘图 net_force | gpumdkit.sh -plt net_force train.xyz save |
带力标签extxyz;每帧净力 |
实际操作:plt-train#
从附件根目录新建这个示例:
python new-case.py plt-train
cd work/plt-train
执行以下命令:
gpumdkit.sh -plt train save
本次生成的参考文件:force_train.out、stress_train.out、loss.out、energy_train.out、train.png、virial_train.out。自己的输出会写在当前work/plt-train目录。

下一例开始前执行cd ../..回到附件根目录;不要把两个例子的输出放在同一目录。
实际操作:plt-train_density#
从附件根目录新建这个示例:
python new-case.py plt-train_density
cd work/plt-train_density
执行以下命令:
gpumdkit.sh -plt train_density save
本次生成的参考文件:force_train.out、stress_train.out、loss.out、energy_train.out、train_density.png、virial_train.out。自己的输出会写在当前work/plt-train_density目录。

下一例开始前执行cd ../..回到附件根目录;不要把两个例子的输出放在同一目录。
实际操作:plt-prediction#
从附件根目录新建这个示例:
python new-case.py plt-prediction
cd work/plt-prediction
执行以下命令:
gpumdkit.sh -plt prediction save
本次生成的参考文件:force_train.out、prediction.png、stress_train.out、energy_train.out、virial_train.out。自己的输出会写在当前work/plt-prediction目录。

下一例开始前执行cd ../..回到附件根目录;不要把两个例子的输出放在同一目录。
实际操作:plt-parity_density#
从附件根目录新建这个示例:
python new-case.py plt-parity_density
cd work/plt-parity_density
执行以下命令:
gpumdkit.sh -plt parity_density save
本次生成的参考文件:force_train.out、stress_train.out、parity_density_plot.png、energy_train.out、virial_train.out。自己的输出会写在当前work/plt-parity_density目录。

下一例开始前执行cd ../..回到附件根目录;不要把两个例子的输出放在同一目录。
实际操作:plt-force_errors#
从附件根目录新建这个示例:
python new-case.py plt-force_errors
cd work/plt-force_errors
执行以下命令:
gpumdkit.sh -plt force_errors save
本次生成的参考文件:force_train.out、stress_train.out、energy_train.out、force_errors.png、virial_train.out。自己的输出会写在当前work/plt-force_errors目录。

下一例开始前执行cd ../..回到附件根目录;不要把两个例子的输出放在同一目录。
实际操作:plt-restart#
从附件根目录新建这个示例:
python new-case.py plt-restart
cd work/plt-restart
执行以下命令:
gpumdkit.sh -plt restart save
本次生成的参考文件:force_train.out、stress_train.out、loss.out、energy_train.out、nep_restart.png、virial_train.out。自己的输出会写在当前work/plt-restart目录。

下一例开始前执行cd ../..回到附件根目录;不要把两个例子的输出放在同一目录。
实际操作:plt-dimer#
从附件根目录新建这个示例:
python new-case.py plt-dimer
cd work/plt-dimer
执行以下命令:
gpumdkit.sh -plt dimer Si Si si-nep.txt save
本次生成的参考文件:dimer-Si-Si.png。自己的输出会写在当前work/plt-dimer目录。

下一例开始前执行cd ../..回到附件根目录;不要把两个例子的输出放在同一目录。
实际操作:plt-net_force#
从附件根目录新建这个示例:
python new-case.py plt-net_force
cd work/plt-net_force
执行以下命令:
gpumdkit.sh -plt net_force train.xyz save
本次生成的参考文件:net_force_distribution.png。自己的输出会写在当前work/plt-net_force目录。

下一例开始前执行cd ../..回到附件根目录;不要把两个例子的输出放在同一目录。