• Home
  • Blog
  • Tutorials
  • Docs
    DeePMD-kit

    DP-GEN

    dpdata

    DPDispatcher

    ABACUS

    DeepFlame

    DPTI

  • Publications
  • GitHub
  • Home
  • Blog
  • Tutorials
  • Docs
  • Publications
  • GitHub
Skip to main content
Ctrl+K
DeePMD-kit  documentation - Home DeePMD-kit  documentation - Home

Getting Started

  • Getting Started
    • 1. Easy install
    • 2. DeePMD-kit Quick Start Tutorial

Advanced

  • 1. Backend
  • 2. Installation
    • 2.1. Easy install
    • 2.2. Install from source code
    • 2.3. Install from pre-compiled C library
    • 2.4. Install LAMMPS
    • 2.5. Install i-PI
    • 2.6. Install GROMACS with DeePMD-kit
    • 2.7. Building conda packages
    • 2.8. Install Node.js interface
    • 2.9. Easy install the latest development version
  • 3. Data
    • 3.1. System
    • 3.2. Formats of a system
    • 3.3. Prepare data with dpdata
  • 4. Model
    • 4.1. Overall
    • 4.2. Descriptor "se_e2_a"
    • 4.3. Descriptor "se_e2_r"
    • 4.4. Descriptor "se_e3"
    • 4.5. Descriptor "se_atten"
    • 4.6. Descriptor DPA-2
    • 4.7. Descriptor DPA3
    • 4.8. Descriptor "hybrid"
    • 4.9. Determine sel
    • 4.10. Fit energy
    • 4.11. Fit spin energy
    • 4.12. Fit energy Hessian
    • 4.13. Fit tensor like Dipole and Polarizability
    • 4.14. Fit electronic density of states (DOS)
    • 4.15. Fit other properties
    • 4.16. Type embedding approach
    • 4.17. Descriptor "se_a_mask"
    • 4.18. Descriptor "se_e3_tebd"
    • 4.19. Deep potential long-range (DPLR)
    • 4.20. Deep Potential - Range Correction (DPRc)
    • 4.21. Linear model
    • 4.22. Interpolation or combination with a pairwise potential
    • 4.23. Change the model output bias for trained model
    • 4.24. Floating-point precision of the model
    • 4.25. Use dp show to show the model information
    • 4.26. Use dp pretrained to download built-in models
  • 5. Training
    • 5.1. Train a model
    • 5.2. Advanced options
    • 5.3. Learning rate
    • 5.4. Training Parameters
    • 5.5. Parallel training
    • 5.6. Multi-task training
    • 5.7. TensorBoard Usage
    • 5.8. Known limitations of using GPUs
    • 5.9. Finetune the pre-trained model
  • 6. Freeze and Compress
    • 6.1. Freeze a model
    • 6.2. Compress a model
  • 7. Test
    • 7.1. Test a model
    • 7.2. Calculate Model Deviation
  • 8. Inference
    • 8.1. Python interface
    • 8.2. C/C++ interface
    • 8.3. Node.js interface
  • 9. Command line interface
  • 10. Integrate with third-party packages
    • 10.1. Use deep potential with dpdata
    • 10.2. Use deep potential with ASE
    • 10.3. Run MD with LAMMPS
    • 10.4. Run path-integral MD with i-PI
    • 10.5. Running MD with GROMACS
    • 10.6. Interfaces out of DeePMD-kit
  • 11. Use NVNMD
  • 12. Runtime environment variables
  • 13. FAQs
    • 13.1. How to tune Fitting/embedding-net size ?
    • 13.2. How to control the parallelism of a job?
    • 13.3. Do we need to set rcut < half boxsize?
    • 13.4. How to set sel?
    • 13.5. Installation
    • 13.6. The temperature undulates violently during the early stages of MD
    • 13.7. MD: cannot run LAMMPS after installing a new version of DeePMD-kit
    • 13.8. Model compatibility
    • 13.9. Why does a model have low precision?

Tutorial

  • Tutorials
  • Publications

Developer Guide

  • Find DeePMD-kit C/C++ library from CMake
  • Create a model in TensorFlow
  • Create a model in other backends
  • Atom Type Embedding
  • Coding Conventions
  • CI/CD
  • Python API
  • OP API
  • C++ API
    • Namespace tensorflow
    • Struct NeighborListData
    • Class AtomMap
    • Class DeepBaseModelBackend
    • Class DeepPot
    • Class DeepPotJAX
    • Class DeepPotPD
    • Class DeepPotTF
    • Class DeepSpinBackend
    • Class DeepSpinPT
    • Class DeepTensor
    • Class DeepTensorPT
    • Class DipoleChargeModifier
    • Class DipoleChargeModifierTF
    • Function deepmd::convert_pbtxt_to_pb
    • Function deepmd::get_env_nthreads
    • Function deepmd::model_compatable
    • Function deepmd::print_summary
    • Function deepmd::remap_comm_sendlist
    • Template Function deepmd::select_map(std::vector<VT>&, const std::vector<VT>&, const std::vector<int>&, const int&, const int&, const int&, const int&)
    • Template Function deepmd::select_map_inv(std::vector<VT>&, const std::vector<VT>&, const std::vector<int>&, const int&)
    • Template Function deepmd::select_real_atoms
    • Function deepmd::session_get_dtype
    • Template Function deepmd::session_get_vector
    • Template Function deepmd::session_input_tensors(std::vector<std::pair<std::string, tensorflow::Tensor>>&, const std::vector<VALUETYPE>&, const int&, const std::vector<int>&, const std::vector<VALUETYPE>&, InputNlist&, const std::vector<VALUETYPE>&, const std::vector<VALUETYPE>&, const deepmd::AtomMap&, const int, const int, const std::string, const bool)
    • Typedef deepmd::STRINGTYPE
  • C API
    • Namespace deepmd::hpp
    • Struct InputNlist
    • Struct DP_DeepBaseModelDevi
    • Struct DP_DeepPotModelDevi
    • Struct DP_DeepSpinModelDevi
    • Struct DP_DipoleChargeModifier
    • Class DeepBaseModel
    • Class DeepPot
    • Class DeepSpin
    • Class DeepTensor
    • Specialized Template Function _DP_DeepPotCompute< double >
    • Template Function _DP_DeepPotComputeMixedType
    • Specialized Template Function _DP_DeepPotComputeMixedType< float >
    • Specialized Template Function _DP_DeepPotComputeNList< double >
    • Template Function _DP_DeepPotModelDeviCompute
    • Specialized Template Function _DP_DeepPotModelDeviCompute< float >
    • Specialized Template Function _DP_DeepPotModelDeviComputeNList< double >
    • Template Function _DP_DeepSpinCompute
    • Specialized Template Function _DP_DeepSpinCompute< float >
    • Specialized Template Function _DP_DeepSpinComputeNList< double >
    • Template Function _DP_DeepSpinModelDeviCompute
    • Specialized Template Function _DP_DeepSpinModelDeviCompute< float >
    • Specialized Template Function _DP_DeepSpinModelDeviComputeNList< double >
    • Template Function _DP_DeepTensorCompute
    • Specialized Template Function _DP_DeepTensorCompute< float >
    • Specialized Template Function _DP_DeepTensorComputeNList< double >
    • Template Function _DP_DeepTensorComputeTensor
    • Specialized Template Function _DP_DeepTensorComputeTensor< float >
    • Specialized Template Function _DP_DeepTensorComputeTensorNList< double >
    • Template Function _DP_DipoleChargeModifierComputeNList
    • Specialized Template Function _DP_DipoleChargeModifierComputeNList< float >
    • Function _DP_Get_Energy_Pointer(double&, const int)
    • Function deepmd::hpp::convert_pbtxt_to_pb
    • Template Function deepmd::hpp::select_by_type
    • Function DP_ConvertPbtxtToPb
    • Function DP_DeepBaseModelDeviCheckOK
    • Function DP_DeepBaseModelDeviGetDimAParam
    • Function DP_DeepBaseModelDeviGetNumbTypes
    • Function DP_DeepBaseModelDeviHasDefaultFParam
    • Function DP_DeepBaseModelGetCutoff
    • Function DP_DeepBaseModelGetDimFParam
    • Function DP_DeepBaseModelGetNumbTypesSpin
    • Function DP_DeepBaseModelHasDefaultFParam
    • Function DP_DeepPotCheckOK
    • Function DP_DeepPotCompute2
    • Function DP_DeepPotComputef2
    • Function DP_DeepPotComputeMixedTypef
    • Function DP_DeepPotComputeNList2
    • Function DP_DeepPotComputeNListf2
    • Function DP_DeepPotGetDimAParam
    • Function DP_DeepPotGetNumbTypes
    • Function DP_DeepPotGetTypeMap
    • Function DP_DeepPotIsAParamNAll
    • Function DP_DeepPotModelDeviCompute
    • Function DP_DeepPotModelDeviComputef
    • Function DP_DeepPotModelDeviComputeNList
    • Function DP_DeepPotModelDeviComputeNListf
    • Function DP_DeepPotModelDeviGetCutoff
    • Function DP_DeepPotModelDeviGetDimFParam
    • Function DP_DeepPotModelDeviGetNumbTypesSpin
    • Function DP_DeepPotModelDeviIsAParamNAll
    • Function DP_DeepSpinCompute2
    • Function DP_DeepSpinComputeNList2
    • Function DP_DeepSpinGetCutoff
    • Function DP_DeepSpinGetDimFParam
    • Function DP_DeepSpinGetNumbTypesSpin
    • Function DP_DeepSpinHasDefaultFParam
    • Function DP_DeepSpinModelDeviCheckOK
    • Function DP_DeepSpinModelDeviComputef2
    • Function DP_DeepSpinModelDeviComputeNListf2
    • Function DP_DeepSpinModelDeviGetDimAParam
    • Function DP_DeepSpinModelDeviGetNumbTypes
    • Function DP_DeepSpinModelDeviHasDefaultFParam
    • Function DP_DeepTensorCheckOK
    • Function DP_DeepTensorComputef
    • Function DP_DeepTensorComputeNListf
    • Function DP_DeepTensorComputeTensorf
    • Function DP_DeepTensorComputeTensorNListf
    • Function DP_DeepTensorGetNumbSelTypes
    • Function DP_DeepTensorGetOutputDim
    • Function DP_DeepTensorGetTypeMap
    • Function DP_DeleteDeepBaseModel
    • Function DP_DeleteDeepPot
    • Function DP_DeleteDeepSpin
    • Function DP_DeleteDeepTensor
    • Function DP_DeleteNlist
    • Function DP_DipoleChargeModifierComputeNList
    • Function DP_DipoleChargeModifierGetCutoff
    • Function DP_DipoleChargeModifierGetNumbTypes
    • Function DP_NewDeepPot
    • Function DP_NewDeepPotModelDeviWithParam
    • Function DP_NewDeepPotWithParam2
    • Function DP_NewDeepSpinModelDevi
    • Function DP_NewDeepSpinWithParam2
    • Function DP_NewDeepTensorWithParam
    • Function DP_NewDipoleChargeModifierWithParam
    • Function DP_NewNlist_comm
    • Function DP_NlistSetMapping
    • Function DP_PrintSummary
    • Function DP_ReadFileToChar2
    • Function DP_SelectMapInt
    • Define DP_CHECK_OK
    • Define DP_REQUIRES_OK
    • Typedef DP_DeepBaseModelDevi
    • Typedef DP_DeepPotModelDevi
    • Typedef DP_DeepSpinModelDevi
    • Typedef DP_DipoleChargeModifier
  • Core API
    • Struct deepmd_exception_oom
    • Struct InputNlist
    • Template Struct DescrptSeRGPUExecuteFunctor
    • Template Struct GeluGradGPUExecuteFunctor
    • Template Struct ProdForceSeAGPUExecuteFunctor
    • Template Struct ProdVirialSeAGPUExecuteFunctor
    • Template Struct TabulateCheckerGPUExecuteFunctor
    • Template Struct TabulateFusionGradGPUExecuteFunctor
    • Function build_nlist(std::vector<std::vector<int>>&, std::vector<std::vector<int>>&, const std::vector<double>&, const int&, const double&, const double&, const std::vector<int>&, const std::vector<int>&, const std::vector<int>&, const std::vector<int>&, const SimulationRegion<double>&, const std::vector<int>&)
    • Function build_nlist(std::vector<std::vector<int>>&, std::vector<std::vector<int>>&, const std::vector<double>&, const std::vector<int>&, const std::vector<int>&, const double&, const double&, const std::vector<int>&, const SimulationRegion<double>&)
    • Function compute_descriptor(std::vector<double>&, std::vector<double>&, std::vector<double>&, const std::vector<double>&, const int&, const std::vector<int>&, const SimulationRegion<double>&, const bool&, const int&, const std::vector<int>&, const std::vector<int>&, const std::vector<int>&, const std::vector<int>&, const int, const int, const int, const int)
    • Function compute_descriptor_se_a_ef_para
    • Function compute_descriptor_se_a_extf
    • Function compute_dRdT_1
    • Function copy_coord
    • Template Function deepmd::build_nlist_gpu
    • Function deepmd::convert_nlist
    • Template Function deepmd::convert_to_inter_cpu
    • Template Function deepmd::convert_to_phys_cpu
    • Template Function deepmd::copy_coord_cpu
    • Function deepmd::cos_switch(const double&, const double&, const double&)
    • Template Function deepmd::cprod
    • Template Function deepmd::delete_device_memory
    • Template Function deepmd::dot2
    • Template Function deepmd::dot4
    • Function deepmd::DPGetDeviceCount
    • Function deepmd::DPSetDevice
    • Template Function deepmd::env_mat_a_nvnmd_quantize_cpu
    • Template Function deepmd::env_mat_r_cpu
    • Function deepmd::filter_ftype_gpu
    • Template Function deepmd::format_nlist_cpu
    • Template Function deepmd::gelu_cpu
    • Template Function deepmd::gelu_grad_cpu
    • Template Function deepmd::gelu_grad_grad_cpu
    • Function deepmd::group_atoms_cpu
    • Template Function deepmd::invsqrt
    • Specialized Template Function deepmd::invsqrt< float >
    • Template Function deepmd::malloc_device_memory(FPTYPE *&, const int)
    • Template Function deepmd::malloc_device_memory_sync(FPTYPE *&, const std::vector<FPTYPE>&)
    • Template Function deepmd::malloc_device_memory_sync(FPTYPE *&, std::vector<FPTYPE>&)
    • Function deepmd::max_numneigh
    • Template Function deepmd::memcpy_device_to_host(const FPTYPE *, FPTYPE *, const int)
    • Template Function deepmd::memcpy_host_to_device(FPTYPE *, const FPTYPE *, const int)
    • Template Function deepmd::memset_device_memory
    • Template Function deepmd::normalize_coord_cpu
    • Template Function deepmd::pair_tab_cpu
    • Template Function deepmd::prod_env_mat_a_gpu
    • Template Function deepmd::prod_env_mat_r_cpu
    • Template Function deepmd::prod_force_a_cpu(FPTYPE *, const FPTYPE *, const FPTYPE *, const int *, const int, const int, const int, const int)
    • Template Function deepmd::prod_force_a_gpu
    • Template Function deepmd::prod_force_grad_a_gpu
    • Template Function deepmd::prod_force_grad_r_gpu
    • Template Function deepmd::prod_force_r_gpu
    • Template Function deepmd::prod_virial_a_gpu
    • Template Function deepmd::prod_virial_grad_a_gpu
    • Template Function deepmd::prod_virial_grad_r_gpu
    • Template Function deepmd::prod_virial_r_gpu
    • Template Function deepmd::soft_min_switch_force_cpu
    • Template Function deepmd::soft_min_switch_virial_cpu
    • Function deepmd::spline3_switch
    • Template Function deepmd::tabulate_fusion_se_a_cpu
    • Template Function deepmd::tabulate_fusion_se_a_grad_cpu
    • Template Function deepmd::tabulate_fusion_se_a_grad_grad_cpu
    • Template Function deepmd::tabulate_fusion_se_r_cpu
    • Template Function deepmd::tabulate_fusion_se_r_grad_cpu
    • Template Function deepmd::tabulate_fusion_se_r_grad_grad_cpu
    • Template Function deepmd::tabulate_fusion_se_t_cpu
    • Template Function deepmd::tabulate_fusion_se_t_grad_cpu
    • Template Function deepmd::tabulate_fusion_se_t_grad_grad_cpu
    • Template Function deepmd::tabulate_fusion_se_t_tebd_cpu
    • Template Function deepmd::tabulate_fusion_se_t_tebd_grad_cpu
    • Template Function deepmd::tabulate_fusion_se_t_tebd_grad_grad_cpu
    • Template Function deepmd::test_encoding_decoding_nbor_info_gpu
    • Function deepmd::use_nei_info_gpu
    • Template Function deepmd::volume_cpu
    • Template Function dotmul_flt_nvnmd
    • Function DPAssert(hipError_t, const char *, int, bool)
    • Function env_mat_r
    • Template Function find_max_expo(int64_t&, T *, int64_t, int64_t)
    • Function format_nlist_i_fill_a
    • Function nborAssert(cudaError_t, const char *, int, bool)
    • Function omp_get_num_threads
    • Template Function split_flt
    • Define DPErrcheck
    • Define GPU_MAX_NBOR_SIZE
    • Define gpuDeviceSynchronize
    • Define gpuGetLastError
    • Define gpuMemcpy
    • Define gpuMemcpyDeviceToDevice
    • Define gpuMemcpyDeviceToHost
    • Define gpuMemcpyHostToDevice
    • Define gpuMemset
    • Define MOASPNDIM
    • Define NBIT_FLTF
    • Define nborErrcheck
    • Define TPB
    • Typedef uint_64

Project Details

  • License
  • Authors and Credits
  • Logo
  • .rst

FAQs

13. FAQs#

As a consequence of differences in computers or systems, problems may occur. Some common circumstances are listed as follows. In addition, some frequently asked questions are listed as follows. If other unexpected problems occur, you’re welcome to contact us for help.

Troubleshooting

  • 13.1. How to tune Fitting/embedding-net size ?
  • 13.2. How to control the parallelism of a job?
  • 13.3. Do we need to set rcut < half boxsize?
  • 13.4. How to set sel?
  • 13.5. Installation
  • 13.6. The temperature undulates violently during the early stages of MD
  • 13.7. MD: cannot run LAMMPS after installing a new version of DeePMD-kit
  • 13.8. Model compatibility
  • 13.9. Why does a model have low precision?

previous

12. Runtime environment variables

next

13.1. How to tune Fitting/embedding-net size ?

By DeepModeling

© Copyright 2017-2026, DeepModeling.

京ICP备20010051号-8