ML MCONF: Difference between revisions

From VASP Wiki
No edit summary
No edit summary
 
(11 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{TAGDEF|ML_FF_MCONF|[integer]|1000}}
{{DISPLAYTITLE:ML_MCONF}}
{{TAGDEF|ML_MCONF|[integer]|see below}}


Description: This flag sets the maximum number of structures used for training in the machine learning force field method.
Description: This tag sets the maximum number of structures stored in memory that are used for training in the machine learning force field method.
----
----
In most cases the default value of 1000 should be sufficient and hence not touched. Only if the number of training set has reached 1000 in the {{TAG|ML_ABCAR}} or ({{TAG|ML_ABNCAR}}) file (look for the line ''The number of configurations'') this value should be set higher. If such thing occurs also the last training step should be repeated.
The defaults for {{TAG|ML_MCONF}} are different for each different {{TAG|ML_MODE}} setting. Here are the defaults for each mode:
*{{TAG|ML_MODE}}='TRAIN':
**No {{TAG|ML_AB}} present (learning from scratch): min(1500, max(1,{{TAG|NSW}}))
**{{TAG|ML_AB}} present (continuation of learning): MCONF_AB + min(1500, max(1,{{TAG|NSW}}))
*{{TAG|ML_MODE}}='SELECT': MCONF_AB + 1
*{{TAG|ML_MODE}}='REFIT': MCONF_AB + 1
*{{TAG|ML_MODE}}='REFITBAYESIAN': MCONF_AB + 1
*{{TAG|ML_MODE}}='RUN': 1
using the following definition:
*MCONF_AB = Number of training structures read from the {{TAG|ML_AB}} file.


== Related Tags and Sections ==
 
The default value for {{TAG|ML_MODE}}=''TRAIN'' is usually a safe value for solids and easy-to-learn liquids but should be set to a higher value as soon as it is reached. When this happens the code stops and gives an error instructing to increase {{TAG|ML_MCONF}}.
 
This flag sets also the maximum number of rows for the design matrix, which is usually a huge matrix. The design matrix is to be allocated statically at the beginning of the program since several parts of the code use MPI shared memory and dynamic reallocation of these arrays can cause severe problems on some systems. So most of the main arrays are statically allocated in the code.
 
An estimate of the design matrix and all other large arrays are printed out to the {{TAG|ML_LOGFILE}} before allocation. The design matrix is fully distributed in a block cyclic fashion for scaLAPACK and should almost perfectly linearly scale with the number of used processors.
 
== Related tags and articles ==


{{sc|ML_FF_MCONF|Examples|Examples that use this tag}}
{{sc|ML_FF_MCONF|Examples|Examples that use this tag}}
----
----
{{TAG|ML_FF_LMLFF}},{{TAG|ML_FF_MCONF_NEW}}
{{TAG|ML_LMLFF}}, {{TAG|ML_MCONF_NEW}}, {{TAG|ML_MB}}


[[Category:INCAR]][[Category:Machine Learning]][[Category:Machine Learned Force Fields]][[Category:VASP6]]
[[Category:INCAR tag]][[Category:Machine-learned force fields]][[Category:Memory]]

Latest revision as of 09:22, 28 April 2023

ML_MCONF = [integer]
Default: ML_MCONF = see below 

Description: This tag sets the maximum number of structures stored in memory that are used for training in the machine learning force field method.


The defaults for ML_MCONF are different for each different ML_MODE setting. Here are the defaults for each mode:

  • ML_MODE='TRAIN':
    • No ML_AB present (learning from scratch): min(1500, max(1,NSW))
    • ML_AB present (continuation of learning): MCONF_AB + min(1500, max(1,NSW))
  • ML_MODE='SELECT': MCONF_AB + 1
  • ML_MODE='REFIT': MCONF_AB + 1
  • ML_MODE='REFITBAYESIAN': MCONF_AB + 1
  • ML_MODE='RUN': 1

using the following definition:

  • MCONF_AB = Number of training structures read from the ML_AB file.


The default value for ML_MODE=TRAIN is usually a safe value for solids and easy-to-learn liquids but should be set to a higher value as soon as it is reached. When this happens the code stops and gives an error instructing to increase ML_MCONF.

This flag sets also the maximum number of rows for the design matrix, which is usually a huge matrix. The design matrix is to be allocated statically at the beginning of the program since several parts of the code use MPI shared memory and dynamic reallocation of these arrays can cause severe problems on some systems. So most of the main arrays are statically allocated in the code.

An estimate of the design matrix and all other large arrays are printed out to the ML_LOGFILE before allocation. The design matrix is fully distributed in a block cyclic fashion for scaLAPACK and should almost perfectly linearly scale with the number of used processors.

Related tags and articles

Examples that use this tag


ML_LMLFF, ML_MCONF_NEW, ML_MB