ReactionMechanismGenerator / ARC

ARC - Automatic Rate Calculator
https://reactionmechanismgenerator.github.io/ARC/index.html
MIT License
43 stars 21 forks source link

Modify tani env #613

Closed kfir4444 closed 1 year ago

codecov[bot] commented 1 year ago

Codecov Report

Merging #613 (a91f60c) into main (413ba6c) will increase coverage by 0.00%. The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #613   +/-   ##
=======================================
  Coverage   72.15%   72.16%           
=======================================
  Files          97       97           
  Lines       25608    25608           
  Branches     5408     5408           
=======================================
+ Hits        18477    18479    +2     
+ Misses       5769     5768    -1     
+ Partials     1362     1361    -1     

see 1 file with indirect coverage changes

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

kfir4444 commented 1 year ago

Thanks! Can you explain the rationale?

Sure @alongd! The old tani_env was indeterministic in package version. When specifying: - pytorch::pytorch without a version, most likely mamba/conda takes a version that "works" with all package requirements and is the latest. The issue I solve here stems from the fact that pytorch deprecated a function: torch.symeig in favor of torch.linalg.eigh. However, TorchANI uses torch.symeig, so we no longer have the privilege of not specifying which exact version of pytorch. Yet, when specifying an exact pytorch version, there are conflicts with other packages, that seem to last a small infinity. So, to solve this issue, @Laxzal and I used an existing tani_env with the latest pytorch version that allowed usage of torchani, and froze it with all the specific packages, so we always know exactly which packages to install for torchani, and we know that it always works.