Arguments of the input script

Host and nodes

name:
type: str, optional, default: pfd
argument path: name

The workflow name, ‘pfd’ for default

dflow_config:
type: NoneType | dict, optional, default: None
argument path: dflow_config

The configuration passed to dflow

dflow_s3_config:
type: NoneType | dict, optional, default: None
argument path: dflow_s3_config

The S3 configuration passed to dflow

default_step_config:
type: dict, optional, default: {}
argument path: default_step_config

The default step configuration.

template_config:
type: dict, optional, default: {'image': 'dptechnology/dpgen2:latest'}
argument path: default_step_config/template_config

The configs passed to the PythonOPTemplate.

image:
type: str, optional, default: dptechnology/dpgen2:latest
argument path: default_step_config/template_config/image

The image to run the step.

timeout:
type: int | NoneType, optional, default: None
argument path: default_step_config/template_config/timeout

The time limit of the OP. Unit is second.

retry_on_transient_error:
type: int | NoneType, optional, default: None
argument path: default_step_config/template_config/retry_on_transient_error

The number of retry times if a TransientError is raised.

timeout_as_transient_error:
type: bool, optional, default: False
argument path: default_step_config/template_config/timeout_as_transient_error

Treat the timeout as TransientError.

envs:
type: NoneType | dict, optional, default: None
argument path: default_step_config/template_config/envs

The environmental variables.

template_slice_config:
type: dict, optional
argument path: default_step_config/template_slice_config

The configs passed to the Slices.

group_size:
type: int | NoneType, optional, default: None
argument path: default_step_config/template_slice_config/group_size

The number of tasks running on a single node. It is efficient for a large number of short tasks.

pool_size:
type: int | NoneType, optional, default: None
argument path: default_step_config/template_slice_config/pool_size

The number of tasks running at the same time on one node.

continue_on_failed:
type: bool, optional, default: False
argument path: default_step_config/continue_on_failed

If continue the the step is failed (FatalError, TransientError, A certain number of retrial is reached…).

continue_on_num_success:
type: int | NoneType, optional, default: None
argument path: default_step_config/continue_on_num_success

Only in the sliced OP case. Continue the workflow if a certain number of the sliced jobs are successful.

continue_on_success_ratio:
type: float | NoneType, optional, default: None
argument path: default_step_config/continue_on_success_ratio

Only in the sliced OP case. Continue the workflow if a certain ratio of the sliced jobs are successful.

parallelism:
type: int | NoneType, optional, default: None
argument path: default_step_config/parallelism

The parallelism for the step

executor:
type: NoneType | dict, optional, default: None
argument path: default_step_config/executor

The executor of the step.

Depending on the value of type, different sub args are accepted.

type:
type: str (flag key)
argument path: default_step_config/executor/type
possible choices: dispatcher

The type of the executor.

When type is set to dispatcher:

parallelism:
type: int | NoneType, optional, default: None
argument path: parallelism

The parallelism for the workflow. Accept an int that stands for the maximum number of running pods for the workflow. None for default

bohrium_config:
type: NoneType | dict, optional, default: None
argument path: bohrium_config

Configurations for the Bohrium platform.

username:
type: str
argument path: bohrium_config/username

The username of the Bohrium platform

password:
type: str, optional
argument path: bohrium_config/password

The password of the Bohrium platform

project_id:
type: int
argument path: bohrium_config/project_id

The project ID of the Bohrium platform

ticket:
type: str, optional
argument path: bohrium_config/ticket
host:
type: str, optional, default: https://workflows.deepmodeling.com
argument path: bohrium_config/host

The host name of the Bohrium platform. Will overwrite dflow_config[‘host’]

k8s_api_server:
type: str, optional, default: https://workflows.deepmodeling.com
argument path: bohrium_config/k8s_api_server

The k8s server of the Bohrium platform. Will overwrite dflow_config[‘k8s_api_server’]

repo_key:
type: str, optional, default: oss-bohrium
argument path: bohrium_config/repo_key

The repo key of the Bohrium platform. Will overwrite dflow_s3_config[‘repo_key’]

storage_client:
type: str, optional, default: dflow.plugins.bohrium.TiefblueClient
argument path: bohrium_config/storage_client

The storage client of the Bohrium platform. Will overwrite dflow_s3_config[‘storage_client’]

step_configs:
type: dict, optional, default: {}
argument path: step_configs

Configurations for executing dflow steps

prep_train_config:
type: dict, optional, default: {'template_config': {'image': 'dptechnology/dpgen2:latest', 'timeout': None, 'retry_on_transient_error': None, 'timeout_as_transient_error': False, 'envs': None}, 'continue_on_failed': False, 'continue_on_num_success': None, 'continue_on_success_ratio': None, 'parallelism': None, 'executor': None}
argument path: step_configs/prep_train_config

Configuration for prepare train

template_config:
type: dict, optional, default: {'image': 'dptechnology/dpgen2:latest'}
argument path: step_configs/prep_train_config/template_config

The configs passed to the PythonOPTemplate.

image:
type: str, optional, default: dptechnology/dpgen2:latest
argument path: step_configs/prep_train_config/template_config/image

The image to run the step.

timeout:
type: int | NoneType, optional, default: None
argument path: step_configs/prep_train_config/template_config/timeout

The time limit of the OP. Unit is second.

retry_on_transient_error:
type: int | NoneType, optional, default: None
argument path: step_configs/prep_train_config/template_config/retry_on_transient_error

The number of retry times if a TransientError is raised.

timeout_as_transient_error:
type: bool, optional, default: False
argument path: step_configs/prep_train_config/template_config/timeout_as_transient_error

Treat the timeout as TransientError.

envs:
type: NoneType | dict, optional, default: None
argument path: step_configs/prep_train_config/template_config/envs

The environmental variables.

template_slice_config:
type: dict, optional
argument path: step_configs/prep_train_config/template_slice_config

The configs passed to the Slices.

group_size:
type: int | NoneType, optional, default: None
argument path: step_configs/prep_train_config/template_slice_config/group_size

The number of tasks running on a single node. It is efficient for a large number of short tasks.

pool_size:
type: int | NoneType, optional, default: None
argument path: step_configs/prep_train_config/template_slice_config/pool_size

The number of tasks running at the same time on one node.

continue_on_failed:
type: bool, optional, default: False
argument path: step_configs/prep_train_config/continue_on_failed

If continue the the step is failed (FatalError, TransientError, A certain number of retrial is reached…).

continue_on_num_success:
type: int | NoneType, optional, default: None
argument path: step_configs/prep_train_config/continue_on_num_success

Only in the sliced OP case. Continue the workflow if a certain number of the sliced jobs are successful.

continue_on_success_ratio:
type: float | NoneType, optional, default: None
argument path: step_configs/prep_train_config/continue_on_success_ratio

Only in the sliced OP case. Continue the workflow if a certain ratio of the sliced jobs are successful.

parallelism:
type: int | NoneType, optional, default: None
argument path: step_configs/prep_train_config/parallelism

The parallelism for the step

executor:
type: NoneType | dict, optional, default: None
argument path: step_configs/prep_train_config/executor

The executor of the step.

Depending on the value of type, different sub args are accepted.

type:
type: str (flag key)
argument path: step_configs/prep_train_config/executor/type
possible choices: dispatcher

The type of the executor.

When type is set to dispatcher:

run_train_config:
type: dict, optional, default: {'template_config': {'image': 'dptechnology/dpgen2:latest', 'timeout': None, 'retry_on_transient_error': None, 'timeout_as_transient_error': False, 'envs': None}, 'continue_on_failed': False, 'continue_on_num_success': None, 'continue_on_success_ratio': None, 'parallelism': None, 'executor': None}
argument path: step_configs/run_train_config

Configuration for run train

template_config:
type: dict, optional, default: {'image': 'dptechnology/dpgen2:latest'}
argument path: step_configs/run_train_config/template_config

The configs passed to the PythonOPTemplate.

image:
type: str, optional, default: dptechnology/dpgen2:latest
argument path: step_configs/run_train_config/template_config/image

The image to run the step.

timeout:
type: int | NoneType, optional, default: None
argument path: step_configs/run_train_config/template_config/timeout

The time limit of the OP. Unit is second.

retry_on_transient_error:
type: int | NoneType, optional, default: None
argument path: step_configs/run_train_config/template_config/retry_on_transient_error

The number of retry times if a TransientError is raised.

timeout_as_transient_error:
type: bool, optional, default: False
argument path: step_configs/run_train_config/template_config/timeout_as_transient_error

Treat the timeout as TransientError.

envs:
type: NoneType | dict, optional, default: None
argument path: step_configs/run_train_config/template_config/envs

The environmental variables.

template_slice_config:
type: dict, optional
argument path: step_configs/run_train_config/template_slice_config

The configs passed to the Slices.

group_size:
type: int | NoneType, optional, default: None
argument path: step_configs/run_train_config/template_slice_config/group_size

The number of tasks running on a single node. It is efficient for a large number of short tasks.

pool_size:
type: int | NoneType, optional, default: None
argument path: step_configs/run_train_config/template_slice_config/pool_size

The number of tasks running at the same time on one node.

continue_on_failed:
type: bool, optional, default: False
argument path: step_configs/run_train_config/continue_on_failed

If continue the the step is failed (FatalError, TransientError, A certain number of retrial is reached…).

continue_on_num_success:
type: int | NoneType, optional, default: None
argument path: step_configs/run_train_config/continue_on_num_success

Only in the sliced OP case. Continue the workflow if a certain number of the sliced jobs are successful.

continue_on_success_ratio:
type: float | NoneType, optional, default: None
argument path: step_configs/run_train_config/continue_on_success_ratio

Only in the sliced OP case. Continue the workflow if a certain ratio of the sliced jobs are successful.

parallelism:
type: int | NoneType, optional, default: None
argument path: step_configs/run_train_config/parallelism

The parallelism for the step

executor:
type: NoneType | dict, optional, default: None
argument path: step_configs/run_train_config/executor

The executor of the step.

Depending on the value of type, different sub args are accepted.

type:
type: str (flag key)
argument path: step_configs/run_train_config/executor/type
possible choices: dispatcher

The type of the executor.

When type is set to dispatcher:

prep_explore_config:
type: dict, optional, default: {'template_config': {'image': 'dptechnology/dpgen2:latest', 'timeout': None, 'retry_on_transient_error': None, 'timeout_as_transient_error': False, 'envs': None}, 'continue_on_failed': False, 'continue_on_num_success': None, 'continue_on_success_ratio': None, 'parallelism': None, 'executor': None}
argument path: step_configs/prep_explore_config

Configuration for prepare exploration

template_config:
type: dict, optional, default: {'image': 'dptechnology/dpgen2:latest'}
argument path: step_configs/prep_explore_config/template_config

The configs passed to the PythonOPTemplate.

image:
type: str, optional, default: dptechnology/dpgen2:latest
argument path: step_configs/prep_explore_config/template_config/image

The image to run the step.

timeout:
type: int | NoneType, optional, default: None
argument path: step_configs/prep_explore_config/template_config/timeout

The time limit of the OP. Unit is second.

retry_on_transient_error:
type: int | NoneType, optional, default: None
argument path: step_configs/prep_explore_config/template_config/retry_on_transient_error

The number of retry times if a TransientError is raised.

timeout_as_transient_error:
type: bool, optional, default: False
argument path: step_configs/prep_explore_config/template_config/timeout_as_transient_error

Treat the timeout as TransientError.

envs:
type: NoneType | dict, optional, default: None
argument path: step_configs/prep_explore_config/template_config/envs

The environmental variables.

template_slice_config:
type: dict, optional
argument path: step_configs/prep_explore_config/template_slice_config

The configs passed to the Slices.

group_size:
type: int | NoneType, optional, default: None
argument path: step_configs/prep_explore_config/template_slice_config/group_size

The number of tasks running on a single node. It is efficient for a large number of short tasks.

pool_size:
type: int | NoneType, optional, default: None
argument path: step_configs/prep_explore_config/template_slice_config/pool_size

The number of tasks running at the same time on one node.

continue_on_failed:
type: bool, optional, default: False
argument path: step_configs/prep_explore_config/continue_on_failed

If continue the the step is failed (FatalError, TransientError, A certain number of retrial is reached…).

continue_on_num_success:
type: int | NoneType, optional, default: None
argument path: step_configs/prep_explore_config/continue_on_num_success

Only in the sliced OP case. Continue the workflow if a certain number of the sliced jobs are successful.

continue_on_success_ratio:
type: float | NoneType, optional, default: None
argument path: step_configs/prep_explore_config/continue_on_success_ratio

Only in the sliced OP case. Continue the workflow if a certain ratio of the sliced jobs are successful.

parallelism:
type: int | NoneType, optional, default: None
argument path: step_configs/prep_explore_config/parallelism

The parallelism for the step

executor:
type: NoneType | dict, optional, default: None
argument path: step_configs/prep_explore_config/executor

The executor of the step.

Depending on the value of type, different sub args are accepted.

type:
type: str (flag key)
argument path: step_configs/prep_explore_config/executor/type
possible choices: dispatcher

The type of the executor.

When type is set to dispatcher:

run_explore_config:
type: dict, optional, default: {'template_config': {'image': 'dptechnology/dpgen2:latest', 'timeout': None, 'retry_on_transient_error': None, 'timeout_as_transient_error': False, 'envs': None}, 'continue_on_failed': False, 'continue_on_num_success': None, 'continue_on_success_ratio': None, 'parallelism': None, 'executor': None}
argument path: step_configs/run_explore_config

Configuration for run exploration

template_config:
type: dict, optional, default: {'image': 'dptechnology/dpgen2:latest'}
argument path: step_configs/run_explore_config/template_config

The configs passed to the PythonOPTemplate.

image:
type: str, optional, default: dptechnology/dpgen2:latest
argument path: step_configs/run_explore_config/template_config/image

The image to run the step.

timeout:
type: int | NoneType, optional, default: None
argument path: step_configs/run_explore_config/template_config/timeout

The time limit of the OP. Unit is second.

retry_on_transient_error:
type: int | NoneType, optional, default: None
argument path: step_configs/run_explore_config/template_config/retry_on_transient_error

The number of retry times if a TransientError is raised.

timeout_as_transient_error:
type: bool, optional, default: False
argument path: step_configs/run_explore_config/template_config/timeout_as_transient_error

Treat the timeout as TransientError.

envs:
type: NoneType | dict, optional, default: None
argument path: step_configs/run_explore_config/template_config/envs

The environmental variables.

template_slice_config:
type: dict, optional
argument path: step_configs/run_explore_config/template_slice_config

The configs passed to the Slices.

group_size:
type: int | NoneType, optional, default: None
argument path: step_configs/run_explore_config/template_slice_config/group_size

The number of tasks running on a single node. It is efficient for a large number of short tasks.

pool_size:
type: int | NoneType, optional, default: None
argument path: step_configs/run_explore_config/template_slice_config/pool_size

The number of tasks running at the same time on one node.

continue_on_failed:
type: bool, optional, default: False
argument path: step_configs/run_explore_config/continue_on_failed

If continue the the step is failed (FatalError, TransientError, A certain number of retrial is reached…).

continue_on_num_success:
type: int | NoneType, optional, default: None
argument path: step_configs/run_explore_config/continue_on_num_success

Only in the sliced OP case. Continue the workflow if a certain number of the sliced jobs are successful.

continue_on_success_ratio:
type: float | NoneType, optional, default: None
argument path: step_configs/run_explore_config/continue_on_success_ratio

Only in the sliced OP case. Continue the workflow if a certain ratio of the sliced jobs are successful.

parallelism:
type: int | NoneType, optional, default: None
argument path: step_configs/run_explore_config/parallelism

The parallelism for the step

executor:
type: NoneType | dict, optional, default: None
argument path: step_configs/run_explore_config/executor

The executor of the step.

Depending on the value of type, different sub args are accepted.

type:
type: str (flag key)
argument path: step_configs/run_explore_config/executor/type
possible choices: dispatcher

The type of the executor.

When type is set to dispatcher:

prep_fp_config:
type: dict, optional, default: {'template_config': {'image': 'dptechnology/dpgen2:latest', 'timeout': None, 'retry_on_transient_error': None, 'timeout_as_transient_error': False, 'envs': None}, 'continue_on_failed': False, 'continue_on_num_success': None, 'continue_on_success_ratio': None, 'parallelism': None, 'executor': None}
argument path: step_configs/prep_fp_config

Configuration for prepare fp

template_config:
type: dict, optional, default: {'image': 'dptechnology/dpgen2:latest'}
argument path: step_configs/prep_fp_config/template_config

The configs passed to the PythonOPTemplate.

image:
type: str, optional, default: dptechnology/dpgen2:latest
argument path: step_configs/prep_fp_config/template_config/image

The image to run the step.

timeout:
type: int | NoneType, optional, default: None
argument path: step_configs/prep_fp_config/template_config/timeout

The time limit of the OP. Unit is second.

retry_on_transient_error:
type: int | NoneType, optional, default: None
argument path: step_configs/prep_fp_config/template_config/retry_on_transient_error

The number of retry times if a TransientError is raised.

timeout_as_transient_error:
type: bool, optional, default: False
argument path: step_configs/prep_fp_config/template_config/timeout_as_transient_error

Treat the timeout as TransientError.

envs:
type: NoneType | dict, optional, default: None
argument path: step_configs/prep_fp_config/template_config/envs

The environmental variables.

template_slice_config:
type: dict, optional
argument path: step_configs/prep_fp_config/template_slice_config

The configs passed to the Slices.

group_size:
type: int | NoneType, optional, default: None
argument path: step_configs/prep_fp_config/template_slice_config/group_size

The number of tasks running on a single node. It is efficient for a large number of short tasks.

pool_size:
type: int | NoneType, optional, default: None
argument path: step_configs/prep_fp_config/template_slice_config/pool_size

The number of tasks running at the same time on one node.

continue_on_failed:
type: bool, optional, default: False
argument path: step_configs/prep_fp_config/continue_on_failed

If continue the the step is failed (FatalError, TransientError, A certain number of retrial is reached…).

continue_on_num_success:
type: int | NoneType, optional, default: None
argument path: step_configs/prep_fp_config/continue_on_num_success

Only in the sliced OP case. Continue the workflow if a certain number of the sliced jobs are successful.

continue_on_success_ratio:
type: float | NoneType, optional, default: None
argument path: step_configs/prep_fp_config/continue_on_success_ratio

Only in the sliced OP case. Continue the workflow if a certain ratio of the sliced jobs are successful.

parallelism:
type: int | NoneType, optional, default: None
argument path: step_configs/prep_fp_config/parallelism

The parallelism for the step

executor:
type: NoneType | dict, optional, default: None
argument path: step_configs/prep_fp_config/executor

The executor of the step.

Depending on the value of type, different sub args are accepted.

type:
type: str (flag key)
argument path: step_configs/prep_fp_config/executor/type
possible choices: dispatcher

The type of the executor.

When type is set to dispatcher:

run_fp_config:
type: dict, optional, default: {'template_config': {'image': 'dptechnology/dpgen2:latest', 'timeout': None, 'retry_on_transient_error': None, 'timeout_as_transient_error': False, 'envs': None}, 'continue_on_failed': False, 'continue_on_num_success': None, 'continue_on_success_ratio': None, 'parallelism': None, 'executor': None}
argument path: step_configs/run_fp_config

Configuration for run fp

template_config:
type: dict, optional, default: {'image': 'dptechnology/dpgen2:latest'}
argument path: step_configs/run_fp_config/template_config

The configs passed to the PythonOPTemplate.

image:
type: str, optional, default: dptechnology/dpgen2:latest
argument path: step_configs/run_fp_config/template_config/image

The image to run the step.

timeout:
type: int | NoneType, optional, default: None
argument path: step_configs/run_fp_config/template_config/timeout

The time limit of the OP. Unit is second.

retry_on_transient_error:
type: int | NoneType, optional, default: None
argument path: step_configs/run_fp_config/template_config/retry_on_transient_error

The number of retry times if a TransientError is raised.

timeout_as_transient_error:
type: bool, optional, default: False
argument path: step_configs/run_fp_config/template_config/timeout_as_transient_error

Treat the timeout as TransientError.

envs:
type: NoneType | dict, optional, default: None
argument path: step_configs/run_fp_config/template_config/envs

The environmental variables.

template_slice_config:
type: dict, optional
argument path: step_configs/run_fp_config/template_slice_config

The configs passed to the Slices.

group_size:
type: int | NoneType, optional, default: None
argument path: step_configs/run_fp_config/template_slice_config/group_size

The number of tasks running on a single node. It is efficient for a large number of short tasks.

pool_size:
type: int | NoneType, optional, default: None
argument path: step_configs/run_fp_config/template_slice_config/pool_size

The number of tasks running at the same time on one node.

continue_on_failed:
type: bool, optional, default: False
argument path: step_configs/run_fp_config/continue_on_failed

If continue the the step is failed (FatalError, TransientError, A certain number of retrial is reached…).

continue_on_num_success:
type: int | NoneType, optional, default: None
argument path: step_configs/run_fp_config/continue_on_num_success

Only in the sliced OP case. Continue the workflow if a certain number of the sliced jobs are successful.

continue_on_success_ratio:
type: float | NoneType, optional, default: None
argument path: step_configs/run_fp_config/continue_on_success_ratio

Only in the sliced OP case. Continue the workflow if a certain ratio of the sliced jobs are successful.

parallelism:
type: int | NoneType, optional, default: None
argument path: step_configs/run_fp_config/parallelism

The parallelism for the step

executor:
type: NoneType | dict, optional, default: None
argument path: step_configs/run_fp_config/executor

The executor of the step.

Depending on the value of type, different sub args are accepted.

type:
type: str (flag key)
argument path: step_configs/run_fp_config/executor/type
possible choices: dispatcher

The type of the executor.

When type is set to dispatcher:

select_confs_config:
type: dict, optional, default: {'template_config': {'image': 'dptechnology/dpgen2:latest', 'timeout': None, 'retry_on_transient_error': None, 'timeout_as_transient_error': False, 'envs': None}, 'continue_on_failed': False, 'continue_on_num_success': None, 'continue_on_success_ratio': None, 'parallelism': None, 'executor': None}
argument path: step_configs/select_confs_config

Configuration for the select confs

template_config:
type: dict, optional, default: {'image': 'dptechnology/dpgen2:latest'}
argument path: step_configs/select_confs_config/template_config

The configs passed to the PythonOPTemplate.

image:
type: str, optional, default: dptechnology/dpgen2:latest
argument path: step_configs/select_confs_config/template_config/image

The image to run the step.

timeout:
type: int | NoneType, optional, default: None
argument path: step_configs/select_confs_config/template_config/timeout

The time limit of the OP. Unit is second.

retry_on_transient_error:
type: int | NoneType, optional, default: None
argument path: step_configs/select_confs_config/template_config/retry_on_transient_error

The number of retry times if a TransientError is raised.

timeout_as_transient_error:
type: bool, optional, default: False
argument path: step_configs/select_confs_config/template_config/timeout_as_transient_error

Treat the timeout as TransientError.

envs:
type: NoneType | dict, optional, default: None
argument path: step_configs/select_confs_config/template_config/envs

The environmental variables.

template_slice_config:
type: dict, optional
argument path: step_configs/select_confs_config/template_slice_config

The configs passed to the Slices.

group_size:
type: int | NoneType, optional, default: None
argument path: step_configs/select_confs_config/template_slice_config/group_size

The number of tasks running on a single node. It is efficient for a large number of short tasks.

pool_size:
type: int | NoneType, optional, default: None
argument path: step_configs/select_confs_config/template_slice_config/pool_size

The number of tasks running at the same time on one node.

continue_on_failed:
type: bool, optional, default: False
argument path: step_configs/select_confs_config/continue_on_failed

If continue the the step is failed (FatalError, TransientError, A certain number of retrial is reached…).

continue_on_num_success:
type: int | NoneType, optional, default: None
argument path: step_configs/select_confs_config/continue_on_num_success

Only in the sliced OP case. Continue the workflow if a certain number of the sliced jobs are successful.

continue_on_success_ratio:
type: float | NoneType, optional, default: None
argument path: step_configs/select_confs_config/continue_on_success_ratio

Only in the sliced OP case. Continue the workflow if a certain ratio of the sliced jobs are successful.

parallelism:
type: int | NoneType, optional, default: None
argument path: step_configs/select_confs_config/parallelism

The parallelism for the step

executor:
type: NoneType | dict, optional, default: None
argument path: step_configs/select_confs_config/executor

The executor of the step.

Depending on the value of type, different sub args are accepted.

type:
type: str (flag key)
argument path: step_configs/select_confs_config/executor/type
possible choices: dispatcher

The type of the executor.

When type is set to dispatcher:

collect_data_config:
type: dict, optional, default: {'template_config': {'image': 'dptechnology/dpgen2:latest', 'timeout': None, 'retry_on_transient_error': None, 'timeout_as_transient_error': False, 'envs': None}, 'continue_on_failed': False, 'continue_on_num_success': None, 'continue_on_success_ratio': None, 'parallelism': None, 'executor': None}
argument path: step_configs/collect_data_config

Configuration for the collect data

template_config:
type: dict, optional, default: {'image': 'dptechnology/dpgen2:latest'}
argument path: step_configs/collect_data_config/template_config

The configs passed to the PythonOPTemplate.

image:
type: str, optional, default: dptechnology/dpgen2:latest
argument path: step_configs/collect_data_config/template_config/image

The image to run the step.

timeout:
type: int | NoneType, optional, default: None
argument path: step_configs/collect_data_config/template_config/timeout

The time limit of the OP. Unit is second.

retry_on_transient_error:
type: int | NoneType, optional, default: None
argument path: step_configs/collect_data_config/template_config/retry_on_transient_error

The number of retry times if a TransientError is raised.

timeout_as_transient_error:
type: bool, optional, default: False
argument path: step_configs/collect_data_config/template_config/timeout_as_transient_error

Treat the timeout as TransientError.

envs:
type: NoneType | dict, optional, default: None
argument path: step_configs/collect_data_config/template_config/envs

The environmental variables.

template_slice_config:
type: dict, optional
argument path: step_configs/collect_data_config/template_slice_config

The configs passed to the Slices.

group_size:
type: int | NoneType, optional, default: None
argument path: step_configs/collect_data_config/template_slice_config/group_size

The number of tasks running on a single node. It is efficient for a large number of short tasks.

pool_size:
type: int | NoneType, optional, default: None
argument path: step_configs/collect_data_config/template_slice_config/pool_size

The number of tasks running at the same time on one node.

continue_on_failed:
type: bool, optional, default: False
argument path: step_configs/collect_data_config/continue_on_failed

If continue the the step is failed (FatalError, TransientError, A certain number of retrial is reached…).

continue_on_num_success:
type: int | NoneType, optional, default: None
argument path: step_configs/collect_data_config/continue_on_num_success

Only in the sliced OP case. Continue the workflow if a certain number of the sliced jobs are successful.

continue_on_success_ratio:
type: float | NoneType, optional, default: None
argument path: step_configs/collect_data_config/continue_on_success_ratio

Only in the sliced OP case. Continue the workflow if a certain ratio of the sliced jobs are successful.

parallelism:
type: int | NoneType, optional, default: None
argument path: step_configs/collect_data_config/parallelism

The parallelism for the step

executor:
type: NoneType | dict, optional, default: None
argument path: step_configs/collect_data_config/executor

The executor of the step.

Depending on the value of type, different sub args are accepted.

type:
type: str (flag key)
argument path: step_configs/collect_data_config/executor/type
possible choices: dispatcher

The type of the executor.

When type is set to dispatcher:

upload_python_packages:
type: str | NoneType | typing.List[str], optional, default: None, alias: upload_python_package
argument path: upload_python_packages

Upload python package, for debug purpose

Task definition

task:
type: dict
argument path: task

Task type, finetune or dist

Depending on the value of type, different sub args are accepted.

type:
type: str (flag key)
argument path: task/type
possible choices: finetune, dist, data_gen

When type is set to finetune (or its alias ft):

init_training:
type: bool, optional, default: False
argument path: task[finetune]/init_training

Training before exploration

skip_aimd:
type: bool, optional, default: True
argument path: task[finetune]/skip_aimd

Skip aimd exploration

recursive:
type: bool, optional, default: False
argument path: task[finetune]/recursive

Start training from the output model of the last iteration

When type is set to dist (or its alias distillation):

When type is set to data_gen (or its alias data generation):

inputs:
type: dict
argument path: inputs

The input parameter and artifacts for pfd

type_map:
type: typing.List[str]
argument path: inputs/type_map

The type map. e.g. [“Al”, “Mg”]. Element in dpdata format.

mass_map:
type: typing.List[float], optional
argument path: inputs/mass_map

The mass map. e.g. [27., 24.]. Al and Mg will be set with mass 27. and 24. amu, respectively.

init_data_prefix:
type: str | NoneType, optional, default: None
argument path: inputs/init_data_prefix

The prefix of initial data systems

init_data_sys:
type: str | NoneType | typing.List[str], optional, default: None
argument path: inputs/init_data_sys

The inital data systems

init_data_uri:
type: str | NoneType, optional, default: None
argument path: inputs/init_data_uri

The URI of initial data

valid_data_prefix:
type: str | NoneType, optional, default: None
argument path: inputs/valid_data_prefix

The prefix of validation data systems

valid_data_sys:
type: str | NoneType | typing.List[str], optional, default: None
argument path: inputs/valid_data_sys

The validation data systems

valid_data_uri:
type: str | NoneType, optional, default: None
argument path: inputs/valid_data_uri

The URI of validation data

base_model_path:
type: str | NoneType | typing.List[str], optional, default: None, aliases: teacher_model_path, pretrain_model_path, teacher_models_paths
argument path: inputs/base_model_path

Path to the base model.In finetune task, this is the path to the pretrained model.In distillation task, this is the path to the teacher model.

base_model_uri:
type: str | NoneType, optional, default: None, aliases: teacher_model_uri, pretrain_model_uri
argument path: inputs/base_model_uri

URI of the base model.

base_model_style:
type: str, optional, default: dp, alias: teacher_model_style
argument path: inputs/base_model_style

Type of the base model

Structure generation

conf_generation:
type: dict, alias: configurations
argument path: conf_generation

The inputparameter and artifacts for confs generation

init_confs:
type: dict, aliases: confs, init_configurations
argument path: conf_generation/init_confs

The initial configurations for PFD workflow

prefix:
type: str | NoneType, optional, default: None
argument path: conf_generation/init_confs/prefix
fmt:
type: str, optional, default: vasp/poscar
argument path: conf_generation/init_confs/fmt

Format of input structure files

confs_paths:
type: str | typing.List[str], optional, alias: files
argument path: conf_generation/init_confs/confs_paths
confs_uri:
type: str | NoneType | typing.List[str], optional, default: None
argument path: conf_generation/init_confs/confs_uri
pert_generation:
type: typing.List[dict] | dict, optional, default: {}
argument path: conf_generation/pert_generation

Structure perturbation settings. A list of multiple perturbation settings can also be supplied if neccesarry.

conf_idx:
type: str | typing.List[int], optional, default: default
argument path: conf_generation/pert_generation/conf_idx
atom_pert_distance:
type: float, optional, default: 0.0
argument path: conf_generation/pert_generation/atom_pert_distance

Perturb distance for atoms, in Angstrom.

orig:
type: bool, optional, default: False
argument path: conf_generation/pert_generation/orig

Include unperturbed structures.

cell_pert_fraction:
type: float, optional, default: 0.0
argument path: conf_generation/pert_generation/cell_pert_fraction

The amount of lattice contraction or extension, relative to original lattice constant.

pert_num:
type: int, optional, default: 1
argument path: conf_generation/pert_generation/pert_num

Number of perturbed structures

replicate:
type: typing.List[int] | int, optional, default: 1
argument path: conf_generation/pert_generation/replicate

Generate supercell by lattice replication. Either an integer number or a list of three integers. If an integer is given, the lattice is replicated uniformly in all three directions.

Model training

train:
type: dict
argument path: train

The configuration for training

Depending on the value of type, different sub args are accepted.

type:
type: str (flag key)
argument path: train/type
possible choices: dp

the type of the training model

When type is set to dp:

config:
type: dict, optional, default: {'command': 'dp', 'impl': 'tensorflow', 'init_model_policy': 'no', 'init_model_old_ratio': 0.9, 'init_model_numb_steps': 400000, 'init_model_start_lr': 0.0001, 'init_model_start_pref_e': 0.1, 'init_model_start_pref_f': 100, 'init_model_start_pref_v': 0.0, 'init_model_with_finetune': False, 'finetune_args': '', 'multitask': False, 'head': None, 'train_args': ''}
argument path: train[dp]/config

Configuration of training

command:
type: str, optional, default: dp
argument path: train[dp]/config/command

The command for DP, ‘dp’ for default

impl:
type: str, optional, default: tensorflow, alias: backend
argument path: train[dp]/config/impl

The implementation/backend of DP. It can be ‘tensorflow’ or ‘pytorch’. ‘tensorflow’ for default.

init_model_policy:
type: str, optional, default: no
argument path: train[dp]/config/init_model_policy

The policy of init-model training. It can be

  • ‘no’: No init-model training. Traing from scratch.

  • ‘yes’: Do init-model training.

  • ‘old_data_larger_than:XXX’: Do init-model if the training data size of the previous model is larger than XXX. XXX is an int number.

init_model_old_ratio:
type: float, optional, default: 0.9
argument path: train[dp]/config/init_model_old_ratio

The frequency ratio of old data over new data

init_model_numb_steps:
type: int, optional, default: 400000, alias: init_model_stop_batch
argument path: train[dp]/config/init_model_numb_steps

The number of training steps when init-model

init_model_start_lr:
type: float, optional, default: 0.0001
argument path: train[dp]/config/init_model_start_lr

The start learning rate when init-model

init_model_start_pref_e:
type: float, optional, default: 0.1
argument path: train[dp]/config/init_model_start_pref_e

The start energy prefactor in loss when init-model

init_model_start_pref_f:
type: float, optional, default: 100
argument path: train[dp]/config/init_model_start_pref_f

The start force prefactor in loss when init-model

init_model_start_pref_v:
type: float, optional, default: 0.0
argument path: train[dp]/config/init_model_start_pref_v

The start virial prefactor in loss when init-model

init_model_with_finetune:
type: bool, optional, default: False
argument path: train[dp]/config/init_model_with_finetune

Use finetune for init model

finetune_args:
type: str, optional, default: (empty string)
argument path: train[dp]/config/finetune_args

Extra arguments for finetuning

multitask:
type: bool, optional, default: False
argument path: train[dp]/config/multitask

Do multitask training

head:
type: str | NoneType, optional, default: None
argument path: train[dp]/config/head

Head to use in the multitask training

train_args:
type: str, optional, default: (empty string)
argument path: train[dp]/config/train_args

Extra arguments for dp train

numb_models:
type: int, optional, default: 1
argument path: train[dp]/numb_models

Number of models trained for evaluating the model deviation

template_script:
type: str | dict | typing.List[str], optional, default: {}
argument path: train[dp]/template_script

File names of the template training script. It can be a List[str], the length of which is the same as numb_models. Each template script in the list is used to train a model. Can be a str, the models share the same template training script.

init_models_paths:
type: NoneType | typing.List[str], optional, default: None, alias: training_iter0_model_path
argument path: train[dp]/init_models_paths

the paths to initial models

init_models_uri:
type: str | NoneType, optional, default: None
argument path: train[dp]/init_models_uri

The URI of initial models

optional_files:
type: list | NoneType, optional, default: None
argument path: train[dp]/optional_files

Optional files for training

Inference & labeling

fp:
type: dict, optional
argument path: fp

The configuration for FP

Depending on the value of type, different sub args are accepted.

type:
type: str (flag key)
argument path: fp/type
possible choices: vasp, gaussian, deepmd, fpop_abacus, fpop_cp2k

the type of the fp

When type is set to vasp:

inputs_config:
type: dict
argument path: fp[vasp]/inputs_config

Configuration for preparing vasp inputs

incar:
type: str
argument path: fp[vasp]/inputs_config/incar

The path to the template incar file

pp_files:
type: dict
argument path: fp[vasp]/inputs_config/pp_files

The pseudopotential files set by a dict, e.g. {“Al” : “path/to/the/al/pp/file”, “Mg” : “path/to/the/mg/pp/file”}

kspacing:
type: float
argument path: fp[vasp]/inputs_config/kspacing

The spacing of k-point sampling. ksapcing will overwrite the incar template

kgamma:
type: bool, optional, default: True
argument path: fp[vasp]/inputs_config/kgamma

If the k-mesh includes the gamma point. kgamma will overwrite the incar template

run_config:
type: dict
argument path: fp[vasp]/run_config

Configuration for running vasp tasks

command:
type: str, optional, default: vasp
argument path: fp[vasp]/run_config/command

The command of VASP

out:
type: str, optional, default: data
argument path: fp[vasp]/run_config/out

The output dir name of labeled data. In deepmd/npy format provided by dpdata.

log:
type: str, optional, default: fp.log
argument path: fp[vasp]/run_config/log

The log file name of VASP

task_max:
type: int, optional, default: 100
argument path: fp[vasp]/task_max

Maximum number of vasp tasks for each iteration

extra_output_files:
type: typing.List, optional, default: []
argument path: fp[vasp]/extra_output_files

Extra output file names, support wildcards

When type is set to gaussian:

inputs_config:
type: dict
argument path: fp[gaussian]/inputs_config

Configuration for preparing vasp inputs

keywords:
type: str | list
argument path: fp[gaussian]/inputs_config/keywords

Gaussian keywords, e.g. force b3lyp/6-31g**. If a list, run multiple steps.

multiplicity:
type: str | int, optional, default: auto
argument path: fp[gaussian]/inputs_config/multiplicity

spin multiplicity state. It can be a number. If auto, multiplicity will be detected automatically, with the following rules:

fragment_guesses=True multiplicity will +1 for each radical, and +2 for each oxygen molecule

fragment_guesses=False multiplicity will be 1 or 2, but +2 for each oxygen molecule.

charge:
type: int, optional, default: 0
argument path: fp[gaussian]/inputs_config/charge

molecule charge. Only used when charge is not provided by the system

basis_set:
type: str, optional
argument path: fp[gaussian]/inputs_config/basis_set

custom basis set

keywords_high_multiplicity:
type: str, optional
argument path: fp[gaussian]/inputs_config/keywords_high_multiplicity

keywords for points with multiple raicals. multiplicity should be auto. If not set, fallback to normal keywords

fragment_guesses:
type: bool, optional, default: False
argument path: fp[gaussian]/inputs_config/fragment_guesses

initial guess generated from fragment guesses. If True, multiplicity should be auto

nproc:
type: int, optional, default: 1
argument path: fp[gaussian]/inputs_config/nproc

Number of CPUs to use

run_config:
type: dict
argument path: fp[gaussian]/run_config

Configuration for running vasp tasks

command:
type: str, optional, default: g16
argument path: fp[gaussian]/run_config/command

The command of Gaussian

out:
type: str, optional, default: data
argument path: fp[gaussian]/run_config/out

The output dir name of labeled data. In deepmd/npy format provided by dpdata.

post_command:
type: str | NoneType, optional, default: None
argument path: fp[gaussian]/run_config/post_command

The command after Gaussian

task_max:
type: int, optional, default: 100
argument path: fp[gaussian]/task_max

Maximum number of vasp tasks for each iteration

extra_output_files:
type: typing.List, optional, default: []
argument path: fp[gaussian]/extra_output_files

Extra output file names, support wildcards

When type is set to deepmd:

inputs_config:
type: dict
argument path: fp[deepmd]/inputs_config

Configuration for preparing vasp inputs

run_config:
type: dict
argument path: fp[deepmd]/run_config

Configuration for running vasp tasks

teacher_model_path:
type: str | BinaryFileInput
argument path: fp[deepmd]/run_config/teacher_model_path

The path of teacher model, which can be loaded by deepmd.infer.DeepPot

out:
type: str, optional, default: data
argument path: fp[deepmd]/run_config/out

The output dir name of labeled data. In deepmd/npy format provided by dpdata.

log:
type: str, optional, default: fp.log
argument path: fp[deepmd]/run_config/log

The log file name of dp

task_max:
type: int, optional, default: 100
argument path: fp[deepmd]/task_max

Maximum number of vasp tasks for each iteration

extra_output_files:
type: typing.List, optional, default: []
argument path: fp[deepmd]/extra_output_files

Extra output file names, support wildcards

When type is set to fpop_abacus:

inputs_config:
type: dict
argument path: fp[fpop_abacus]/inputs_config

Configuration for preparing vasp inputs

input_file:
type: str
argument path: fp[fpop_abacus]/inputs_config/input_file

A template INPUT file.

pp_files:
type: dict
argument path: fp[fpop_abacus]/inputs_config/pp_files

The pseudopotential files for the elements. For example: {“H”: “/path/to/H.upf”, “O”: “/path/to/O.upf”}.

element_mass:
type: NoneType | dict, optional, default: None
argument path: fp[fpop_abacus]/inputs_config/element_mass

Specify the mass of some elements. For example: {“H”: 1.0079, “O”: 15.9994}.

kpt_file:
type: str | NoneType, optional, default: None
argument path: fp[fpop_abacus]/inputs_config/kpt_file

The KPT file, by default None.

orb_files:
type: NoneType | dict, optional, default: None
argument path: fp[fpop_abacus]/inputs_config/orb_files

The numerical orbital fiels for the elements, by default None. For example: {“H”: “/path/to/H.orb”, “O”: “/path/to/O.orb”}.

deepks_descriptor:
type: str | NoneType, optional, default: None
argument path: fp[fpop_abacus]/inputs_config/deepks_descriptor

The deepks descriptor file, by default None.

deepks_model:
type: str | NoneType, optional, default: None
argument path: fp[fpop_abacus]/inputs_config/deepks_model

The deepks model file, by default None.

run_config:
type: dict
argument path: fp[fpop_abacus]/run_config

Configuration for running vasp tasks

command:
type: str, optional, default: abacus
argument path: fp[fpop_abacus]/run_config/command

The command of abacus

task_max:
type: int, optional, default: 100
argument path: fp[fpop_abacus]/task_max

Maximum number of vasp tasks for each iteration

extra_output_files:
type: typing.List, optional, default: []
argument path: fp[fpop_abacus]/extra_output_files

Extra output file names, support wildcards

When type is set to fpop_cp2k:

inputs_config:
type: dict
argument path: fp[fpop_cp2k]/inputs_config

Configuration for preparing vasp inputs

inp_file:
type: str
argument path: fp[fpop_cp2k]/inputs_config/inp_file

The path to the user-submitted CP2K input file.

run_config:
type: dict
argument path: fp[fpop_cp2k]/run_config

Configuration for running vasp tasks

command:
type: str, optional, default: cp2k
argument path: fp[fpop_cp2k]/run_config/command

The command of cp2k

task_max:
type: int, optional, default: 100
argument path: fp[fpop_cp2k]/task_max

Maximum number of vasp tasks for each iteration

extra_output_files:
type: typing.List, optional, default: []
argument path: fp[fpop_cp2k]/extra_output_files

Extra output file names, support wildcards

aimd:
type: dict, optional
argument path: aimd

The parameter for initial fp calculation

confs:
type: typing.List[int] | NoneType, optional, default: None
argument path: aimd/confs

The systems selected for initial fp calculation

n_sample:
type: int, optional, default: 1
argument path: aimd/n_sample

The number of configurations selected for fp calculation within each system

inference:
type: dict, optional, default: {}
argument path: inference

The parameters for inference settings

max_force:
type: float | NoneType, optional, default: None
argument path: inference/max_force

The max value of allowed atomic force

Exploration

exploration:
type: dict, alias: explore
argument path: exploration

The configuration for exploration

test_set_config:
type: dict, optional, default: {'test_size': 0.1}, alias: test_set
argument path: exploration/test_set_config

Set the portion of test set. Only available for dist

Depending on the value of type, different sub args are accepted.

type:
type: str (flag key)
argument path: exploration/type

The type of the exploration

  • lmp: The exploration by LAMMPS simulations

  • calypso: The exploration by CALYPSO structure prediction

  • calypso:default: The exploration by CALYPSO structure prediction

  • calypso:merge: The exploration by CALYPSO structure prediction

When type is set to lmp:

The exploration by LAMMPS simulations

config:
type: dict, optional, default: {'command': 'lmp', 'teacher_model_path': None, 'shuffle_models': False, 'head': None, 'use_ele_temp': 0, 'model_frozen_head': None, 'use_hdf5': False}
argument path: exploration[lmp]/config

Configuration of lmp exploration

command:
type: str, optional, default: lmp
argument path: exploration[lmp]/config/command

The command of LAMMPS

teacher_model_path:
type: str | NoneType | BinaryFileInput, optional, default: None
argument path: exploration[lmp]/config/teacher_model_path

The teacher model in Knowledge Distillation

shuffle_models:
type: bool, optional, default: False
argument path: exploration[lmp]/config/shuffle_models

Randomly pick a model from the group of models to drive theexploration MD simulation

head:
type: str | NoneType, optional, default: None
argument path: exploration[lmp]/config/head

Select a head from multitask

use_ele_temp:
type: int, optional, default: 0
argument path: exploration[lmp]/config/use_ele_temp

Whether to use electronic temperature, 0 for no, 1 for frame temperature, and 2 for atomic temperature

model_frozen_head:
type: str | NoneType, optional, default: None
argument path: exploration[lmp]/config/model_frozen_head

Select a head from multitask

use_hdf5:
type: bool, optional, default: False
argument path: exploration[lmp]/config/use_hdf5

Use HDF5 to store trajs and model_devis

max_numb_iter:
type: int, optional, default: 10, alias: max_iter
argument path: exploration[lmp]/max_numb_iter

Maximum number of iterations per stage

fatal_at_max:
type: bool, optional, default: True
argument path: exploration[lmp]/fatal_at_max

Fatal when the number of iteration per stage reaches the max_numb_iter

output_nopbc:
type: bool, optional, default: False
argument path: exploration[lmp]/output_nopbc

Remove pbc of the output configurations

convergence:
type: dict, alias: converge_config
argument path: exploration[lmp]/convergence

The method of convergence check.

conf_filter:
type: typing.List[dict] | dict, optional, default: []
argument path: exploration[lmp]/convergence/conf_filter

Filtering configurations with too larger or too small prediction error

Depending on the value of type, different sub args are accepted.

type:
type: str (flag key)
argument path: exploration[lmp]/convergence/conf_filter/type
possible choices: energy_delta, force_delta

frame filters based on model test

  • energy_delta: allowed prediction error of energy/atom, in eV/atom

  • force_delta: allowed prediction error of average atomic forces, in eV/Angstrom

When type is set to energy_delta:

allowed prediction error of energy/atom, in eV/atom

thr_l:
type: float, optional, default: 0.0
argument path: exploration[lmp]/convergence/conf_filter[energy_delta]/thr_l

The lower threshold of the energy/atom prediction error

thr_h:
type: float, optional, default: 1.0
argument path: exploration[lmp]/convergence/conf_filter[energy_delta]/thr_h

The higher threshold of the energy/atom prediction error

When type is set to force_delta:

allowed prediction error of average atomic forces, in eV/Angstrom

thr_l:
type: float, optional, default: 0.0
argument path: exploration[lmp]/convergence/conf_filter[force_delta]/thr_l

The lower threshold of the atomic forces prediction error

thr_h:
type: float, optional, default: 0.3
argument path: exploration[lmp]/convergence/conf_filter[force_delta]/thr_h

The higher threshold of the atomic forces prediction error

Depending on the value of type, different sub args are accepted.

type:
type: str (flag key)
argument path: exploration[lmp]/convergence/type

the type of the condidate selection and convergence check method.

When type is set to force_rmse:

Converge by RMSE of atomic forces

RMSE:
type: float, optional, default: 0.01
argument path: exploration[lmp]/convergence[force_rmse]/RMSE
adaptive:
type: NoneType | dict, optional, default: None
argument path: exploration[lmp]/convergence[force_rmse]/adaptive

When type is set to force_rmse_idv:

Converge by RMSE of atomic forces

RMSE:
type: float, optional, default: 0.01
argument path: exploration[lmp]/convergence[force_rmse_idv]/RMSE
adaptive:
type: NoneType | dict, optional, default: None
argument path: exploration[lmp]/convergence[force_rmse_idv]/adaptive

When type is set to energy_rmse:

Converge by RMSE of energy per atom

RMSE:
type: float, optional, default: 0.01
argument path: exploration[lmp]/convergence[energy_rmse]/RMSE
filter:
type: typing.List[dict] | dict, optional, default: [{'type': 'distance'}]
argument path: exploration[lmp]/filter

Filter configuration for DFT calculation

Depending on the value of type, different sub args are accepted.

type:
type: str (flag key)
argument path: exploration[lmp]/filter/type
possible choices: distance, box_skewness, box_length

the type of the frame selector

  • distance: The parameters of atom distance filter

  • box_skewness: The parameters of box skewness filter

  • box_length: The parameters of box length filter

When type is set to distance:

The parameters of atom distance filter

custom_safe_dist:
type: dict, optional, default: {}
argument path: exploration[lmp]/filter[distance]/custom_safe_dist

Custom safe distance (in unit of bohr) for each element

safe_dist_ratio:
type: float, optional, default: 1.0
argument path: exploration[lmp]/filter[distance]/safe_dist_ratio

The ratio multiplied to the safe distance

When type is set to box_skewness:

The parameters of box skewness filter

theta:
type: float, optional, default: 60.0
argument path: exploration[lmp]/filter[box_skewness]/theta

The threshold for angles between the edges of the cell. If all angles are larger than this value the check is passed

When type is set to box_length:

The parameters of box length filter

length_ratio:
type: float, optional, default: 5.0
argument path: exploration[lmp]/filter[box_length]/length_ratio

The threshold for the length ratio between the edges of the cell. If all length ratios are smaller than this value the check is passed

stages:
type: typing.List[typing.List[dict]]
argument path: exploration[lmp]/stages

The definition of exploration stages of type List[List[ExplorationTaskGroup]. The outer list provides the enumeration of the exploration stages. Then each stage is defined by a list of exploration task groups. Each task group is described in the task group definition

When type is set to calypso:

The exploration by CALYPSO structure prediction

config:
type: dict, optional, default: {'command': 'lmp', 'teacher_model_path': None, 'shuffle_models': False, 'head': None, 'use_ele_temp': 0, 'model_frozen_head': None, 'use_hdf5': False}
argument path: exploration[calypso]/config

Configuration of calypso exploration

model_devi_group_size:
type: int, optional
argument path: exploration[calypso]/config/model_devi_group_size

group size for model deviation.

run_calypso_command:
type: str, optional, default: calypso.x
argument path: exploration[calypso]/config/run_calypso_command

command of running calypso.

run_opt_command:
type: str, optional
argument path: exploration[calypso]/config/run_opt_command

command of running optimization with dp.

max_numb_iter:
type: int, optional, default: 5, alias: max_iter
argument path: exploration[calypso]/max_numb_iter

Maximum number of iterations per stage

fatal_at_max:
type: bool, optional, default: True
argument path: exploration[calypso]/fatal_at_max

Fatal when the number of iteration per stage reaches the max_numb_iter

output_nopbc:
type: bool, optional, default: False
argument path: exploration[calypso]/output_nopbc

Remove pbc of the output configurations

convergence:
type: dict
argument path: exploration[calypso]/convergence

The method of convergence check.

Depending on the value of type, different sub args are accepted.

type:
type: str (flag key)
argument path: exploration[calypso]/convergence/type

the type of the condidate selection and convergence check method.

When type is set to force_rmse:

Converge by RMSE of atomic forces

RMSE:
type: float, optional, default: 0.01
argument path: exploration[calypso]/convergence[force_rmse]/RMSE
adaptive:
type: NoneType | dict, optional, default: None
argument path: exploration[calypso]/convergence[force_rmse]/adaptive

When type is set to force_rmse_idv:

Converge by RMSE of atomic forces

RMSE:
type: float, optional, default: 0.01
argument path: exploration[calypso]/convergence[force_rmse_idv]/RMSE
adaptive:
type: NoneType | dict, optional, default: None
argument path: exploration[calypso]/convergence[force_rmse_idv]/adaptive

When type is set to energy_rmse:

Converge by RMSE of energy per atom

RMSE:
type: float, optional, default: 0.01
argument path: exploration[calypso]/convergence[energy_rmse]/RMSE
stages:
type: typing.List[typing.List[dict]]
argument path: exploration[calypso]/stages

The definition of exploration stages of type List[List[ExplorationTaskGroup]. The outer list provides the enumeration of the exploration stages. Then each stage is defined by a list of exploration task groups. Each task group is described in the task group definition

filters:
type: list | dict, optional, default: []
argument path: exploration[calypso]/filters

A list of configuration filters

Depending on the value of type, different sub args are accepted.

type:
type: str (flag key)
argument path: exploration[calypso]/filters/type
possible choices: distance, box_skewness, box_length

the type of the frame selector

  • distance: The parameters of atom distance filter

  • box_skewness: The parameters of box skewness filter

  • box_length: The parameters of box length filter

When type is set to distance:

The parameters of atom distance filter

custom_safe_dist:
type: dict, optional, default: {}
argument path: exploration[calypso]/filters[distance]/custom_safe_dist

Custom safe distance (in unit of bohr) for each element

safe_dist_ratio:
type: float, optional, default: 1.0
argument path: exploration[calypso]/filters[distance]/safe_dist_ratio

The ratio multiplied to the safe distance

When type is set to box_skewness:

The parameters of box skewness filter

theta:
type: float, optional, default: 60.0
argument path: exploration[calypso]/filters[box_skewness]/theta

The threshold for angles between the edges of the cell. If all angles are larger than this value the check is passed

When type is set to box_length:

The parameters of box length filter

length_ratio:
type: float, optional, default: 5.0
argument path: exploration[calypso]/filters[box_length]/length_ratio

The threshold for the length ratio between the edges of the cell. If all length ratios are smaller than this value the check is passed

When type is set to calypso:default:

The exploration by CALYPSO structure prediction

config:
type: dict, optional, default: {'command': 'lmp', 'teacher_model_path': None, 'shuffle_models': False, 'head': None, 'use_ele_temp': 0, 'model_frozen_head': None, 'use_hdf5': False}
argument path: exploration[calypso:default]/config

Configuration of calypso exploration

model_devi_group_size:
type: int, optional
argument path: exploration[calypso:default]/config/model_devi_group_size

group size for model deviation.

run_calypso_command:
type: str, optional, default: calypso.x
argument path: exploration[calypso:default]/config/run_calypso_command

command of running calypso.

run_opt_command:
type: str, optional
argument path: exploration[calypso:default]/config/run_opt_command

command of running optimization with dp.

max_numb_iter:
type: int, optional, default: 5, alias: max_iter
argument path: exploration[calypso:default]/max_numb_iter

Maximum number of iterations per stage

fatal_at_max:
type: bool, optional, default: True
argument path: exploration[calypso:default]/fatal_at_max

Fatal when the number of iteration per stage reaches the max_numb_iter

output_nopbc:
type: bool, optional, default: False
argument path: exploration[calypso:default]/output_nopbc

Remove pbc of the output configurations

convergence:
type: dict
argument path: exploration[calypso:default]/convergence

The method of convergence check.

Depending on the value of type, different sub args are accepted.

type:
type: str (flag key)
argument path: exploration[calypso:default]/convergence/type

the type of the condidate selection and convergence check method.

When type is set to force_rmse:

Converge by RMSE of atomic forces

RMSE:
type: float, optional, default: 0.01
argument path: exploration[calypso:default]/convergence[force_rmse]/RMSE
adaptive:
type: NoneType | dict, optional, default: None
argument path: exploration[calypso:default]/convergence[force_rmse]/adaptive

When type is set to force_rmse_idv:

Converge by RMSE of atomic forces

RMSE:
type: float, optional, default: 0.01
argument path: exploration[calypso:default]/convergence[force_rmse_idv]/RMSE
adaptive:
type: NoneType | dict, optional, default: None
argument path: exploration[calypso:default]/convergence[force_rmse_idv]/adaptive

When type is set to energy_rmse:

Converge by RMSE of energy per atom

RMSE:
type: float, optional, default: 0.01
argument path: exploration[calypso:default]/convergence[energy_rmse]/RMSE
stages:
type: typing.List[typing.List[dict]]
argument path: exploration[calypso:default]/stages

The definition of exploration stages of type List[List[ExplorationTaskGroup]. The outer list provides the enumeration of the exploration stages. Then each stage is defined by a list of exploration task groups. Each task group is described in the task group definition

filters:
type: list | dict, optional, default: []
argument path: exploration[calypso:default]/filters

A list of configuration filters

Depending on the value of type, different sub args are accepted.

type:
type: str (flag key)
argument path: exploration[calypso:default]/filters/type
possible choices: distance, box_skewness, box_length

the type of the frame selector

  • distance: The parameters of atom distance filter

  • box_skewness: The parameters of box skewness filter

  • box_length: The parameters of box length filter

When type is set to distance:

The parameters of atom distance filter

custom_safe_dist:
type: dict, optional, default: {}
argument path: exploration[calypso:default]/filters[distance]/custom_safe_dist

Custom safe distance (in unit of bohr) for each element

safe_dist_ratio:
type: float, optional, default: 1.0
argument path: exploration[calypso:default]/filters[distance]/safe_dist_ratio

The ratio multiplied to the safe distance

When type is set to box_skewness:

The parameters of box skewness filter

theta:
type: float, optional, default: 60.0
argument path: exploration[calypso:default]/filters[box_skewness]/theta

The threshold for angles between the edges of the cell. If all angles are larger than this value the check is passed

When type is set to box_length:

The parameters of box length filter

length_ratio:
type: float, optional, default: 5.0
argument path: exploration[calypso:default]/filters[box_length]/length_ratio

The threshold for the length ratio between the edges of the cell. If all length ratios are smaller than this value the check is passed

When type is set to calypso:merge:

The exploration by CALYPSO structure prediction

config:
type: dict, optional, default: {'command': 'lmp', 'teacher_model_path': None, 'shuffle_models': False, 'head': None, 'use_ele_temp': 0, 'model_frozen_head': None, 'use_hdf5': False}
argument path: exploration[calypso:merge]/config

Configuration of calypso exploration

model_devi_group_size:
type: int, optional
argument path: exploration[calypso:merge]/config/model_devi_group_size

group size for model deviation.

run_calypso_command:
type: str, optional, default: calypso.x
argument path: exploration[calypso:merge]/config/run_calypso_command

command of running calypso.

run_opt_command:
type: str, optional
argument path: exploration[calypso:merge]/config/run_opt_command

command of running optimization with dp.

max_numb_iter:
type: int, optional, default: 5, alias: max_iter
argument path: exploration[calypso:merge]/max_numb_iter

Maximum number of iterations per stage

fatal_at_max:
type: bool, optional, default: True
argument path: exploration[calypso:merge]/fatal_at_max

Fatal when the number of iteration per stage reaches the max_numb_iter

output_nopbc:
type: bool, optional, default: False
argument path: exploration[calypso:merge]/output_nopbc

Remove pbc of the output configurations

convergence:
type: dict
argument path: exploration[calypso:merge]/convergence

The method of convergence check.

Depending on the value of type, different sub args are accepted.

type:
type: str (flag key)
argument path: exploration[calypso:merge]/convergence/type

the type of the condidate selection and convergence check method.

When type is set to force_rmse:

Converge by RMSE of atomic forces

RMSE:
type: float, optional, default: 0.01
argument path: exploration[calypso:merge]/convergence[force_rmse]/RMSE
adaptive:
type: NoneType | dict, optional, default: None
argument path: exploration[calypso:merge]/convergence[force_rmse]/adaptive

When type is set to force_rmse_idv:

Converge by RMSE of atomic forces

RMSE:
type: float, optional, default: 0.01
argument path: exploration[calypso:merge]/convergence[force_rmse_idv]/RMSE
adaptive:
type: NoneType | dict, optional, default: None
argument path: exploration[calypso:merge]/convergence[force_rmse_idv]/adaptive

When type is set to energy_rmse:

Converge by RMSE of energy per atom

RMSE:
type: float, optional, default: 0.01
argument path: exploration[calypso:merge]/convergence[energy_rmse]/RMSE
stages:
type: typing.List[typing.List[dict]]
argument path: exploration[calypso:merge]/stages

The definition of exploration stages of type List[List[ExplorationTaskGroup]. The outer list provides the enumeration of the exploration stages. Then each stage is defined by a list of exploration task groups. Each task group is described in the task group definition

filters:
type: list | dict, optional, default: []
argument path: exploration[calypso:merge]/filters

A list of configuration filters

Depending on the value of type, different sub args are accepted.

type:
type: str (flag key)
argument path: exploration[calypso:merge]/filters/type
possible choices: distance, box_skewness, box_length

the type of the frame selector

  • distance: The parameters of atom distance filter

  • box_skewness: The parameters of box skewness filter

  • box_length: The parameters of box length filter

When type is set to distance:

The parameters of atom distance filter

custom_safe_dist:
type: dict, optional, default: {}
argument path: exploration[calypso:merge]/filters[distance]/custom_safe_dist

Custom safe distance (in unit of bohr) for each element

safe_dist_ratio:
type: float, optional, default: 1.0
argument path: exploration[calypso:merge]/filters[distance]/safe_dist_ratio

The ratio multiplied to the safe distance

When type is set to box_skewness:

The parameters of box skewness filter

theta:
type: float, optional, default: 60.0
argument path: exploration[calypso:merge]/filters[box_skewness]/theta

The threshold for angles between the edges of the cell. If all angles are larger than this value the check is passed

When type is set to box_length:

The parameters of box length filter

length_ratio:
type: float, optional, default: 5.0
argument path: exploration[calypso:merge]/filters[box_length]/length_ratio

The threshold for the length ratio between the edges of the cell. If all length ratios are smaller than this value the check is passed

Explore task group definition

LAMMPS task group

task_group:
type: dict
argument path: task_group

Depending on the value of type, different sub args are accepted.

type:
type: str (flag key)
argument path: task_group/type

the type of the task group

  • lmp-md: Lammps MD tasks. DPGEN will generate the lammps input script

  • lmp-template: Lammps MD tasks defined by templates. User provide lammps (and plumed) template for lammps tasks. The variables in templates are revised by the revisions key. Notice that the lines for pair style, dump and plumed are reserved for the revision of dpgen2, and the users should not write these lines by themselves. Rather, users notify dpgen2 the poistion of the line for pair_style by writting ‘pair_style deepmd’, the line for dump by writting ‘dump dpgen_dump’. If plumed is used, the line for fix plumed shouldbe written exactly as ‘fix dpgen_plm’.

  • customized-lmp-template: Lammps MD tasks defined by user customized shell commands and templates. User provided shell script generates a series of folders, and each folder contains a lammps template task group.

When type is set to lmp-md (or its alias lmp-npt):

Lammps MD tasks. DPGEN will generate the lammps input script

conf_idx:
type: list, alias: sys_idx
argument path: task_group[lmp-md]/conf_idx

The configurations of configurations[conf_idx] will be used to generate the initial configurations of the tasks. This key provides the index of selected item in the configurations array.

n_sample:
type: int | NoneType, optional, default: None
argument path: task_group[lmp-md]/n_sample

Number of configurations. If this number is smaller than the number of configruations in configruations[conf_idx], then n_sample configruations are randomly sampled from configruations[conf_idx], otherwise all configruations in configruations[conf_idx] will be used. If not provided, all configruations in configruations[conf_idx] will be used.

temps:
type: list, alias: Ts
argument path: task_group[lmp-md]/temps

A list of temperatures in K. Also used to initialize the temperature

press:
type: list, optional, alias: Ps
argument path: task_group[lmp-md]/press

A list of pressures in bar.

ens:
type: str, optional, default: nve, alias: ensemble
argument path: task_group[lmp-md]/ens

The ensemble. Allowd options are ‘nve’, ‘nvt’, ‘npt’, ‘npt-a’, ‘npt-t’. ‘npt-a’ stands for anisotrpic box sampling and ‘npt-t’ stands for triclinic box sampling.

dt:
type: float, optional, default: 0.001
argument path: task_group[lmp-md]/dt

The time step

nsteps:
type: int, optional, default: 100
argument path: task_group[lmp-md]/nsteps

The number of steps

trj_freq:
type: int, optional, default: 10, aliases: t_freq, trj_freq, traj_freq
argument path: task_group[lmp-md]/trj_freq

The number of steps

tau_t:
type: float, optional, default: 0.05
argument path: task_group[lmp-md]/tau_t

The time scale of thermostat

tau_p:
type: float, optional, default: 0.5
argument path: task_group[lmp-md]/tau_p

The time scale of barostat

pka_e:
type: float | NoneType, optional, default: None
argument path: task_group[lmp-md]/pka_e

The energy of primary knock-on atom

neidelay:
type: int | NoneType, optional, default: None
argument path: task_group[lmp-md]/neidelay

The delay of updating the neighbor list

no_pbc:
type: bool, optional, default: False
argument path: task_group[lmp-md]/no_pbc

Not using the periodic boundary condition

use_clusters:
type: bool, optional, default: False
argument path: task_group[lmp-md]/use_clusters

Calculate atomic model deviation

relative_f_epsilon:
type: float | NoneType, optional, default: None
argument path: task_group[lmp-md]/relative_f_epsilon

Calculate relative force model deviation

relative_v_epsilon:
type: float | NoneType, optional, default: None
argument path: task_group[lmp-md]/relative_v_epsilon

Calculate relative virial model deviation

When type is set to lmp-template:

Lammps MD tasks defined by templates. User provide lammps (and plumed) template for lammps tasks. The variables in templates are revised by the revisions key. Notice that the lines for pair style, dump and plumed are reserved for the revision of dpgen2, and the users should not write these lines by themselves. Rather, users notify dpgen2 the poistion of the line for pair_style by writting ‘pair_style deepmd’, the line for dump by writting ‘dump dpgen_dump’. If plumed is used, the line for fix plumed shouldbe written exactly as ‘fix dpgen_plm’.

conf_idx:
type: list, alias: sys_idx
argument path: task_group[lmp-template]/conf_idx

The configurations of configurations[conf_idx] will be used to generate the initial configurations of the tasks. This key provides the index of selected item in the configurations array.

n_sample:
type: int | NoneType, optional, default: None
argument path: task_group[lmp-template]/n_sample

Number of configurations. If this number is smaller than the number of configruations in configruations[conf_idx], then n_sample configruations are randomly sampled from configruations[conf_idx], otherwise all configruations in configruations[conf_idx] will be used. If not provided, all configruations in configruations[conf_idx] will be used.

lmp_template_fname:
type: str, aliases: lmp_template, lmp
argument path: task_group[lmp-template]/lmp_template_fname

The file name of lammps input template

plm_template_fname:
type: str | NoneType, optional, default: None, aliases: plm_template, plm
argument path: task_group[lmp-template]/plm_template_fname

The file name of plumed input template

revisions:
type: dict, optional, default: {}
argument path: task_group[lmp-template]/revisions
traj_freq:
type: int, optional, default: 10, aliases: t_freq, trj_freq, trj_freq
argument path: task_group[lmp-template]/traj_freq

The frequency of dumping configurations and thermodynamic states

When type is set to customized-lmp-template:

Lammps MD tasks defined by user customized shell commands and templates. User provided shell script generates a series of folders, and each folder contains a lammps template task group.

conf_idx:
type: list, alias: sys_idx
argument path: task_group[customized-lmp-template]/conf_idx

The configurations of configurations[conf_idx] will be used to generate the initial configurations of the tasks. This key provides the index of selected item in the configurations array.

n_sample:
type: int | NoneType, optional, default: None
argument path: task_group[customized-lmp-template]/n_sample

Number of configurations. If this number is smaller than the number of configruations in configruations[conf_idx], then n_sample configruations are randomly sampled from configruations[conf_idx], otherwise all configruations in configruations[conf_idx] will be used. If not provided, all configruations in configruations[conf_idx] will be used.

custom_shell_commands:
type: list
argument path: task_group[customized-lmp-template]/custom_shell_commands

Customized shell commands to be run for each configuration. The commands require input_lmp_conf_name as input conf file, input_lmp_tmpl_name and input_plm_tmpl_name as templates, and input_extra_files as extra input files. By running the commands a series folders in pattern output_dir_pattern are supposed to be generated, and each folder is supposed to contain a configuration file output_lmp_conf_name, a lammps template file output_lmp_tmpl_name and a plumed template file output_plm_tmpl_name.

revisions:
type: dict, optional, default: {}
argument path: task_group[customized-lmp-template]/revisions

The revisions. Should be a dict providing the key - list of desired values pair. Key is the word to be replaced in the templates, and it may appear in both the lammps and plumed input templates. All values in the value list will be enmerated.

traj_freq:
type: int, optional, default: 10, aliases: t_freq, trj_freq, trj_freq
argument path: task_group[customized-lmp-template]/traj_freq

The frequency of dumping configurations and thermodynamic states

input_lmp_conf_name:
type: str, optional, default: conf.lmp
argument path: task_group[customized-lmp-template]/input_lmp_conf_name

Input conf file name for the shell commands.

input_lmp_tmpl_name:
type: str, optional, default: in.lammps, aliases: lmp_template, lmp
argument path: task_group[customized-lmp-template]/input_lmp_tmpl_name

The file name of lammps input template

input_plm_tmpl_name:
type: str | NoneType, optional, default: None, aliases: plm_template, plm
argument path: task_group[customized-lmp-template]/input_plm_tmpl_name

The file name of plumed input template

input_extra_files:
type: list, optional, default: []
argument path: task_group[customized-lmp-template]/input_extra_files

Extra files that may be needed to execute the shell commands

output_dir_pattern:
type: str | list, optional, default: *
argument path: task_group[customized-lmp-template]/output_dir_pattern

Pattern of resultant folders generated by the shell commands.

output_lmp_conf_name:
type: str, optional, default: conf.lmp
argument path: task_group[customized-lmp-template]/output_lmp_conf_name

Generated conf file name.

output_lmp_tmpl_name:
type: str, optional, default: in.lammps
argument path: task_group[customized-lmp-template]/output_lmp_tmpl_name

Generated lmp input file name.

output_plm_tmpl_name:
type: str, optional, default: input.plumed
argument path: task_group[customized-lmp-template]/output_plm_tmpl_name

Generated plm input file name.