GPUMD:训练与使用极化率模型
从真实3×3极化率标签到model_type 2训练、输出分量与独立测试,附完整命令和数据图。
阅读本篇目录
本篇训练几何到静态极化率张量的辅助模型。model_type 2表示极化率;charge_mode 2表示另一类电荷势设置,两个数字相同并不代表同一种功能。模型类型见GPUMD定义。
1. 下载与准备#
下载水分子标签、完整输入、训练模型、原生输出和绘图脚本,保存为gpumd-tnep-water-wave215.zip。在自己的工作目录执行:
unzip gpumd-tnep-water-wave215.zip -d water-tnep
cd water-tnep
bash view.sh
ls figures
view.sh读取随包参考结果并重新画图,不提交计算。已生成analysis和figures时会停止;再次处理请解压到新的目录,避免混用结果。
数据来自25个真实水分子响应计算。本例极化率采用ų极化体积约定,输入为整分子3×3张量;不是平均极化率,也不是只给三个对角分量。
module load ase/3.29.0
python3 prepare_models.py
cd cases/polarizability-p100-s13579
head -n 5 training.xyz
cat base-nep.in
2. 完整nep.in与提交#
version 4
model_type 2
type 2 O H
cutoff 4.0 3.0
n_max 4 4
basis_size 4 4
l_max 4 2 1
neuron 12
population 30
batch 60
lambda_1 0.0
lambda_2 0.0
lambda_e 0.0
lambda_f 0.0
lambda_v 1.0
seed 13579
generation 10000
output_interval 100
sbatch job.slurm
squeue -u "$USER"
按4和3 Å截断、12个神经元、30个候选和10,000代固定预算训练。lambda_v 1.0用于本分支的极化率拟合;本例没有拿虚构的能量/力替代响应标签。程序在训练结束后依次预测各组数据与变换对照。另一个固定种子在cases/polarizability-v100-s24680,用其对应的V10016G脚本提交。
3. 输入9个分量,输出为什么只有6个#
输入pol以xx、xy、xz、yx、yy、yz、zx、zy、zz展开对称3×3张量。原生polarizability_train.out每行12列:前6列预测,后6列目标;每组顺序均为xx、yy、zz、xy、yz、zx,见官方输出说明。本例明确核对对称性,不能把非对称矩阵悄悄当成正确响应标签。
head prediction-heldout/polarizability_train.out
原生输出也除以原子数,本例乘3得到整分子ų。完整标签与CSV已经按该约定处理,不能再重复乘3。
全部4个任务完成后回到包根目录:
cd ../..
module load ase/3.29.0
python3 analyze_models.py --new
head analysis-new/polarizability-p100-s13579-heldout.csv
ls figures-new
只运行此模型时,将分析命令换成:
python3 analyze_models.py --new --case polarizability-p100-s13579
一个分析目录只运行一次,避免参考结果与新计算混合。原生程序在训练时称验证文件为test.xyz,本例独立测试另存heldout.xyz,待训练结束再使用;详见偶极篇的数据划分说明。
4. 本次结果与读图#

测试只有5个不同内禀几何,旋转后10帧;各帧6个独立分量全部纳入分量RMSE:
| 固定种子 | 使用平台 | 独立测试分量RMSE,ų/分子 |
|---|---|---|
| 13579 | P100 | 0.00520369 |
| 24680 | V10016G | 0.00311685 |
两个种子都报告,不按测试集挑选模型。因训练种子与平台同时变化,不能用两者误差差异宣称某型号GPU更准确。非对角分量可以为负,不能把负的xy误判为负极化率;应结合完整张量与本征值理解。
5. 换方向时张量怎么变#
坐标旋转R后,极化率必须按α′=RαRᵀ处理;不能只对三个对角元按矢量旋转。脚本对同一独立几何做旋转、平移、氢交换和反射对照,并比较预测是否符合这些关系。
原始电子结构标签还做了正负有限电场差分,与解析极化率核对,详情见标签准备篇。这可检查单位、分量顺序与数据提取,但不表示25个气相几何已覆盖液态水或实验响应。
本例没有计算Raman谱。要进入拉曼应用,需分别保证结构/动力学势、极化率模型和采样、时间相关函数处理的适用性。极化率模型不能直接替代能量/力势,更不能因为模型文件成功生成就假定可用于任意含水材料。