GPUMDkit加载DeePMD与DPA模型
在正确Python环境预测E/F/virial,解释压力符号和缺失标签。
阅读本篇目录
下载结构、标签、完整JSON、冻结模型、参考结果和脚本。解压到自己的工作目录,以下命令从附件根目录开始。预处理可交互操作;训练、批量预测和MD在申请的计算资源内运行。所有新结果进入work,不覆盖reference。
1. 用DeePMD环境运行可选接口#
bash predict_dpa.sh
脚本实际做的是:
module load gpumdkit/1.5.8 deepmd-kit/3.2.0
mkdir -p work
mkdir work/gpumdkit-dpa
cd work/gpumdkit-dpa
python "$GPUMDkit_path/Scripts/calculators/prediction_dpa.py" ../../labels/test.xyz ../../reference/dpa1-1500/model.pth
GPUMDkit主命令会选择它自己的基础Python;DPA依赖位于DeePMD环境,因此这里显式调用可选Python脚本。只设置PATH后再用gpumdkit.sh -prediction_dpa并不能保证切到正确解释器。其他NEP功能仍正常使用gpumdkit.sh。
2. 读输出#
| 文件 | 参考/预测含义 |
|---|---|
| energy_train.out | 每原子能量,eV/atom |
| force_train.out | 三分量原子力,eV/Å |
| virial_train.out | 六个独立分量,每原子eV |
| stress_train.out | 按GPUMDkit压力约定+W/V,GPa |
本例模型训练见DeePMD续训;预测留出力RMSE0.301006eV/Å。DFT误差与程序接口间数值差异分开看,不能只凭绘图点接近直线就判断势可靠。
3. 缺字段与不适用输入#
E和F是本接口计算误差的必需参考;元素必须在模型type_map中。缺失W的构型仍可预测E/F/W,但参考virial和压力使用−1E6哨兵,并从W误差中排除。不要将哨兵按原子数再除一次或转换成GPa;不要把缺参考误认为物理上有巨大负压。
本例分别核对完整3帧、缺W1帧、混合4帧,并与DeepPot直接预测及原始标签对照;NaN能量和未知元素需要先修正数据。具有stress但没有明确virial的来源,先按原程序单位/符号规范化,不能盲目把stress字段当W。
DeePMD能量力与压力说明E/F/W单位;标签检查说明转换前的结构与标签检查。
需要根据你的体系选择资源?联系讨论计算需求。实际可用软件与权限,以当前账户和运行环境为准。