機械学習力場のツールであるDeePMD-kitで、QEのpw.xによる第一原理MD計算結果を使用してポテンシャルファイルを作成していきます。
このPartでは、QEの結果をDeePMD-kitの形式に変換し終えたところから、ポテンシャルファイルを作るところまでを解説します。
こちらの記事の続きです。
dp trainの実行
以下のコマンドでdp trainを実行します。
CPU版は以下のコマンドです。
#最初から実行する場合(並列計算したい場合は mpirun -n 8 dp train)
dp train input.json
#途中にCtrl-Cで止めたジョブを途中からリスタート実行する場合
dp train --restart model.ckpt input.json
GPU版は以下のようになります。
#最初から実行する場合
CUDA_VISIBLE_DEVICES=0 horovodrun -np 1 dp train --mpi-log=workers input.json
#途中にCtrl-Cで止めたジョブを途中からリスタート実行する場合
CUDA_VISIBLE_DEVICES=0 horovodrun -np 1 dp train --restart model.ckpt --mpi-log=workers input.json
複数のGPUがある場合はCUDA_VISIBLE_DEVICES=0,1 horovodrun -np 2 といった形になると思います。これをdockerで動かす場合は docker run –gpus=all のようなコマンドでdockerを動かす必要があります。
RTX4060Tiです。機械学習用としては微妙なスペックです。VRAMには余裕があります。
dp freeze, dp compress
学習が終わったら次はfreezeとcompressを実行します。
dp freeze -o graph.pb
dp compress -i graph.pb -o graph-compress.pb
1つ目のコマンドで graph.pb が生成され、2つ目のコマンドで graph-compress.pb が生成されます。
graph-compress.pb が機械学習力場のポテンシャルファイルです。だいたい2MBくらいになりました。
生成されたポテンシャルでMD計算
次はこの graph-compress.pb を使用してLAMMPSのMD計算を実行していきたいと思います。
コメント