-
Notifications
You must be signed in to change notification settings - Fork 17
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
NaN Values in Sella ApproximateHessian and ASE SQLite Unique ID Conflict in Kinbot #80
Comments
This is a weird problem. it doesn't seem to be KinBot's fault, but to be 100 % sure maybe you can send me the files necessary to replicate the problem. Something I just realized is that numpy guys just released version 2.0 less than a month ago and this brakes a lot of things which might include ASE. Do you know which version of numpy are you using? If it's >=2.0 you might wanna try with 1.x. For reference I have 1.25 in my machine. |
Hi, I've modified Since this issue seems pretty niche, the work needed to dig into it might not be worth it. My temporary fix has solved the problem, so I think we can call this issue closed. If anyone else runs into it, (and ASE has not fixed it yet) they can use my fix or re-open this issue. Best |
Hello, Problem 1: Sella Optimizer and ApproximateHessian NaN Values
After some investigation, I found that in the I’ve already tested my NN PES thoroughly in its ability to predict accurate forces and energies, so I doubt the errors stem from there. Is this expected behavior in the I have also notices that this error often occurs for systems of size 1 or 2. For systems with only one atom, my NN_PES looks up the energies in a lookup table and sets the forces to zero. Could the zero forces cause this issue? This issue might also be related to two other issues on the
It occurs because there's already an entry in the database with the same Although the error appears in the ASE DB code, I believe it may stem from either I’ve attached a well exploration script generated by As a first step, could you check if this error occurs for you as well? Any help or guidance would be greatly appreciated. |
Hello again, Here’s a little update. I believe I managed to fix the first issue regarding the NaN values by merging the pull request on the Regarding the second issue:I’ve discovered that the problem lies in how the This generates a random integer within a specific range using random.randint and then converts it to a hexadecimal string. However, when I run multiple well explorations in I still believe this issue is somehow tied to However, this behavior may be intentional, as we want Any assistance or insights regarding the cause of this behavior, as well as suggestions on how to best tackle the issue, would be greatly appreciated. Best |
Hello all,
I'm encountering an error when trying to run Kinbot using my own NN PES, as mentioned in issue #79 . The error seems to occur within the code related to the databases in the ASE library.
Since the problem appears to be linked to ASE, I'm unsure whether it would be appropriate to also report this in the ASE forums . But I believe it's worth raising this issue here as well.
The traceback looks as follows:
The error is triggered in the
deblob()
function of thesqlite.py
script from the ASE package, when attempting to use thenp.frombuffer()
function to decode a binary buffer string to a data type, which by default is float64. It appears that the issue is related to the data type of the buffer stored in the SQLite database. ASE seems to be decoding this binary buffer string asfloat64
by default, while the actual data is infloat32
format. For now, I have managed to resolve this issue by editing thedeblob()
function in thesqlite.py
script. Here’s the change I made:This approach allows the code to proceed normally in most cases, using
dtype=float64
. If the error is triggered, the code attempts to decode the buffer asfloat32
, which resolves the issue for my NN PES.I am unsure whether this error originates from the Kinbot code, where it might be assumed that calculators always return values as
float64
. Or from the ASE sqlite library, which might be presuming that the database only containsfloat64
values.The the above tempoary solution fixed this issue for me for now, but I think it still should be investigated where this error originally stems from.
Thank you for the quick responses and helpful attitude.
Best
Ilias
The text was updated successfully, but these errors were encountered: