[toc]
DP-GEN (Deep Generator)是一个用Python编写的软件,精心设计用于生成基于原子间势能和力场的深度学习模型,依赖于DeepMD-kit。
下载并安装
Python >= 3.9
pip install
1
2conda activate base
pip install dpgenconda install
1
conda install -c conda-forge dpgen
git clone
1
git clone https://github.com/deepmodeling/dpgen && pip install ./dpgen
快速上手:以甲烷力场构建为例
在本地WSL-Ubuntu 20.04运行
1 | dpgen -h |
DP-GEN功能多样,包括init_bulk、init_surf、run和test
DP-GEN的run工作流是由以下三步组成的循环:
训练:DeePMD-kit同时训练 多条(一般是4条)参数初始化不同的势函数;
采样和筛选:基于训练得到的势函数和指定的初始结构利用LAMMPS进行classical MD,扩展构型空间。然后对MD中得到的构型依照特定指标(对某个构型用不同的势函数预测所得的原子力的标准差)进行筛选;
标记:将筛选所得的构型进行DFT-MD单点能计算(VASP/CP2K),得到力和能量,加入训练集进行新一轮的训练。
DP-GEN所需输入文件:
参数设置文件
param.json
:三步计算中所用的参数,具体指神经网络训练的参数,lammps中MD的参数和DFT-MD计算单点能的参数。
机器配置文件
machine.json
制定上述三个步骤分别采用什么软件、CPU/GPU、运行核数、服务器等配置。
初始训练集数据(init)
放在提交dpgen所在的服务器上,用于训练势函数,可以自己准备也可以参照DeePMD-kit中方法生成。
MD采样的初始结构
输入文件例子
param.json
1 | { |
machine.json
1 | { |
初始训练集数据
运行
1 | dpgen run param.json machine.json |
结果分析
tree ./ -L 2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22├── dpdispatcher.log
├── dpgen.log
├── INCAR_methane
├── iter.000000
│ ├── 00.train
│ ├── 01.model_devi
│ └── 02.fp
├── iter.000001
│ ├── 00.train
│ ├── 01.model_devi
│ └── 02.fp
├── iter.000002
│ └── 00.train
├── machine.json
├── machine_new.json
├── param.json
├── POTCAR_C
├── POTCAR_H
├── record.dpgen
└── temp
11 directories, 9 fileshead record.dpgen
:记录运行进程的当前阶段。0 0
0 1
0 2
0 3
0 4
0 5
0 6
0 7
0 8
1 0tail dpgen.log
:包括时间和迭代信息。2024-10-21 23:37:08,570 - INFO : ————————-iter.000001 task 07————————–
2024-10-22 00:09:21,283 - INFO : ————————-iter.000001 task 08————————–
2024-10-22 00:09:21,312 - INFO : failed frame: 0 in 20 0.00 %
2024-10-22 00:09:21,313 - INFO : failed tasks: 0 in 20 0.00 %
2024-10-22 00:09:21,357 - INFO : =============================iter.000002==============================
2024-10-22 00:09:21,357 - INFO : ————————-iter.000002 task 00————————–
2024-10-22 00:09:21,364 - INFO : ————————-iter.000002 task 01————————–
2024-10-22 00:17:52,940 - INFO : ————————-iter.000002 task 02————————–
2024-10-22 00:17:52,941 - INFO : ————————-iter.000002 task 03————————–
2024-10-22 00:17:52,941 - INFO : finished
执行LAMMPS
- 生成的四个模型文件到底用哪个?全部都用?
- 与DeepMD一致
参考
[1] https://tutorials.deepmodeling.com/en/latest/Tutorials/DP-GEN/learnDoc/DP-GEN_handson.html
[2] https://zhuanlan.zhihu.com/p/348076838
[3] https://zhuanlan.zhihu.com/p/349760551
[4] https://wiki.cheng-group.net/wiki/software_usage/DP-GEN/