<p align="center">
<img src="https://user-images.githubusercontent.com/25933639/115118678-508c0400-9f9c-11eb-9ce4-ebf0529edeba.png" alt="Denali Mountain"/>
</p>
This verison comes with new optimization strategies as well as improvements to existing functionality. You can install it using pip:
bash
pip install --upgrade summit
Below are some highlights!
Multitask Bayesian Optimization Strategy
![mtbo strategy code](https://user-images.githubusercontent.com/25933639/115930012-a838dc80-a480-11eb-984a-c81f04c78f82.png)
Multitask models have been shown to improve performance of things like drug activity and site selectivity. We extended this concept to accelerate reaction optimization in a [paper](https://chemrxiv.org/articles/preprint/Multi-task_Bayesian_Optimization_of_Chemical_Reactions/13250216) published in the NeurIPs ML4 Molecules workshop last year (see the code for the paper [here](https://github.com/sustainable-processes/summit/tree/master/experiments/multitask)). This functionality is encapsulated in the [MTBO strategy](https://gosummit.readthedocs.io/en/latest/strategies.html#mtbo). The strategy works by taking data from one reaction optimization and using it to help with another.
ENTMOOT Strategy
[ENTMOOT](https://arxiv.org/abs/2003.04774) is a technique that uses gradient boosted tree models inside a bayesian optimization loop. jezsadler of Ruth Misener's research group kindly contributed a [new strategy](https://gosummit.readthedocs.io/en/latest/strategies.html#entmoot) based on their original code. It is currently an experimental feature.
Improvements to TSEMO
TSEMO is the best performing strategy in Summit for multiobjective optimization, but it previously had issues with robustness. We changed from GPy to GPytorch for the implementation of gaussian processes (GPs), which resolved this issue. Additionally, TSEMO documentation was improved and more metadata about the GP hyperparameters were added to the return of `suggest_experiments`.
Overhaul of the Experimental Emulator
![carbon (3)](https://user-images.githubusercontent.com/25933639/115930905-29dd3a00-a482-11eb-8cd4-5c0812203c9f.png)
The [ExperimentalEmulator](https://gosummit.readthedocs.io/en/latest/experiments_benchmarks/experimental_emulator.html) enables you to create new benchmarks based on experimental data. Underneath the hood, a machine learning model is trained, which predicts the outcomes of a reaction given the reaction conditions. The code for ExperimentalEmulator was simplified using [Skorch](https://skorch.readthedocs.io/en/latest/skorch.html), an extension to scikit-learn that works with pytorch. See this [tutorial](https://gosummit.readthedocs.io/en/latest/tutorials/new_benchmarks.html) to learn how to create your own benchmark.
Deprecation of Gryffin
[Gryffin](https://arxiv.org/abs/2003.12127) is a strategy for optimization mixed categorical-continuous domains. This enables things like selecting catalysts when descriptors are not available. Unfortunately, there were repeated issues with installing Gryffin, so we removed it. Similar functionality can be achieved with the [SOBO](https://gosummit.readthedocs.io/en/latest/strategies.html#sobo) or [MTBO](https://gosummit.readthedocs.io/en/latest/strategies.html#mtbo) strategy.
Other performance improvements and bug fixes
- Some imports were inlined to improve startup performance of Summit
- The dependency list was trimmed. We hope to improve this further by removing the need for GPy and GPyOpt and relying solely on GPytorch and BOtorch.
- and many more!