4.7. Descriptor "hybrid" TensorFlow PyTorch DP

Note

Supported backends: TensorFlow TensorFlow, PyTorch PyTorch, DP DP

This descriptor hybridizes multiple descriptors to form a new descriptor. For example, we have a list of descriptors denoted by \(\mathcal D_1\), \(\mathcal D_2\), …, \(\mathcal D_N\), the hybrid descriptor this the concatenation of the list, i.e. \(\mathcal D = (\mathcal D_1, \mathcal D_2, \cdots, \mathcal D_N)\).

4.7.1. Theory

A hybrid descriptor \(\mathcal{D}^i_\text{hyb}\) concatenates multiple kinds of descriptors into one descriptor:

\[ \mathcal{D}^{i}_\text{hyb} = \{ \begin{array}{cccc} \mathcal{D}^{i}_1 & \mathcal{D}^{i}_2 & \cdots & \mathcal{D}^{i}_n \end{array} \}.\]

The list of descriptors can be different types or the same descriptors with different parameters. This way, one can set the different cutoff radii for different descriptors.[1]

4.7.2. Instructions

To use the descriptor in DeePMD-kit, one firstly set the type to hybrid, then provide the definitions of the descriptors by the items in the list,

        "descriptor" :{
            "type": "hybrid",
            "list" : [
                {
		    "type" : "se_e2_a",
		    ...
                },
                {
		    "type" : "se_e2_r",
		    ...
                }
            ]
        },

A complete training input script of this example can be found in the directory

$deepmd_source_dir/examples/water/hybrid/input.json