From 4dcbe06e9371f65786c606a8ce0f83e6caa96a2e Mon Sep 17 00:00:00 2001 From: Chenxing Luo Date: Sun, 1 May 2022 08:20:05 -0400 Subject: [PATCH 01/10] Update training.md --- doc/train/training.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/train/training.md b/doc/train/training.md index 7fe4012e12..5010740538 100644 --- a/doc/train/training.md +++ b/doc/train/training.md @@ -1,4 +1,4 @@ -# Training a model +# Train a model Several examples of training can be found at the `examples` directory: ```bash From 8e1b0011f2c83283115504095d8374dbc3ddbf25 Mon Sep 17 00:00:00 2001 From: Chenxing Luo Date: Sun, 1 May 2022 08:22:17 -0400 Subject: [PATCH 02/10] Fix typo --- doc/model/overall.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/model/overall.md b/doc/model/overall.md index 87827363d7..6d45f62f2a 100644 --- a/doc/model/overall.md +++ b/doc/model/overall.md @@ -15,7 +15,7 @@ A model has two parts, a descriptor that maps atomic configuration to a set of s Assume that we are looking for a model for water, we will have two types of atoms. The atom types are recorded as integers. In this example, we denote `0` for oxygen and `1` for hydrogen. A mapping from the atom type to their names is provided by `type_map`. -The model has two subsections `descritpor` and `fitting_net`, which defines the descriptor and the fitting net, respectively. The `type_map` is optional, which provides the element names (but not necessarily to be the element name) of the corresponding atom types. +The model has two subsections `descriptor` and `fitting_net`, which defines the descriptor and the fitting net, respectively. The `type_map` is optional, which provides the element names (but not necessarily to be the element name) of the corresponding atom types. DeePMD-kit implements the following descriptors: 1. [`se_e2_a`](train-se-e2-a.md): DeepPot-SE constructed from all information (both angular and radial) of atomic configurations. The embedding takes the distance between atoms as input. From f2471119b3d2b6ef7f708478d3152adfc5267cd5 Mon Sep 17 00:00:00 2001 From: Chenxing Luo Date: Sun, 1 May 2022 08:24:26 -0400 Subject: [PATCH 03/10] Update overall.md --- doc/model/overall.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/model/overall.md b/doc/model/overall.md index 6d45f62f2a..f7136c1976 100644 --- a/doc/model/overall.md +++ b/doc/model/overall.md @@ -15,7 +15,7 @@ A model has two parts, a descriptor that maps atomic configuration to a set of s Assume that we are looking for a model for water, we will have two types of atoms. The atom types are recorded as integers. In this example, we denote `0` for oxygen and `1` for hydrogen. A mapping from the atom type to their names is provided by `type_map`. -The model has two subsections `descriptor` and `fitting_net`, which defines the descriptor and the fitting net, respectively. The `type_map` is optional, which provides the element names (but not necessarily to be the element name) of the corresponding atom types. +The two subsections, `descriptor` and `fitting_net`, define the descriptor and the fitting net, respectively. The `type_map` is optional, which provides the element names (but not necessarily same with the actual name of the element) of the corresponding atom types. DeePMD-kit implements the following descriptors: 1. [`se_e2_a`](train-se-e2-a.md): DeepPot-SE constructed from all information (both angular and radial) of atomic configurations. The embedding takes the distance between atoms as input. From deaafcae55e4ad938d8a62fc1794ee58d896cd9c Mon Sep 17 00:00:00 2001 From: Chenxing Luo Date: Sun, 1 May 2022 08:33:02 -0400 Subject: [PATCH 04/10] Update overall.md --- doc/model/overall.md | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/doc/model/overall.md b/doc/model/overall.md index f7136c1976..cedebd1914 100644 --- a/doc/model/overall.md +++ b/doc/model/overall.md @@ -1,6 +1,6 @@ # Overall -A model has two parts, a descriptor that maps atomic configuration to a set of symmetry invariant features, and a fitting net that takes descriptor as input and predicts the atomic contribution to the target physical property. It's defined in the `model` section of the `input.json`, for example +A model has two parts, a descriptor that maps atomic configuration to a set of symmetry invariant features, and a fitting net that takes descriptor as input and predicts the atomic contribution to the target physical property. It's defined in the `model` section of the `input.json`, for example, ```json "model": { "type_map": ["O", "H"], @@ -12,10 +12,9 @@ A model has two parts, a descriptor that maps atomic configuration to a set of s } } ``` +The two subsections, `descriptor` and `fitting_net`, define the descriptor and the fitting net, respectively. -Assume that we are looking for a model for water, we will have two types of atoms. The atom types are recorded as integers. In this example, we denote `0` for oxygen and `1` for hydrogen. A mapping from the atom type to their names is provided by `type_map`. - -The two subsections, `descriptor` and `fitting_net`, define the descriptor and the fitting net, respectively. The `type_map` is optional, which provides the element names (but not necessarily same with the actual name of the element) of the corresponding atom types. +The `type_map` is optional, which provides the element names (but not necessarily same with the actual name of the element) of the corresponding atom types. A model for water, as in this example, has two kinds of atoms. The atom types are internally recorded as integers, e.g., `0` for oxygen and `1` for hydrogen here. A mapping from the atom type to their names is provided by `type_map`. DeePMD-kit implements the following descriptors: 1. [`se_e2_a`](train-se-e2-a.md): DeepPot-SE constructed from all information (both angular and radial) of atomic configurations. The embedding takes the distance between atoms as input. @@ -25,6 +24,6 @@ DeePMD-kit implements the following descriptors: 5. [`hybrid`](train-hybrid.md): Concate a list of descriptors to form a new descriptor. The fitting of the following physical properties are supported -1. [`ener`](train-energy.md): Fitting the energy of the system. The force (derivative with atom positions) and the virial (derivative with the box tensor) can also be trained. See [the example](train-se-e2-a.md#loss). +1. [`ener`](train-energy.md): Fit the energy of the system. The force (derivative with atom positions) and the virial (derivative with the box tensor) can also be trained. See [the example](train-se-e2-a.md#loss). 2. [`dipole`](train-fitting-tensor.md): The dipole moment. 3. [`polar`](train-fitting-tensor.md): The polarizability. From 351b29e1c909592c33e559be754b5879d3fe7403 Mon Sep 17 00:00:00 2001 From: Chenxing Luo Date: Sun, 1 May 2022 08:34:40 -0400 Subject: [PATCH 05/10] Update train-energy.md --- doc/model/train-energy.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/model/train-energy.md b/doc/model/train-energy.md index 65f80f85e7..826554b931 100644 --- a/doc/model/train-energy.md +++ b/doc/model/train-energy.md @@ -2,7 +2,7 @@ In this section, we will take `$deepmd_source_dir/examples/water/se_e2_a/input.json` as an example of the input file. -## Fitting network +## The fitting network The construction of the fitting net is give by section `fitting_net` ```json From 781dff1f61ea5c88cc642603432f0ad9cc3c36c4 Mon Sep 17 00:00:00 2001 From: Chenxing Luo Date: Sun, 1 May 2022 08:36:43 -0400 Subject: [PATCH 06/10] Update train-fitting-tensor.md --- doc/model/train-fitting-tensor.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/model/train-fitting-tensor.md b/doc/model/train-fitting-tensor.md index 4074316186..3435710cfe 100644 --- a/doc/model/train-fitting-tensor.md +++ b/doc/model/train-fitting-tensor.md @@ -11,7 +11,7 @@ The training and validation data are also provided our examples. But note that * Similar to the `input.json` used in `ener` mode, training json is also divided into `model`, `learning_rate`, `loss` and `training`. Most keywords remains the same as `ener` mode, and their meaning can be found [here](train-se-e2-a.md). To fit a tensor, one need to modify `model.fitting_net` and `loss`. -## Fitting Network +## The fitting Network The `fitting_net` section tells DP which fitting net to use. From 5a3ad8dc597cad2efb07b4a85b4490f7055edda0 Mon Sep 17 00:00:00 2001 From: Chenxing Luo Date: Sun, 1 May 2022 08:37:09 -0400 Subject: [PATCH 07/10] Update train-fitting-tensor.md --- doc/model/train-fitting-tensor.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/model/train-fitting-tensor.md b/doc/model/train-fitting-tensor.md index 3435710cfe..5f798be59e 100644 --- a/doc/model/train-fitting-tensor.md +++ b/doc/model/train-fitting-tensor.md @@ -1,6 +1,6 @@ # Fit `tensor` like `Dipole` and `Polarizability` -Unlike `energy` which is a scalar, one may want to fit some high dimensional physical quantity, like `dipole` (vector) and `polarizability` (matrix, shorted as `polar`). Deep Potential has provided different API to allow this. In this example we will show you how to train a model to fit them for a water system. A complete training input script of the examples can be found in +Unlike `energy`, which is a scalar, one may want to fit some high dimensional physical quantity, like `dipole` (vector) and `polarizability` (matrix, shorted as `polar`). Deep Potential has provided different API to allow this. In this example we will show you how to train a model to fit them for a water system. A complete training input script of the examples can be found in ```bash $deepmd_source_dir/examples/water_tensor/dipole/dipole_input.json From 8859ae598879060b081175f7e1f49ad28699e9a7 Mon Sep 17 00:00:00 2001 From: Chenxing Luo Date: Sun, 1 May 2022 08:37:50 -0400 Subject: [PATCH 08/10] Update train-fitting-tensor.md --- doc/model/train-fitting-tensor.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/model/train-fitting-tensor.md b/doc/model/train-fitting-tensor.md index 5f798be59e..fde557a073 100644 --- a/doc/model/train-fitting-tensor.md +++ b/doc/model/train-fitting-tensor.md @@ -1,6 +1,6 @@ # Fit `tensor` like `Dipole` and `Polarizability` -Unlike `energy`, which is a scalar, one may want to fit some high dimensional physical quantity, like `dipole` (vector) and `polarizability` (matrix, shorted as `polar`). Deep Potential has provided different API to allow this. In this example we will show you how to train a model to fit them for a water system. A complete training input script of the examples can be found in +Unlike `energy`, which is a scalar, one may want to fit some high dimensional physical quantity, like `dipole` (vector) and `polarizability` (matrix, shorted as `polar`). Deep Potential has provided different APIs to do this. In this example, we will show you how to train a model to fit them for a water system. A complete training input script of the examples can be found in ```bash $deepmd_source_dir/examples/water_tensor/dipole/dipole_input.json From 23cc50d35ecffcbc035fcf11c9112f7cf31424a4 Mon Sep 17 00:00:00 2001 From: Chenxing Luo Date: Sun, 1 May 2022 08:42:32 -0400 Subject: [PATCH 09/10] Update README.md --- README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 9d525630f2..625ddb0e78 100644 --- a/README.md +++ b/README.md @@ -147,12 +147,12 @@ The code is organized as follows: # Troubleshooting -- [Model compatibility](doc/troubleshooting/model-compatability.md) +- [Model compatibility](doc/troubleshooting/model_compatability.md) - [Installation](doc/troubleshooting/installation.md) -- [The temperature undulates violently during early stages of MD](doc/troubleshooting/md-energy-undulation.md) -- [MD: cannot run LAMMPS after installing a new version of DeePMD-kit](doc/troubleshooting/md-version-compatibility.md) -- [Do we need to set rcut < half boxsize?](doc/troubleshooting/howtoset-rcut.md) -- [How to set sel?](doc/troubleshooting/howtoset-sel.md) +- [The temperature undulates violently during early stages of MD](doc/troubleshooting/md_energy_undulation.md) +- [MD: cannot run LAMMPS after installing a new version of DeePMD-kit](doc/troubleshooting/md_version_compatibility.md) +- [Do we need to set rcut < half boxsize?](doc/troubleshooting/howtoset_rcut.md) +- [How to set sel?](doc/troubleshooting/howtoset_sel.md) - [How to control the number of nodes used by a job?](doc/troubleshooting/howtoset_num_nodes.md) - [How to tune Fitting/embedding-net size?](doc/troubleshooting/howtoset_netsize.md) From 97541ee9b258a875150f34801ae8bd65335acad8 Mon Sep 17 00:00:00 2001 From: Chenxing Luo Date: Sun, 1 May 2022 08:43:53 -0400 Subject: [PATCH 10/10] Update README.md --- README.md | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/README.md b/README.md index 625ddb0e78..dc3489af63 100644 --- a/README.md +++ b/README.md @@ -124,24 +124,17 @@ A full [document](doc/train/train-input-auto.rst) on options in the training inp - [Run MD with GROMACS](doc/third-party/gromacs.md) # Code structure + The code is organized as follows: * `data/raw`: tools manipulating the raw data files. - * `examples`: examples. - * `deepmd`: DeePMD-kit python modules. - * `source/api_cc`: source code of DeePMD-kit C++ API. - * `source/ipi`: source code of i-PI client. - * `source/lib`: source code of DeePMD-kit library. - * `source/lmp`: source code of Lammps module. - * `source/gmx`: source code of Gromacs plugin. - * `source/op`: tensorflow op implementation. working with library.