NEXTorch

https://zenodo.org/badge/DOI/10.5281/zenodo.5144404.svg

NEXTorch is an open-source software package in Python/PyTorch to faciliate experimental design using Bayesian Optimization (BO).

NEXTorch stands for Next EXperiment toolkit in PyTorch/BoTorch. It is also a library for learning the theory and implementation of Bayesian Optimization.

https://github.com/VlachosGroup/nextorch/blob/62b6163d65d2b49fdb8f6d3485af3222f4409500/docs/source/logos/nextorch_logo_doc.png

Documentation

See our documentation page for examples, equations used, and docstrings.

Developers

Dependencies

  • Python >= 3.7

  • PyTorch >= 1.8: Used for tensor operations with GPU and autograd support

  • GPyTorch >= 1.4: Used for training Gaussian Processes

  • BoTorch >= 0.4.0: Used for providing Bayesian Optimization framework

  • Matplotlib: Used for generating plots

  • PyDOE2: Used for constructing experimental designs

  • Numpy: Used for vector and matrix operations

  • Scipy: Used for curve fitting

  • Pandas: Used to import data from Excel or CSV files

  • openpyxl: Used by Pandas to import Excel files

  • pytest: Used for unit tests

Getting Started

  1. Install using pip (see documentation for full instructions):

    pip install nextorch
    
  2. Run the unit tests.

  3. Read the documentation for tutorials and examples.

License

This project is licensed under the MIT License - see the LICENSE.md. file for details.

Contributing

If you have a suggestion or find a bug, please post to our Issues page on GitHub.

Questions

If you are having issues, please post to our Issues page on GitHub.

Funding

This material is based upon work supported by the Department of Energy’s Office of Energy Efficient and Renewable Energy’s Advanced Manufacturing Office under Award Number DE-EE0007888-9.5.

Acknowledgements

  • Jaynell Keely (Logo design)

Publications

Y. Wang, T.-Y. Chen, and D.G. Vlachos, NEXTorch: A Design and Bayesian Optimization Toolkit for Chemical Sciences and Engineering, J. Chem. Inf. Model. 2021, 61, 11, 5312–5319.