You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Recently I have been trying to play with the source code of deepmd-kit (v2.2.8.dev0+g839f4fe7.d20231129, TensorFlow version:2.8.0). I would like to use some "pseudo-atoms" to prob the scalar field near atoms. In this case, there will be some pseudo-atoms in a very short distance (<=0.04 or even =0 Å). It seems that when the distance is very small, there will be nan values while training on GPU, even if I have dropped the overlapped pseudo-atoms with atoms. I regarded this as the issue of 1/r terms. So, I was wondering whether I could first add a small value epsilon into the codes to test whether the implementation works.
I have tried to add an eps=0.1 to lib/src/gpu/prod_env_mat.cu, lib/src/env_mat.cc, and lib/include/ComputeDescriptor.h. For example in prod_env_mat.cu:
Since I would like to first test whether the training will work properly or not, I have not considered the correction of derivatives yet.
However, there are still nan values after training for 300 steps (min nbor dist: 0.04066720115198197). So here I would like to ask:
Is there any simple solution to deal with the short-distance problem?
Could anyone tell me where to change the codes if possible?
I will be very appreciative of any help you can provide! Thank you very much!
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Hi all,
Recently I have been trying to play with the source code of deepmd-kit (v2.2.8.dev0+g839f4fe7.d20231129, TensorFlow version:2.8.0). I would like to use some "pseudo-atoms" to prob the scalar field near atoms. In this case, there will be some pseudo-atoms in a very short distance (<=0.04 or even =0 Å). It seems that when the distance is very small, there will be nan values while training on GPU, even if I have dropped the overlapped pseudo-atoms with atoms. I regarded this as the issue of 1/r terms. So, I was wondering whether I could first add a small value epsilon into the codes to test whether the implementation works.
I have tried to add an eps=0.1 to


lib/src/gpu/prod_env_mat.cu
,lib/src/env_mat.cc
, andlib/include/ComputeDescriptor.h
. For example inprod_env_mat.cu
:Since I would like to first test whether the training will work properly or not, I have not considered the correction of derivatives yet.
However, there are still nan values after training for 300 steps (min nbor dist: 0.04066720115198197). So here I would like to ask:
I will be very appreciative of any help you can provide! Thank you very much!
Beta Was this translation helpful? Give feedback.
All reactions