5.3. [mlref] セクション¶
MC計算の結果から原子配置のみを取り出す際のオプションを設定します. 例えばニューラルネットワークモデルの精度評価と訓練データの拡張などに利用します.
以下のようなファイルフォーマットをしています.
[mlref] nreplicas = 3 ndata = 50
5.3.1. 入力形式¶
keyword = value
の形式でキーワードとその値を指定します.
また, #をつけることでコメントを入力することができます(それ以降の文字は無視されます).
5.3.2. キーワード¶
レプリカに関する指定
nreplicas
形式 : int型 (自然数)
説明 : レプリカ数を指定します.
ndata
形式 : int型 (自然数)
説明 : 取り出すデータ(原子配位)の数
sampler
形式 : 文字列 ("linspace" or "random", デフォルトは "linspace")
説明 : \(N\) 個生成されている MC サンプルから \(N_\text{data}\) のデータをどのようにして取り出すか.
"linspace"
numpy.linspace(0, N-1, num=ndata, dtype=int)
を用いて等間隔に取り出す"random"
numpy.random.choice(range(N), size=ndata, replace=False)
を用いたランダムサンプリング
5.4. [mlref.solver] セクション¶
訓練データ(配置エネルギー)の計算に用いるソルバーの設定を行います。ソルバーの種類 (VASP, QE, ...)、ソルバーへのパス、不変な入力ファイルのあるディレクトリなど(第一原理計算)ソルバーのパラメータを指定します. [sampling.solver]セクションと基本的には同様で、以下のようなファイルフォーマットをしています.
[mlref.solver] # 参照第一原理ソルバーの設定
type = 'qe'
base_input_dir = ['./baseinput_ref', './baseinput_ref', './baseinput_ref']
perturb = 0.05
ignore_species = []
5.4.1. 入力形式¶
keyword = value
の形式でキーワードとその値を指定します.
また, #をつけることでコメントを入力することができます(それ以降の文字は無視されます).
5.4.2. キーワード¶
type
形式 : str型
説明 : ソルバーの種類(
OpenMX, QE, VASP
)を指定します.
base_input_dir
形式 : str型 or str型のリスト
説明 : ベースとなる入力ファイルへのパスを指定します. リスト形式で複数設定した場合は、各々の入力を使った計算が順番に実行されます. 2番目以降の計算では、前の計算の最終ステップでの構造が初期座標として用いられ, 最後の計算のエネルギーが使用されます. 例えば、1つ目の入力ファイルで精度を犠牲にして高速な構造最適化を行い、2番目以降の入力ファイルで高精度な設定で構造最適化を行うといったことが可能にります. あるいは、格子ベクトルの緩和を行う場合に、設定した平面波カットオフに基づいて計算メッシュをリセットするために同じ入力の計算を複数回実行するといったことも可能です.
perturb
形式 : float型
説明 : 対称性が良い構造を入力にしてしまうと、構造最適化が鞍点で止まってしまいがちです.これを避けるため、各原子をこのパラメータに比例するようにランダムに変位させたものを初期構造とします. 0.0あるいはfalseに設定することも可能. デフォルト値 = 0.0.
ignore_species
形式 : list型
説明 :
aenet
などのニューラルネットワークモデルで「無視」する原子種を指定します. 常に占有率が1のものについては、ニューラルネットワークモデルの訓練および評価時に存在を無視した方が、計算効率が高くなります.