Code Structure
Let’s look at the home page of DP-GEN. https://github.com/deepmodeling/dpgen
├── build
├── CITATION.cff
├── conda
├── dist
├── doc
├── dpgen
├── dpgen.egg-info
├── examples
├── LICENSE
├── README.md
├── requirements.txt
├── setup.py
└── tests
tests
: unittest tools for developers.examples
: templates for PARAM and MACHINE files for different software, versions and tasks. For details of the parameters in PARAM, you can refer toTASK parameters
chapters in this document. If you are confused about how to set up a JSON file, you can also use dpgui
Most of the code related to DP-GEN functions is in the dpgen
directory. Open the dpgen
directory, and we can see
├── arginfo.py
├── auto_test
├── collect
├── data
├── database
├── _date.py
├── dispatcher
├── generator
├── __init__.py
├── main.py
├── __pycache__
├── remote
├── simplify
├── tools
├── util.py
└── _version.py
auto_test
corresponds todpgen autotest
, for undertaking materials property analysis.collect
corresponds todpgen collect
.data
corresponds todpgen init_bulk
,dpgen init_surf
anddpgen init_reaction
, for preparing initial data of bulk and surf systems.database
is the source code for collecting data generated by DP-GEN and interface with database.simplify
corresponds todpgen simplify
.remote
anddispatcher
: source code for automatically submiting scripts,maintaining job queues and collecting results. Notice this part hase been integrated into dpdispatchergenerator
is the core part of DP-GEN. It’s for main process of deep generator. Let’s open this folder.
├── arginfo.py
├── ch4
├── __init__.py
├── lib
└── run.py
run.py
is the core of DP-GEN, corresponding to dpgen run
. We can find make_train
, run_train
, … post_fp
, and other steps related functions here.