GPUMDkit专题

GPUMDkit 抽样、扰动与训练集拆分

抽样、扰动与训练集拆分:终端操作、输入输出、集群示例与适用条件。

更新于 2026-10-26约 5 分钟阅读按任务与环境选择适用配置
阅读本篇目录

本篇以集群GPUMDkit 1.5.8为准。下载输入与参考结果,解压进入gpumdkit-examples。所有工具操作在自己的工作副本执行。

module load gpumdkit/1.5.8
gpumdkit.sh -doctor

按什么顺序操作#

先检查异常近邻,再抽样。均匀抽样和随机抽样按帧选择;FPS按NEP描述符差异选择,不等于按时间等间隔。随机方法每次结果可以不同。拆分演示的PbTe数据量很小,不能作为独立泛化评估结论;真实训练尽量按轨迹或结构族分组拆分,防止相邻帧泄漏。

本章功能与终端入口#

带“→”的是交互菜单:先运行gpumdkit.sh,再逐项输入编号;不是把箭头整行粘进终端。

功能 命令或菜单 输入、输出与关键条件
均匀抽样201 python "$GPUMDkit_path/Scripts/sample_structures/sample_structures.py" trajectory.xyz uniform 5 从全轨迹均匀选5帧,输出sampled_structures.xyz
随机抽样201 python "$GPUMDkit_path/Scripts/sample_structures/sample_structures.py" trajectory.xyz random 5 不放回选5帧;可加skip_initial跳过前N帧
旧PyNEP入口202 gpumdkit.sh -pynep 弃用兼容入口;需要pynep,优先使用203 NepTrain FPS
NepTrain FPS203 gpumdkit.sh → 2 → 203 输入候选xyz、已有训练xyz、nep.txt、线程数;选距离阈值或构型数量
结构扰动204 python "$GPUMDkit_path/Scripts/sample_structures/perturb_structure.py" POSCAR 5 0.03 0.2 uniform 5个结构,3%晶胞扰动、0.2 Å位置扰动;输出POSCAR_*.vasp和perturb.txt
力偏差抽样205 python "$GPUMDkit_path/Scripts/sample_structures/select_max_modev.py" 200 0.15 需要真实active.out与active.xyz;按偏差筛选,不是按DFT误差筛选
训练测试集拆分206 gpumdkit.sh → 2 → 206 输入文件、测试占比或数量,选均匀/随机/FPS;生成*_train.xyz和*_test.xyz

实际操作:sample-uniform#

从附件根目录新建这个示例:

python new-case.py sample-uniform
cd work/sample-uniform

执行以下命令:

gpumdkit.sh

交互提示中依次输入(空行表示接受默认值):

2
201
trajectory.xyz uniform 5
0

也可直接执行附件的bash run-tool.sh,它会读取配套answers.in。

本次生成的参考文件:sampled_structures.xyz。自己的输出会写在当前work/sample-uniform目录。

输入10帧,输出5帧,每帧512个Si原子;抽样只选帧,不计算新标签。

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

实际操作:sample-random#

从附件根目录新建这个示例:

python new-case.py sample-random
cd work/sample-random

执行以下命令:

gpumdkit.sh

交互提示中依次输入(空行表示接受默认值):

2
201
trajectory.xyz random 5
0

也可直接执行附件的bash run-tool.sh,它会读取配套answers.in。

本次生成的参考文件:sampled_structures.xyz。自己的输出会写在当前work/sample-random目录。

输入10帧,输出5帧,每帧512个Si原子;抽样只选帧,不计算新标签。

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

实际操作:perturb#

从附件根目录新建这个示例:

python new-case.py perturb
cd work/perturb

执行以下命令:

gpumdkit.sh

交互提示中依次输入(空行表示接受默认值):

2
204
POSCAR 5 0.03 0.2 uniform
0

也可直接执行附件的bash run-tool.sh,它会读取配套answers.in。

本次生成的参考文件:perturb.txt。自己的输出会写在当前work/perturb目录。

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

实际操作:split#

从附件根目录新建这个示例:

python new-case.py split
cd work/split

执行以下命令:

gpumdkit.sh

交互提示中依次输入(空行表示接受默认值):

2
206
train.xyz
0.25
1
0

也可直接执行附件的bash run-tool.sh,它会读取配套answers.in。

本次生成的参考文件:见附件reference/split,其中保留对应结构与输出。自己的输出会写在当前work/split目录。

本次16帧按25%测试占比分成12帧训练、4帧测试;相邻帧相关性仍需另行处理。

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

实际操作:sample-fps-fixed#

从附件根目录新建这个示例:

python new-case.py sample-fps-fixed
cd work/sample-fps-fixed

执行以下命令:

gpumdkit.sh

交互提示中依次输入(空行表示接受默认值):

2
203
train.xyz test.xyz nep.txt 1
2
4 4
0

也可直接执行附件的bash run-tool.sh,它会读取配套answers.in。

本次生成的参考文件:select.png、selected.xyz。自己的输出会写在当前work/sample-fps-fixed目录。

抽样、扰动与训练集拆分,GPUMDkit读取集群实际数据生成

候选16帧,已有参考4帧,按结构数量方式选择4帧;数量提示需要输入两个整数,本例为4 4。

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

返回GPUMDkit专题 · 查看全部功能索引 · GPUMD实算教程

需要根据你的体系选择资源?联系讨论计算需求。实际可用软件与权限,以当前账户和运行环境为准。

查看配图

放大后可滚动查看细节,按 Esc 关闭。

100%查看原图 ↗