Releases: aiqm/torchani
TorchANI 2.6
This release constitutes an overhaul of the library, making it more modular and performant. There are a few backwards incompatible code changes, but most code will run with no changes.
Please consult the documentation for a comprehensive overview of the changes and new features, which include:
- Adding arbitrary analytic potentials to models
- Built in implementations of DFT-D3, GFN2-xTB repulsion, and other potentials
- Flexible model constructor for experimenting with different NN architectures
- Customizable AEV terms and cutoff functions
- Modular neighborlists for use with any model, including an accelerated
$O(N)$ cell list and a Verlet list. - Improved defaults of all models that make the PES smoother and better representative of the atomization limit
-
torchani.datasets, to manipulate, create, and pre-batch ANI datasets - Optimized CUAEV extension
- Optimized ensemble inference with BmmEnsemble
- Parallel calculations over elements using MultiNetParallel (MNP)
2.2.4
What's Changed
- Set C++17 for latest pytorch versions. Add flags for CUDA 12 and 11.8 by @RaulPPelaez in #641
New Contributors
- @RaulPPelaez made their first contribution in #641
Full Changelog: 2.2.3...2.2.4
2.2.3
What's Changed
- Fix cuaev build on CUDA 11.5 and latest torch by @zasdfgbnm in #603
- Create CITATION by @zasdfgbnm in #608
- Use torch.div instead of // by @RMeli in #615
- add keyword arguments to testAEVComputer by @rschireman in #619
- Fixed: symeig deprication by @kfir4444 in #627
New Contributors
- @rschireman made their first contribution in #619
- @kfir4444 made their first contribution in #627
Full Changelog: 2.2.2...2.2.3
TorchANI 2.2
unique_consecutiveis now supported by TorchScript, so the workaround for it is removed from TorchANI (#471)- Added missing dependency
requests(#486) torchani.datanow allow using custom padding values (#489)- Updated TorchANI paper information (#494, #506)
- Remove Python 2.7 style
super, this is known to have issues on some Python build (#496) - Fix
torchani.datafor returningspecieswith wrong dtype (#502) - Fixes the uninstall of
pip(#500) - Source tarballs will also be distributed to PyPI (#508)
- Improvements on unit tests and other maintainability related issue (#487, #488, #490, #491, #493, #495)
TorchANI 2.1.1
Highlights:
- TorchANI paper is submitted to JCIM (#465, #469)
- ANI2x model is added as a built-in model for inference. (#480)
- Due to the size limit of PyPI, ANI1ccx and ANI2x models are moved to a separate repository. They will be automatically downloaded at the first time of use.
Other changes:
TorchANI 2.1
Edit: This release is not in PyPI because it exceeds the maximum file size limit of PyPI. We will make a new release 2.1.1 to remove models outside TorchANI. Models will be automatically downloaded when used for the first time
Highlights:
- TorchANI paper is submitted to JCIM (#465, #469)
- ANI2x model is added as a built-in model for inference. (#480)
Other changes:
TorchANI 2.0
- The dataset API
torchani.datahas been rewritten. In the new dataset API, we no longer split batches into chunks. Splitting batches into chunks was an optimization to an old implementation ofAEVComputer, and it has become a deoptimization. (#428, #405, #404, #456, #434, #433, #432, #431). AEVComputerperformance improvements and bug fixes (#451, #449, #447, #440, #438, #437, #436, #429, #420, #419, #418, #446)- Documentation improvements (#460, #442, #425)
- Improvements on vibrational analysis (#427, #413)
- Improve the handle of units (#422)
- Bug fixes in ASE interface (#426, #417, #409)
- Improvements in tool scripts (#412, #411, #410, #435, #453, #430)
TorchANI 1.2
Please update your PyTorch to latest nightly build!
Changes
- Add support for indexing species with periodic table element index. (#396, #399)
- Submodules of
ANIModelcan now have a name. To use this feature, pass anOrderedDictinstead of alistto its constructor. (#398) torchani.utils.hessianis now supported by JIT. (#397)- Documentation improvements (#400, #401, #402)
TorchANI 1.1
Please update your PyTorch to latest nightly build!
Highlights
- Python 2 support is removed (#370, #390)
- Ignite helper is removed (#354, #364)
- AEV cacher is removed (#361)
EnergyShifternow always use float64 as datatype (#338, #347)- The API for the ASE interface has been simplified (#386)
Python 3
Previously we were supporting Python 2, which limits the language feature we could use. Now PyTorch has started dropping Python 2 support on their nightly builds. So TorchANI also dropped Python 2 support, which enables lots of new language features to improve our code quality:
- Use
@operator for matrix multiplication (#371) - Type annotation is now in Python 3 style (#372, #373, #374, #375)
TorchScript Support
In TorchANI 1.0, we added TorchScript support. But due to bugs/lacking features in PyTorch, we had to make many workarounds, which introduce some problems. PyTorch has improved a lot since then, so we remove some of the workarounds to make TorchANI great again:
- Ensemble size is no longer hardcoded to 8 (#352)
enumerateis now correctly supported by JIT (#358)- Tensor factories like
new_zerosare now correctly supported by JIT (#353, #362) - Subclassing
ModuleListis now supported by JIT (#385) - Bugs on the type inference of
torch.arangeis now fixed (#357) __constants__is deprecated by torch.jit (#378)
Bug Fixes and Miscellaneous Improves
- Fix bugs on CUDA support (#341, #350)
- Fix bug in discarding outlier energy conformers (#334, #340)
- Mention what unit is used in docs (#389)
- Fix the homepage URL in PyPI page (#363)
- Modules now return a named tuple instead of a tuple (#380)
- Support
nanas a value in NeuroChem parser (#383) - Remove warning on don't use conda to install PyTorch, because this is no longer a problem (#366)
- Allow passing
pbcandcelltotorchani.nn.Sequential(#386) - Code for analytical stress calculation has been improved (#387)
- Use
torch.triu_indicesto simplify code (#367, #368)
TorchANI 1.0.1
This is just a dummy release that triggers deployment. See for https://github.com/aiqm/torchani/releases/tag/1.0 changelog.