NepTrain结构扰动、描述符与最远点选样
真实运行扰动、NEP和SOAP描述符、PCA及UMAP,说明选样阈值的含义。
阅读本篇目录
下载输入、模型、真实数据和短命令脚本(ZIP)。选样的目标是从候选结构中挑出描述符空间覆盖更广的少量构型,减少重复DFT。
1 初始化与扰动#
完成一次prepare后,可以单独学习工具:
bash initialize.sh
bash perturb.sh
ls templates-slurm
initialize.sh 实际生成shell、Slurm、PBS和Bohrium四种模板;本专题实际计算使用Slurm,生成其余模板不代表已经运行相应平台。模板目录已存在时无需再次生成。
扰动示例从Si8生成四个结构,晶胞相对扰动幅度0.01,笛卡尔位移幅度0.02 Å。扰动只产生几何结构,后面仍要DFT标注,不能把新坐标当作带有新能量和力的数据。
module load gpumdkit/1.5.8
NepTrain perturb --help
NepTrain select --help
本安装版 perturb --distance 实际控制每个笛卡尔方向的随机位移幅度,不是最小键长。select 的 min_distance 控制描述符空间距离,同样不是Å单位的原子距离;键长合理性由另一个周期结构过滤环节处理。
2 跟着比较描述符与降维#
bash select.sh
bash select-soap.sh
bash select-umap.sh
三个短入口分别演示NEP描述符+PCA、SOAP描述符+PCA、NEP描述符+UMAP。需要有相应模型时,脚本使用附件真实NEP权重。PCA和UMAP用于二维可视化;图上的远近不自动等于能量或力误差大小。
独立小工具例还把四个结构追加一次得到八帧,但只有四个不同几何结构,不能把文件中的八帧都说成新构型。
3 闭环里实际怎么选#
完整工作流将32个训练结构作为已有覆盖,从两条MD的40帧候选中,使用NEP描述符最远点采样选择四帧。最大数量4、描述符最小距离0.0,并启用周期原子距离过滤。
bash run.sh
cat analysis/neptrain-selected.csv
head analysis/neptrain-coverage.csv

| 入选构型 | 所属轨迹 | 时间 / ps |
|---|---|---|
| 600k-11 | 600 K | 0.55 |
| 600k-5 | 600 K | 0.25 |
| 600k-18 | 600 K | 0.90 |
| 600k-9 | 600 K | 0.45 |
四帧全部来自600 K,是对两个温度合并候选做全局FPS的实际结果。算法没有规定每个温度选几帧;若希望各温度都有配额,应分别选样,不能依赖全局数量自动均分。
覆盖图的PCA由32个训练结构及40个候选拟合,独立测试不参与。入选点再次高亮绘制,不是额外生成四个候选。
4 选样结果接下来做什么#
bash workflow.sh
bash status.sh
cat reference/four-new-DFT-labels.xyz
工作流把四个候选交给VASP,得到能量、力和virial,再并入训练。选样只描述几何特征覆盖,是否真正改善预测要看独立测试与补标结果。