Recent Releases of torchani

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)

@IgnacioJPickering @yueyericardo, @khuddzu @nterrel

- Python
Published by IgnacioJPickering 7 months ago

torchani - 2.2.4

What's Changed

  • Set C++17 for latest pytorch versions. Add flags for CUDA 12 and 11.8 by @RaulPPelaez in https://github.com/aiqm/torchani/pull/641

New Contributors

  • @RaulPPelaez made their first contribution in https://github.com/aiqm/torchani/pull/641

Full Changelog: https://github.com/aiqm/torchani/compare/2.2.3...2.2.4

- Python
Published by yueyericardo over 2 years ago

torchani - 2.2.3

What's Changed

  • Fix cuaev build on CUDA 11.5 and latest torch by @zasdfgbnm in https://github.com/aiqm/torchani/pull/603
  • Create CITATION by @zasdfgbnm in https://github.com/aiqm/torchani/pull/608
  • Use torch.div instead of // by @RMeli in https://github.com/aiqm/torchani/pull/615
  • add keyword arguments to testAEVComputer by @rschireman in https://github.com/aiqm/torchani/pull/619
  • Fixed: symeig deprication by @kfir4444 in https://github.com/aiqm/torchani/pull/627

New Contributors

  • @rschireman made their first contribution in https://github.com/aiqm/torchani/pull/619
  • @kfir4444 made their first contribution in https://github.com/aiqm/torchani/pull/627

Full Changelog: https://github.com/aiqm/torchani/compare/2.2.2...2.2.3

- Python
Published by yueyericardo almost 3 years ago

torchani - TorchANI 2.2

  • unique_consecutive is now supported by TorchScript, so the workaround for it is removed from TorchANI (#471)
  • Added missing dependency requests (#486)
  • torchani.data now 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.data for returning species with 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)

- Python
Published by zasdfgbnm over 5 years ago

torchani - 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:

  • Switch to PyTorch implementation of AdamW (#464)
  • Data API improvements (#463, #475)
  • BuiltinNet is refactored (#474, #473, #476)
  • SpeciesConverter device fix (#461, #462)
  • Documentation improvements (#479, #478)
  • Fix flake8 (#466)

- Python
Published by farhadrgh over 5 years ago

torchani - 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:

  • Switch to PyTorch implementation of AdamW (#464)
  • Data API improvements (#463, #475)
  • BuiltinNet is refactored (#474, #473, #476)
  • SpeciesConverter device fix (#461, #462)
  • Documentation improvements (#479, #478)
  • Fix flake8 (#466)

- Python
Published by farhadrgh over 5 years ago

torchani - TorchANI 2.0

  • The dataset API torchani.data has 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 of AEVComputer, and it has become a deoptimization. (#428, #405, #404, #456, #434, #433, #432, #431).
  • AEVComputer performance 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)

- Python
Published by farhadrgh almost 6 years ago

torchani - TorchANI 1.2

*Please update your PyTorch to latest nightly build!*

Changes

  • Add support for indexing species with periodic table element index. (#396, #399)
    • To convert from the periodic table index to the 0, 1, 2, 3, ... index, checkout torchani.SpeciesConverter (#396)
    • To switch to the periodic table index for builtin models, set the argument periodic_table_index=True when constructing. (#399)
  • Submodules of ANIModel can now have a name. To use this feature, pass an OrderedDict instead of a list to its constructor. (#398)
  • torchani.utils.hessian is now supported by JIT. (#397)
  • Documentation improvements (#400, #401, #402)

- Python
Published by zasdfgbnm over 6 years ago

torchani - 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)
  • EnergyShifter now 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) - enumerate is now correctly supported by JIT (#358) - Tensor factories like new_zeros are now correctly supported by JIT (#353, #362) - Subclassing ModuleList is now supported by JIT (#385) - Bugs on the type inference of torch.arange is 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 nan as 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 pbc and cell to torchani.nn.Sequential (#386)
  • Code for analytical stress calculation has been improved (#387)
  • Use torch.triu_indices to simplify code (#367, #368)

- Python
Published by zasdfgbnm over 6 years ago

torchani - 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.

- Python
Published by zasdfgbnm over 6 years ago

torchani - TorchANI 1.0

  • TorchScript compatibility has been added to export TorchANI models through torch.jit. Users can now use C++ API for deployments. (#303, #305, #306, #307, #308, #326, #327).
  • Some APIs are changed due to the compatibility issue with TorchScript:
    • AEVComputer input is changed, cell and pbc are now keyword arguments. (#303)
    • Ensemble is now hardcoded to have a size of 8. (#307)
    • torchani.nn.Sequential is added to include type annotations for JIT. (#307)
  • An example of how the models can be exported using PyTorch JIT has been provided (#328).
  • All the unit tests and checks have been moved to GitHub Actions. (#309, #310, #313, #314, #317, #318, #319, #322, #323, #324)
  • Added a script for profiling the training on NVIDIA GPUs using Nsight System (#325)
  • Bug fixed in the dimensions of self_energies for a dataset containing only one element (#302)

- Python
Published by farhadrgh over 6 years ago

torchani - TorchANI 0.9

  • The package name of PyTorch has changed from torch-nightly to torch, we update it respectively (#295, #294)
  • Add new experimental data API that has much less memory usage and much better performance (#284, #299)
  • Example files now reproduce NeuroChem results after taking out the outlier energy conformers (#287)
  • Accelerate angular AEV computation and reduce memory cost (#290)
  • Remove all large files and stop using git-lfs (#289)

- Python
Published by farhadrgh over 6 years ago

torchani - TorchANI 0.8

  • Support PyTorch new torch.bool datatype. (#278) Warning: Boolean tensor is a breaking change introduced in PyTorch, TorchANI has to be updated to run on the latest PyTorch, otherwise it will produce wrong results.
  • Improve TorchANI to be more close to NeuroChem. Update examples respectively. Also, provide helper functions. (#283, #282, #280, #279, #275, #261, #259, #255, #245, #263)
  • Add example for energy/force training. (#249, #240, #238, #233)
  • Bug fixed in AdamW implementation. (#261)
  • Dataset related API has changed, see the new API doc for detail. Its implementations are also improved. (#230, #231, #232, #236, #237, #250, #257, #272)
  • Builtin models API has changed, and implementation improved. (#252, #266)
  • Fix a bug of not having torchani.data when ignite is not installed. (#256)

- Python
Published by farhadrgh over 6 years ago

torchani - TorchANI 0.7

  • Experimental support for weight decay (#223)
  • Add example of training ANI models by manually writing training loops that has the same configuration as NeuroChem (#224)
  • Use torch.utils.tensorboard to replace tensorboardX (#224)
  • h5py and pytorch-ignite-nightly are removed from dependencies, so that inference-only application do not need to install them (#224)
  • MAE vs MaxAE are clarified in NeuroChem trainer (#225)
  • Support mode computation in vibrational_analysis(#228)

- Python
Published by zasdfgbnm almost 7 years ago

torchani - TorchANI 0.6

  • Fix bug of analytical stress of PBC (#221)
  • Add support for analytical hessian and vibrational analysis (#222)

- Python
Published by zasdfgbnm almost 7 years ago

torchani - TorchANI 0.5

  • Fix a bug on PBC (#214)
  • Add support for analytical stress (#218)

- Python
Published by zasdfgbnm almost 7 years ago

torchani - TorchANI 0.4.2

  • Fix ase interface on GPU (#212)

- Python
Published by zasdfgbnm almost 7 years ago

torchani - TorchANI 0.4.1

  • Further performance improvements (#202, #204, #205, #206,#207)
  • Use a stable API torch.unique_consecutive to replace the temporary unique in most recent nightly PyTorch (#209)

- Python
Published by zasdfgbnm almost 7 years ago

torchani - TorchANI 0.4

  • Rewrite AEVComputer to improve performance and reduce memory usage (#197)

Note that this release use a very new PyTorch operator torch.repeat_interleave and a very new temporary API torch._unique_dim2_temporary_will_remove_soon. Please make sure you update your nightly PyTorch before updating TorchANI. New version of TorchANI will be released when torch._unique_dim2_temporary_will_remove_soon is removed to make sure TorchANI always work with latest nightly PyTorch.

- Python
Published by zasdfgbnm almost 7 years ago

torchani - TorchANI 0.3.1

  • Inference on Python 2.7 (#171 , #172)

- Python
Published by zasdfgbnm about 7 years ago

torchani - TorchANI 0.3

  • Added ANI-1ccx model. (https://github.com/aiqm/torchani/pull/167)
  • Added model zoo API. (https://github.com/aiqm/torchani/pull/169)

- Python
Published by zasdfgbnm about 7 years ago

torchani - TorchANI 0.2.2

  • Fix a bug of ASE interface giving zero forces when box size is 0 (#165)
  • Some fixes on Windows (#161)
  • Fix docs about installation (#163)

- Python
Published by zasdfgbnm about 7 years ago

torchani - TorchANI 0.2.1

Basically same as 0.2 Use bdist to deploy to PYPI to reduce package size

- Python
Published by zasdfgbnm about 7 years ago

torchani - TorchANI 0.2

  • ASE interface
  • YAML constructor for NeuroChem Trainer
  • Version tag torchani.__version__

- Python
Published by zasdfgbnm about 7 years ago

torchani - First release of TorchANI

This is the first release of TorchANI

- Python
Published by zasdfgbnm about 7 years ago