Optimising chemical reactions using machine learning

Overview

Summit

summit_banner

Documentation Status PyPI

Summit is a set of tools for optimising chemical processes. We’ve started by targeting reactions.

What is Summit?

Currently, reaction optimisation in the fine chemicals industry is done by intuition or design of experiments. Both scale poorly with the complexity of the problem.

Summit uses recent advances in machine learning to make the process of reaction optimisation faster. Essentially, it applies algorithms that learn which conditions (e.g., temperature, stoichiometry, etc.) are important to maximising one or more objectives (e.g., yield, enantiomeric excess). This is achieved through an iterative cycle.

Summit has two key features:

  • Strategies: Optimisation algorithms designed to find the best conditions with the least number of iterations. Summit has eight strategies implemented.
  • Benchmarks: Simulations of chemical reactions that can be used to test strategies. We have both mechanistic and data-driven benchmarks.

To get started, see the Quick Start below or follow our tutorial.

Installation

To install summit, use the following command:

pip install summit

News

Quick Start

Below, we show how to use the Nelder-Mead strategy to optimise a benchmark representing a nucleophlic aromatic substitution (SnAr) reaction.

# Import summit
from summit.benchmarks import SnarBenchmark
from summit.strategies import NelderMead, MultitoSingleObjective
from summit.run import Runner

# Instantiate the benchmark
exp = SnarBenchmark()

# Since the Snar benchmark has two objectives and Nelder-Mead is single objective, we need a multi-to-single objective transform
transform = MultitoSingleObjective(
    exp.domain, expression="-sty/1e4+e_factor/100", maximize=False
)

# Set up the strategy, passing in the optimisation domain and transform
nm = NelderMead(exp.domain, transform=transform)

# Use the runner to run closed loop experiments
r = Runner(
    strategy=nm, experiment=exp,max_iterations=50
)
r.run()

Documentation

The documentation for summit can be found here.

Issues?

Submit an issue or send an email to [email protected].

Citing

If you find this project useful, we encourage you to

  • Star this repository
  • Cite our paper.
@article{Felton2021,
author = "Kobi Felton and Jan Rittig and Alexei Lapkin",
title = "{Summit: Benchmarking Machine Learning Methods for Reaction Optimisation}",
year = "2021",
month = "2",
url = "https://chemistry-europe.onlinelibrary.wiley.com/doi/full/10.1002/cmtd.202000051",
journal = "Chemistry Methods"
}
Comments
  • Lack of max python version in Summit 0.8.4

    Lack of max python version in Summit 0.8.4

    • Operating System: Arch
    • Python version: 3.10.6
    • summit version used: 0.8.4

    Description

    I installed Summit via pip and the system installed 0.8.4 even if 0.8.6 is the latest release. I suppose this happened due to the fact that in the sources of 0.8.4 there is no indication that Python 3.10 is not supported yet

    https://github.com/sustainable-processes/summit/blob/a1cecdd41df8119005173b46ac45fb22472628d6/pyproject.toml#L14

    while this is present in the sources of 0.8.5 and 0.8.6. This caused the installation of incompatible versions of BoTorch and GPyTorch resulting in messages like this:

    Requirement already satisfied: botorch<0.6.0,>=0.5.0 in /usr/lib/python3.10/site-packages (from summit) (0.5.1)
    Requirement already satisfied: gpytorch<2.0.0,>=1.3.0 in /usr/lib/python3.10/site-packages (from summit) (1.9.0)
    [...]
    Python 3.10.6 (main, Aug  3 2022, 17:39:45) [GCC 12.1.1 20220730] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> from summit.benchmarks import SnarBenchmark
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "/usr/lib/python3.10/site-packages/summit/__init__.py", line 19, in <module>
        from summit.run import *
      File "/usr/lib/python3.10/site-packages/summit/run.py", line 1, in <module>
        from summit.strategies import Strategy, strategy_from_dict
      File "/usr/lib/python3.10/site-packages/summit/strategies/__init__.py", line 9, in <module>
        from .multitask import MTBO, STBO
      File "/usr/lib/python3.10/site-packages/summit/strategies/multitask.py", line 6, in <module>
        from botorch.acquisition import ExpectedImprovement as EI
      File "/usr/lib/python3.10/site-packages/botorch/__init__.py", line 7, in <module>
        from botorch import (
      File "/usr/lib/python3.10/site-packages/botorch/acquisition/__init__.py", line 7, in <module>
        from botorch.acquisition.acquisition import (
      File "/usr/lib/python3.10/site-packages/botorch/acquisition/acquisition.py", line 18, in <module>
        from botorch.models.model import Model
      File "/usr/lib/python3.10/site-packages/botorch/models/__init__.py", line 7, in <module>
        from botorch.models.cost import AffineFidelityCostModel
      File "/usr/lib/python3.10/site-packages/botorch/models/cost.py", line 16, in <module>
        from botorch.models.deterministic import DeterministicModel
      File "/usr/lib/python3.10/site-packages/botorch/models/deterministic.py", line 20, in <module>
        from botorch.models.model import Model
      File "/usr/lib/python3.10/site-packages/botorch/models/model.py", line 19, in <module>
        from botorch.models.utils import fantasize as fantasize_flag
      File "/usr/lib/python3.10/site-packages/botorch/models/utils.py", line 23, in <module>
        from gpytorch.utils.broadcasting import _mul_broadcast_shape
    ImportError: cannot import name '_mul_broadcast_shape' from 'gpytorch.utils.broadcasting' (/usr/lib/python3.10/site-packages/gpytorch/utils/broadcasting.py)
    

    The incompatibility is mentioned here: https://github.com/pytorch/botorch/issues/1370

    Adding a maximum Python version in the old Summit releases should fix.

    Thanks for your work.

    opened by ilario 12
  • Add neldermead

    Add neldermead

    I added the Nelder-Mead Simplex algorithm to strategies (#18). Therefore, I've adapted the Nelder-Mead code from the scipy-optmize package to make it usable for sequential requests.

    Also, the modifications proposed by Cortes-Borda et al. in terms of reflecting points, dimension reduction and dimension recovery are implemented. These modifications increase the chance of finding optimal conditions that are close to the predefined bounds of the variables.

    Constraints are treated within the suggest_experiments method of the Nelder-Mead strategy. Suggested points that violate the constraints are penalized with a function value of ininity (for minimization problems) and the algorithm is called again. Note that if more than one point is suggested by the algorithm, only the points that meet the constraints are returned. Points that violate the constraints are then stored temporarily and read in (again with an associated infinity value) the next time the algorithm is called.

    Note that the number of suggested points can vary for different iterations of the algorithm and one iteration requires at least 2 squential function evalutions, hence one call of the Nelder-Mead algorithm does not correspond to one iteration.

    One 2D (Himmelblau function) and one 3D (Hartmann function) application of the Nelder-Mead strategy are implemented in tests/test_strategies.py. The results are plotted, whereby each point corresponds to a suggested point that meets the constraints and connected points indicate the resulting simplex of one iteration.

    opened by jangerit 8
  • Snobfit fix bugs

    Snobfit fix bugs

    I've fixed issues #28 and #29. This includes:

    • return correct number of suggested experiments, also for small number of requested experiments per batch;
    • transform maximization problems to minimization problems within SNOBFIT.

    Update (13/05/2020):

    • r̵e̵t̵u̵r̵n̵ ̵c̵o̵r̵r̵e̵c̵t̵ ̵n̵u̵m̵b̵e̵r̵ ̵o̵f̵ ̵s̵u̵g̵g̵e̵s̵t̵e̵d̵ ̵e̵x̵p̵e̵r̵i̵m̵e̵n̵t̵s̵,̵ ̵a̵l̵s̵o̵ ̵f̵o̵r̵ ̵s̵m̵a̵l̵l̵ ̵n̵u̵m̵b̵e̵r̵ ̵o̵f̵ ̵r̵e̵q̵u̵e̵s̵t̵e̵d̵ ̵e̵x̵p̵e̵r̵i̵m̵e̵n̵t̵s̵ ̵p̵e̵r̵ ̵b̵a̵t̵c̵h̵;̵
    • adjust snobfit strategy to return varying number of suggested experiments;
    • add more tests for different <number_experiments> of requested experiments (1,2,4) and make <num_iter> and <max_stop> a function of <number_experiments>;
    • transform maximization problems to minimization problems within SNOBFIT.
    opened by jangerit 7
  • run.py avoid writing to disk by default

    run.py avoid writing to disk by default

    • Operating System: Arch Linux
    • Python version: 3.10.8
    • summit version used: 0.8.8

    Description

    The default location for saving stuff is not writable, on my system. And the default behavior is to save stuff on disk. In my opinion, by default, no stuff should be saved, neither temporarily, unless it is actually unavoidable.

    This causes this error on my system:

    PermissionError                           Traceback (most recent call last)
    Cell In[37], line 4
          2 rNMadaptive_20220301 = Runner(strategy=strategyNMadaptive, experiment=emul_constr_20220301, max_iterations=20)
          3 rNMadaptive_20220301.reset()
    ----> 4 rNMadaptive_20220301.run(prev_res=starting_points_20220301)
    
    File /home/ilario/.venv/lib/python3.10/site-packages/summit/run.py:145, in Runner.run(self, **kwargs)
        143 save_dir = pathlib.Path(save_dir) / "runner" / str(self.uuid_val)
        144 if not os.path.isdir(save_dir):
    --> 145     os.makedirs(save_dir)
        146 save_at_end = kwargs.get("save_at_end", True)
        148 n_objs = len(self.experiment.domain.output_variables)
    
    File /usr/lib/python3.10/os.py:215, in makedirs(name, mode, exist_ok)
        213 if head and tail and not path.exists(head):
        214     try:
    --> 215         makedirs(head, exist_ok=exist_ok)
        216     except FileExistsError:
        217         # Defeats race condition when another thread created the path
        218         pass
    
    File /usr/lib/python3.10/os.py:215, in makedirs(name, mode, exist_ok)
        213 if head and tail and not path.exists(head):
    ...
        227     # Cannot rely on checking for EEXIST, since the operating system
        228     # could give priority to other errors like EACCES or EROFS
        229     if not exist_ok or not path.isdir(name):
    
    PermissionError: [Errno 13] Permission denied: '/usr/bin/.summit'
    

    A possible solution is to specify the save_dir path in the run command like:

    rNM_20220301.run(prev_res=starting_points_20220301, save_dir="~")
    

    But what I would expect is that if save_freq is unset it does not save any file at all, rather than creating it and deleting it.

    In order to do so, the lines to be changed are these ones:

    https://github.com/sustainable-processes/summit/blob/a5e4d0ca848bf3b4c794f2975bc1790e21b0343d/summit/run.py#L144-L145

    https://github.com/sustainable-processes/summit/blob/a5e4d0ca848bf3b4c794f2975bc1790e21b0343d/summit/run.py#L178-L181

    https://github.com/sustainable-processes/summit/blob/a5e4d0ca848bf3b4c794f2975bc1790e21b0343d/summit/run.py#L202-L204

    https://github.com/sustainable-processes/summit/blob/a5e4d0ca848bf3b4c794f2975bc1790e21b0343d/summit/run.py#L343-L344

    https://github.com/sustainable-processes/summit/blob/a5e4d0ca848bf3b4c794f2975bc1790e21b0343d/summit/run.py#L402-L408

    https://github.com/sustainable-processes/summit/blob/a5e4d0ca848bf3b4c794f2975bc1790e21b0343d/summit/run.py#L430-L435

    What I Did

    python -m venv .venv     
    source .venv/bin/activate
    pip install -U summit
    

    Open VSCodium and indicate to use .venv as an environment.

    Run some summit stuff.

    opened by ilario 5
  • Fix TSEMO

    Fix TSEMO

    This is a PR for tracking improvements to TSEMO (issue #2). It is a work in progress.

    I've made one change to the hypervolume reference, but I think it's still not the same as the Bradford paper.

    • [x] Test functions (DTLZ2, vmlop)
    • [x] Correct reference based on Bradford et al.
    • [x] Set up spectral sampling
    • [x] Do some ablation experiments on fixed vs ideal-anti-ideal difference and random rate.
    opened by marcosfelt 5
  • Non-existing module entmoot.optimizer

    Non-existing module entmoot.optimizer

    Summit 0.8.7

    Testing ENTMOOT I observed this error:

    ModuleNotFoundError: No module named 'entmoot'
    

    caused by this line:

    https://github.com/sustainable-processes/summit/blob/249751d57c3603fda99437b35656a1d78e2f0371/summit/strategies/entmoot.py#L253

    opened by ilario 4
  • Experimental emulator

    Experimental emulator

    This PR adds an experimental emulator (data-driven virtual experiment) to Summit.

    The emulator is a BNN predicting experimental outcomes (e.g. yield) given the inputs (i.e., the conditions) of an experiment. It is included in benchmarks.

    The following workflow describes the way to build such an emulator:

    • In the folder summit/benchmarks/experiment_emulator:
      1. upload dataset to the ./data folder with real experimental data
      2. create a loading procedure in experimental_datasets.py that returns inputs and outcomes of the experiments in the uploaded dataset (c.f. load_reizman_suzuki())
      3. set up BNN parameters (e.g. dataset, input dimension, prediction objective, hyperparameters, saving location) and data transformation (e.g.transform discrete variables to one-hot vectors) in bnn.py
      4. run python bnn.py -> The final BNN model parameters will be saved in ./trained_models and the emulator training is finished.
    • In the folder summit/benchmarks: Create a benchmark with the inputs and outputs of the dataset the BNN emulator was trained on. Thereby, set up a BNN model similar to the trained BNN and load the parameters of the trained model (c.f. reizman_suzuki_emulator.py). -> The emulator is now ready for use and acts like a virtual experiment.

    Further regression techniques, like ANNs, can be implemented analogously according to the workflow described above.

    Emulators included in this PR are based on the data for a Suzuki-Miyaura cross coupling reaction (#25) obtained from the SI of the paper published by Reizman et al. (2016).

    opened by jangerit 4
  • Numpy issue in strategies

    Numpy issue in strategies

    • Operating System: Windows 10 Home Version 21H2 Build 19044.1645
    • Python version: 3.10
    • summit version used: 0.8.4
    • Using pycharm

    Description

    Was testing out the strategies module and ran into issues with numpy

    What I Did

    scratch.py

    from summit import * import numpy as np

    domain = Domain()

    domain += ContinuousVariable(name="x_0", description="reaction temperature in celsius", bounds=[50, 100])

    domain += ContinuousVariable(name="x_1", description="flow of reactant a in mL/min", bounds=[0.1, 0.5])

    domain += ContinuousVariable(name="y_0", description="yield", bounds=[0.1, 0.5], is_objective=True, maximize=True)

    domain += ContinuousVariable(name="y_1", description="cost", bounds=[0.1, 0.5], is_objective=True, maximize=True)

    strategy = LHS(domain, random_state=np.random.RandomState(3))

    results = strategy.suggest_experiments(5)

    strategy_lhs = LHS(domain, random_state=np.random.RandomState(3)) results = strategy.suggest_experiments(5) print(results)

    strategy_tsemo = TSEMO(domain) experiments = strategy_tsemo.suggest_experiments(5) print(experiments)

    Error message:

    "C:\Users\njose\Dropbox (Cambridge CARES)\Python\idmt_codeshare\pyflab_CURRENT\venv\Scripts\python.exe" "C:/Users/njose/Dropbox (Cambridge CARES)/Python/idmt_codeshare/pyflab_CURRENT/scratch.py" C:\Users\njose\Dropbox (Cambridge CARES)\Python\idmt_codeshare\pyflab_CURRENT\venv\lib\site-packages\torch_masked_init_.py:223: UserWarning: Failed to initialize NumPy: module compiled against API version 0xf but this version of numpy is 0xe (Triggered internally at ..\torch\csrc\utils\tensor_numpy.cpp:68.) example_input = torch.tensor([[-3, -2, -1], [0, 1, 2]]) Traceback (most recent call last): File "C:\Users\njose\Dropbox (Cambridge CARES)\Python\idmt_codeshare\pyflab_CURRENT\scratch.py", line 25, in strategy = LHS(domain, random_state=np.random.RandomState(3)) NameError: name 'np' is not defined

    Process finished with exit code 1

    opened by njoseGIT 3
  • pip install summit fails with python 3.10 due to requirements

    pip install summit fails with python 3.10 due to requirements

    • Operating System: Windows 10
    • Python version: 3.10
    • summit version used: pypi version (0.8.3)

    Description

    Was trying to install summit through anaconda for python 3.10 but recieved a ResolutionImpossible error. Succeeded when installing summit with python version 3.7.

    What I Did

    conda create -n test_summit_310 python=3.10
    conda activate test_summit_310
    pip install summit
    
    ....
    
    ERROR: Cannot install summit==0.5.0, summit==0.6.0, summit==0.8.0, summit==0.8.1, summit==0.8.2 and summit==0.8.3 because these package versions have conflicting dependencies.
    
    The conflict is caused by:
        summit 0.8.3 depends on scikit-learn<0.25.0 and >=0.24.1
        summit 0.8.2 depends on scikit-learn<0.25.0 and >=0.24.1
        summit 0.8.1 depends on scikit-learn<0.25.0 and >=0.24.1
        summit 0.8.0 depends on scikit-learn<0.25.0 and >=0.24.1
        summit 0.6.0 depends on gryffin<0.2.0 and >=0.1.1
        summit 0.5.0 depends on numpy==1.18.0
    
    To fix this you could try to:
    1. loosen the range of package versions you've specified
    2. remove package versions to allow pip attempt to solve the dependency conflict
    
    ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/user_guide/#fixing-conflicting-dependencies
    
    opened by ddceruti 3
  • TSEMO error

    TSEMO error

    • Operating System: Windows 10
    • Python version: Python 3.7.10 through anaconda
    • summit version used: 0.8.0rc1

    Description

    I'm trying to optimize a chemical rection with 8 inputs and 9 objectives through the TSEMO strategy. However when I use the runner to run closed loop optimisation obtained an error.

    image

    or when I applied the transform the issue I got was image

    Do you know how i can solve this issue? Thank you very much

    opened by AFilipaAlmeida 3
  • Error encountered when running multitask bayesian optimization

    Error encountered when running multitask bayesian optimization

    • Operating System: Ubuntu 16.04
    • Python version: 3.7
    • summit version used: 0.8.0

    Description

    Hi @marcosfelt, thanks for sharing the awesome work! I have encountered an error when I was trying to deploy multitask bayesian optimization on my own task.

    Basically when I tried to call the suggest_experiments function, it raises error like this:

      File "obj_funcs/mtbo_transfer_summit.py", line 184, in <module>
        mtbo_transfer(100, pretrain_data)
      File "obj_funcs/mtbo_transfer_summit.py", line 161, in mtbo_transfer
        result = mtbo.suggest_experiments(num_experiments=1, prev_res=prev_res)
      File "/home/bizon/anaconda3/envs/primitive/lib/python3.7/site-packages/summit/strategies/multitask.py", line 138, in suggest_experiments
        fit_gpytorch_model(mll)
      File "/home/bizon/anaconda3/envs/primitive/lib/python3.7/site-packages/botorch/fit.py", line 126, in fit_gpytorch_model
        mll, _ = optimizer(mll, track_iterations=False, **kwargs)
      File "/home/bizon/anaconda3/envs/primitive/lib/python3.7/site-packages/botorch/optim/fit.py", line 247, in fit_gpytorch_scipy
        callback=cb,
      File "/home/bizon/anaconda3/envs/primitive/lib/python3.7/site-packages/scipy/optimize/_minimize.py", line 620, in minimize
        callback=callback, **options)
      File "/home/bizon/anaconda3/envs/primitive/lib/python3.7/site-packages/scipy/optimize/lbfgsb.py", line 308, in _minimize_lbfgsb
        finite_diff_rel_step=finite_diff_rel_step)
      File "/home/bizon/anaconda3/envs/primitive/lib/python3.7/site-packages/scipy/optimize/optimize.py", line 262, in _prepare_scalar_function
        finite_diff_rel_step, bounds, epsilon=epsilon)
      File "/home/bizon/anaconda3/envs/primitive/lib/python3.7/site-packages/scipy/optimize/_differentiable_functions.py", line 136, in __init__
        self._update_fun()
      File "/home/bizon/anaconda3/envs/primitive/lib/python3.7/site-packages/scipy/optimize/_differentiable_functions.py", line 226, in _update_fun
        self._update_fun_impl()
      File "/home/bizon/anaconda3/envs/primitive/lib/python3.7/site-packages/scipy/optimize/_differentiable_functions.py", line 133, in update_fun
        self.f = fun_wrapped(self.x)
      File "/home/bizon/anaconda3/envs/primitive/lib/python3.7/site-packages/scipy/optimize/_differentiable_functions.py", line 130, in fun_wrapped
        return fun(x, *args)
      File "/home/bizon/anaconda3/envs/primitive/lib/python3.7/site-packages/scipy/optimize/optimize.py", line 74, in __call__
        self._compute_if_needed(x, *args)
      File "/home/bizon/anaconda3/envs/primitive/lib/python3.7/site-packages/scipy/optimize/optimize.py", line 68, in _compute_if_needed
        fg = self.fun(x, *args)
      File "/home/bizon/anaconda3/envs/primitive/lib/python3.7/site-packages/botorch/optim/utils.py", line 219, in _scipy_objective_and_grad
        raise e  # pragma: nocover
      File "/home/bizon/anaconda3/envs/primitive/lib/python3.7/site-packages/botorch/optim/utils.py", line 212, in _scipy_objective_and_grad
        output = mll.model(*train_inputs)
      File "/home/bizon/anaconda3/envs/primitive/lib/python3.7/site-packages/gpytorch/models/exact_gp.py", line 257, in __call__
        res = super().__call__(*inputs, **kwargs)
      File "/home/bizon/anaconda3/envs/primitive/lib/python3.7/site-packages/gpytorch/module.py", line 28, in __call__
        outputs = self.forward(*inputs, **kwargs)
      File "/home/bizon/anaconda3/envs/primitive/lib/python3.7/site-packages/botorch/models/multitask.py", line 167, in forward
        covar = covar_x.mul(covar_i)
      File "/home/bizon/anaconda3/envs/primitive/lib/python3.7/site-packages/gpytorch/lazy/lazy_tensor.py", line 1162, in mul
        return self._mul_matrix(lazify(other))
      File "/home/bizon/anaconda3/envs/primitive/lib/python3.7/site-packages/gpytorch/lazy/lazy_tensor.py", line 506, in _mul_matrix
        return NonLazyTensor(self.evaluate() * other.evaluate())
      File "/home/bizon/anaconda3/envs/primitive/lib/python3.7/site-packages/gpytorch/utils/memoize.py", line 59, in g
        return _add_to_cache(self, cache_name, method(self, *args, **kwargs), *args, kwargs_pkl=kwargs_pkl)
      File "/home/bizon/anaconda3/envs/primitive/lib/python3.7/site-packages/gpytorch/lazy/lazy_tensor.py", line 906, in evaluate
        res = self.matmul(eye)
      File "/home/bizon/anaconda3/envs/primitive/lib/python3.7/site-packages/gpytorch/lazy/interpolated_lazy_tensor.py", line 402, in matmul
        right_interp_res = left_t_interp(self.right_interp_indices, self.right_interp_values, tensor, base_size)
      File "/home/bizon/anaconda3/envs/primitive/lib/python3.7/site-packages/gpytorch/utils/interpolation.py", line 230, in left_t_interp
        summing_matrix = cls(summing_matrix_indices, summing_matrix_values, size)
    RuntimeError: size is inconsistent with indices: for dim 1, size is 1 but found index 1
    

    Here is how I call the function:

    mtbo = MTBO(
            domain=domain,
            pretraining_data=pretraining_data,
            task=1,
            )
    
    result = mtbo.suggest_experiments(num_experiments=1, prev_res=prev_res)
    

    The pretraining_data and prev_res are all wrapped as DataSet format. Here is what the concatenation of pretraining_data and prev_res looks like:

    new data: 
    NAME approach_stiffness_trans approach_stiffness_ang  ... strategy     task
    TYPE                     DATA                   DATA  ... METADATA METADATA
    0                   37.500000             112.500000  ...      LHS        1
    1                  112.500000              37.500000  ...      LHS        1
    0                  109.855384             146.133033  ...     MTBO        1
    1                   17.365006              95.320634  ...     MTBO        1
    2                   88.126421              49.029255  ...     MTBO        1
    ..                        ...                    ...  ...      ...      ...
    495                  1.076072             137.851873  ...     MTBO        1
    496                 34.013880             108.785283  ...     MTBO        1
    497                 30.227277             112.787455  ...     MTBO        1
    498                 79.603186             126.381992  ...     MTBO        1
    499                 54.544665             103.928718  ...     MTBO        1
    

    I'm wondering if that's the correct way to construct the previous results and pretraining data from other tasks. Could you share some insights on how to debug this? Thank you very much!

    opened by wuzheng-sjtu 3
  • Bump setuptools from 65.3.0 to 65.5.1

    Bump setuptools from 65.3.0 to 65.5.1

    Bumps setuptools from 65.3.0 to 65.5.1.

    Changelog

    Sourced from setuptools's changelog.

    v65.5.1

    Misc ^^^^

    • #3638: Drop a test dependency on the mock package, always use :external+python:py:mod:unittest.mock -- by :user:hroncok
    • #3659: Fixed REDoS vector in package_index.

    v65.5.0

    Changes ^^^^^^^

    • #3624: Fixed editable install for multi-module/no-package src-layout projects.
    • #3626: Minor refactorings to support distutils using stdlib logging module.

    Documentation changes ^^^^^^^^^^^^^^^^^^^^^

    • #3419: Updated the example version numbers to be compliant with PEP-440 on the "Specifying Your Project’s Version" page of the user guide.

    Misc ^^^^

    • #3569: Improved information about conflicting entries in the current working directory and editable install (in documentation and as an informational warning).
    • #3576: Updated version of validate_pyproject.

    v65.4.1

    Misc ^^^^

    v65.4.0

    Changes ^^^^^^^

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • Bump wheel from 0.37.1 to 0.38.1

    Bump wheel from 0.37.1 to 0.38.1

    Bumps wheel from 0.37.1 to 0.38.1.

    Changelog

    Sourced from wheel's changelog.

    Release Notes

    UNRELEASED

    • Updated vendored packaging to 22.0

    0.38.4 (2022-11-09)

    • Fixed PKG-INFO conversion in bdist_wheel mangling UTF-8 header values in METADATA (PR by Anderson Bravalheri)

    0.38.3 (2022-11-08)

    • Fixed install failure when used with --no-binary, reported on Ubuntu 20.04, by removing setup_requires from setup.cfg

    0.38.2 (2022-11-05)

    • Fixed regression introduced in v0.38.1 which broke parsing of wheel file names with multiple platform tags

    0.38.1 (2022-11-04)

    • Removed install dependency on setuptools
    • The future-proof fix in 0.36.0 for converting PyPy's SOABI into a abi tag was faulty. Fixed so that future changes in the SOABI will not change the tag.

    0.38.0 (2022-10-21)

    • Dropped support for Python < 3.7
    • Updated vendored packaging to 21.3
    • Replaced all uses of distutils with setuptools
    • The handling of license_files (including glob patterns and default values) is now delegated to setuptools>=57.0.0 (#466). The package dependencies were updated to reflect this change.
    • Fixed potential DoS attack via the WHEEL_INFO_RE regular expression
    • Fixed ValueError: ZIP does not support timestamps before 1980 when using SOURCE_DATE_EPOCH=0 or when on-disk timestamps are earlier than 1980-01-01. Such timestamps are now changed to the minimum value before packaging.

    0.37.1 (2021-12-22)

    • Fixed wheel pack duplicating the WHEEL contents when the build number has changed (#415)
    • Fixed parsing of file names containing commas in RECORD (PR by Hood Chatham)

    0.37.0 (2021-08-09)

    • Added official Python 3.10 support
    • Updated vendored packaging library to v20.9

    ... (truncated)

    Commits
    • 6f1608d Created a new release
    • cf8f5ef Moved news item from PR #484 to its proper place
    • 9ec2016 Removed install dependency on setuptools (#483)
    • 747e1f6 Fixed PyPy SOABI parsing (#484)
    • 7627548 [pre-commit.ci] pre-commit autoupdate (#480)
    • 7b9e8e1 Test on Python 3.11 final
    • a04dfef Updated the pypi-publish action
    • 94bb62c Fixed docs not building due to code style changes
    • d635664 Updated the codecov action to the latest version
    • fcb94cd Updated version to match the release
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • SNOBFIT randomly fails

    SNOBFIT randomly fails

    • Operating System: Arch Linux
    • Python version: 3.10.8
    • summit version used: 0.8.8

    Description

    It did not use to happen, likely it started due to the new version of everything that I am using.

    When I ask for suggested_experiments to SNOBFIT, it some times gives me the answers and some times it gives an error, and this happens repeating exactly this same code:

    strategySNOBFIT = SNOBFIT(domain_constr)
    strategySNOBFIT.reset()
    strategySNOBFIT.suggest_experiments(2, prev_res=prev_res_extreme)
    

    the more experiments I require, the more likely it is to fail.

    This is the error:

    ---------------------------------------------------------------------------
    IndexError                                Traceback (most recent call last)
    Cell In[75], line 2
          1 strategySNOBFIT.reset()
    ----> 2 strategySNOBFIT.suggest_experiments(2, prev_res=prev_res_extreme)
    
    File /home/ilario/.venv/lib/python3.10/site-packages/summit/strategies/snobfit.py:142, in SNOBFIT.suggest_experiments(self, num_experiments, prev_res, **kwargs)
        140 while not valid_next_experiments and c_iter < inner_iter_tol:
        141     valid_next_experiments = False
    --> 142     next_experiments, xbest, fbest, param = self._inner_suggest_experiments(
        143         num_experiments=num_experiments,
        144         prev_res=prev_res,
        145         prev_param=inner_prev_param,
        146     )
        147     # Invalid experiments hidden from data returned to user but stored internally elswehere
        148     invalid_experiments = next_experiments.loc[
        149         next_experiments[("constraint", "DATA")] == False
        150     ]
    
    File /home/ilario/.venv/lib/python3.10/site-packages/summit/strategies/snobfit.py:337, in SNOBFIT._inner_suggest_experiments(self, num_experiments, prev_res, prev_param)
        334 dx = (bounds[:, 1] - bounds[:, 0]) * self._dx_dim
        336 # Run SNOBFIT for one iteration
    --> 337 request, xbest, fbest, param = self.snobfit(x0, y0, config, dx, prev_param)
        339 # Generate DataSet object with variable values of next experiments
        340 next_experiments = {}
    
    File /home/ilario/.venv/lib/python3.10/site-packages/summit/strategies/snobfit.py:609, in SNOBFIT.snobfit(self, x, f, config, dx, prev_param)
        607     fnan = numpy.concatenate((fnan, ind.flatten()))
        608 if fnan.size > 0:
    --> 609     f = snobnan(fnan, f, near, inew)
        611 fbest, jbest = min_(f[:, 0])
        612 xbest = x[jbest]
    
    File /home/ilario/.venv/lib/python3.10/site-packages/SQSnobFit/_snobnan.py:78, in snobnan(fnan, f, near, inew)
         75          ind1 = numpy.concatenate((ind1, [i]), 0)
         77 if ind1.size > 0:
    ---> 78     ind = numpy.delete(ind, ind1, 0)
         80 if ind.size <= 0:
         81     f[l,0] = fmx + 1.e-3*(fmx-fmn)
    
    File <__array_function__ internals>:180, in delete(*args, **kwargs)
    
    File /home/ilario/.venv/lib/python3.10/site-packages/numpy/lib/function_base.py:5128, in delete(arr, obj, axis)
       5126 else:
       5127     keep = ones(N, dtype=bool)
    -> 5128     keep[obj,] = False
       5130 slobj[axis] = keep
       5131 new = arr[tuple(slobj)]
    
    IndexError: arrays used as indices must be of integer (or boolean) type
    

    What I Did

    python -m venv .venv     
    source .venv/bin/activate
    pip install -U summit
    

    This installed these versions of the Python packages:

    GPy-1.10.0 SQCommon-0.3.2 SQSnobFit-0.4.5 attrs-22.1.0 autograd-1.5 botorch-0.7.3 cma-2.7.0 contourpy-1.0.6 cycler-0.11.0 cython-0.29.32 decorator-5.1.1 fastprogress-0.2.6 fonttools-4.38.0 future-0.18.2 gpyopt-1.2.6 gpytorch-1.9.0 h5py-3.7.0 iniconfig-1.1.1 joblib-1.2.0 kiwisolver-1.4.4 linear-operator-0.2.0 llvmlite-0.38.1 matplotlib-3.6.2 multipledispatch-0.6.0 numba-0.55.2 numpy-1.22.4 nvidia-cublas-cu11-11.10.3.66 nvidia-cuda-nvrtc-cu11-11.7.99 nvidia-cuda-runtime-cu11-11.7.99 nvidia-cudnn-cu11-8.5.0.96 opt-einsum-3.3.0 packaging-21.3 pandas-1.5.2 paramz-0.9.5 pillow-9.3.0 pluggy-1.0.0 py-1.11.0 pymoo-0.4.2.2 pyparsing-3.0.9 pyrff-2.0.2 pyro-api-0.1.2 pyro-ppl-1.8.3 pytest-6.2.5 python-dateutil-2.8.2 pytz-2022.6 scikit-learn-1.1.3 scipy-1.9.3 six-1.16.0 skorch-0.9.0 summit-0.8.8 tabulate-0.9.0 threadpoolctl-3.1.0 toml-0.10.2 torch-1.13.0 tqdm-4.64.1 typing-extensions-4.4.0 wheel-0.38.4

    Open VSCodium and indicate to use .venv as an environment.

    Run some summit stuff.

    opened by ilario 1
  • Update botorch

    Update botorch

    See if that gets rid of these warnings

    ../../../Library/Caches/pypoetry/virtualenvs/summit-TfmmV07p-py3.8/lib/python3.8/site-packages/gpytorch/utils/cholesky.py:14
    ../../../Library/Caches/pypoetry/virtualenvs/summit-TfmmV07p-py3.8/lib/python3.8/site-packages/gpytorch/utils/cholesky.py:14
    ../../../Library/Caches/pypoetry/virtualenvs/summit-TfmmV07p-py3.8/lib/python3.8/site-packages/gpytorch/utils/cholesky.py:14
    ../../../Library/Caches/pypoetry/virtualenvs/summit-TfmmV07p-py3.8/lib/python3.8/site-packages/gpytorch/utils/cholesky.py:14
    ../../../Library/Caches/pypoetry/virtualenvs/summit-TfmmV07p-py3.8/lib/python3.8/site-packages/gpytorch/utils/cholesky.py:14
    ../../../Library/Caches/pypoetry/virtualenvs/summit-TfmmV07p-py3.8/lib/python3.8/site-packages/gpytorch/utils/cholesky.py:14
    ../../../Library/Caches/pypoetry/virtualenvs/summit-TfmmV07p-py3.8/lib/python3.8/site-packages/gpytorch/utils/cholesky.py:14
       /Users/Kobi/Library/Caches/pypoetry/virtualenvs/summit-TfmmV07p-py3.8/lib/python3.8/site-packages/gpytorch/utils/cholesky.py:14: DeprecationWarning:gpytorch.utils.cholesky.psd_safe_cholesky is deprecated. Use linear_operator.utils.cholesky.psd_safe_cholesky instead.
    
    ../../../Library/Caches/pypoetry/virtualenvs/summit-TfmmV07p-py3.8/lib/python3.8/site-packages/gpytorch/utils/errors.py:15
    ../../../Library/Caches/pypoetry/virtualenvs/summit-TfmmV07p-py3.8/lib/python3.8/site-packages/gpytorch/utils/errors.py:15
       /Users/Kobi/Library/Caches/pypoetry/virtualenvs/summit-TfmmV07p-py3.8/lib/python3.8/site-packages/gpytorch/utils/errors.py:15: DeprecationWarning:gpytorch.utils.errors.NotPSDError has been deprecated. Use linear_operator.utils.error.NotPSDError instead.
    
    opened by marcosfelt 0
  • Update skorch

    Update skorch

    • Operating System:
    • Python version:
    • summit version used:

    Description

    Describe what you were trying to get done. Tell us what happened, what went wrong, and what you expected to happen.

    What I Did

    Paste the command(s) you ran and the output.
    
    opened by marcosfelt 0
  • Get optimal point and estimated values at arbitrary points

    Get optimal point and estimated values at arbitrary points

    Thanks for the very nice software!

    We are using it for the optimization of the synthesis of a catalyst (the objective is the activity of the catalyst).

    I was wondering if two things are possible:

    • get the estimated optimum position from a model. I managed to get the software to suggest new experiments, but I cannot get the estimated location of the best point.
    • probe the model at arbitrary points (for plotting the model as heatmaps, for example, see the plots in Figure 8 here: https://pubs.acs.org/doi/10.1021/acsnano.8b04726 ).

    In order to have that, I suppose that there could be a function returning the model, so that the user can interact with it directly and fetch this information.

    opened by ilario 4
Releases(0.8.8)
  • 0.8.8(Dec 2, 2022)

    What's Changed

    • Fix SOBO issue by @marcosfelt in https://github.com/sustainable-processes/summit/pull/204
    • Update README example by @marcosfelt in https://github.com/sustainable-processes/summit/pull/202
    • Bump oauthlib from 3.2.0 to 3.2.1 by @dependabot in https://github.com/sustainable-processes/summit/pull/206
    • Format parity_plot correctly by @marcosfelt in https://github.com/sustainable-processes/summit/pull/210
    • Bump joblib from 1.1.0 to 1.2.0 by @dependabot in https://github.com/sustainable-processes/summit/pull/209
    • Small edits in the docs by @ilario in https://github.com/sustainable-processes/summit/pull/211
    • Check emulator objectives by @marcosfelt in https://github.com/sustainable-processes/summit/pull/205
    • Bump protobuf from 3.20.1 to 3.20.2 by @dependabot in https://github.com/sustainable-processes/summit/pull/208
    • Updating pandas and numpy API usage by @marcosfelt in https://github.com/sustainable-processes/summit/pull/215
    • TSEMO no samples by @marcosfelt in https://github.com/sustainable-processes/summit/pull/218
    • Improve TSEMO categorical by @marcosfelt in https://github.com/sustainable-processes/summit/pull/220
    • Bump version to 0.8.8 by @marcosfelt in https://github.com/sustainable-processes/summit/pull/221

    New Contributors

    • @ilario made their first contribution in https://github.com/sustainable-processes/summit/pull/211

    Full Changelog: https://github.com/sustainable-processes/summit/compare/0.8.7...0.8.8

    Source code(tar.gz)
    Source code(zip)
  • 0.8.7(Sep 8, 2022)

  • 0.8.6(Jul 30, 2022)

  • 0.8.5(Apr 26, 2022)

    What's Changed

    Bug Fixes 🐛

    • Fix issue with MTBO rounding errors (#164)
    • Remove support for python 3.10 until pytorch supports python 3.10
    Source code(tar.gz)
    Source code(zip)
  • 0.8.0(Apr 17, 2021)

    Denali Mountain

    This verison comes with new optimization strategies as well as improvements to existing functionality. You can install it using pip:

    pip install --upgrade summit
    

    Below are some highlights!

    Multitask Bayesian Optimization Strategy

    mtbo strategy code

    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 published in the NeurIPs ML4 Molecules workshop last year (see the code for the paper here). This functionality is encapsulated in the MTBO strategy. The strategy works by taking data from one reaction optimization and using it to help with another.

    ENTMOOT Strategy

    ENTMOOT 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 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)

    The ExperimentalEmulator 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, an extension to scikit-learn that works with pytorch. See this tutorial to learn how to create your own benchmark.

    Deprecation of Gryffin

    Gryffin 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 or 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!
    Source code(tar.gz)
    Source code(zip)
  • 0.8.0rc1(Mar 8, 2021)

    • Replace GPy with GpyTorch (#94)
    • Improve documentation of TSEMO (#93) and the ExperimentalEmulator (#101)
    • Add the ability to use descriptors in the ExperimentalEmulator (#100 and #101)
    Source code(tar.gz)
    Source code(zip)
  • 0.8.0rc0(Feb 19, 2021)

    This is a pre-release of Denali, our newest update to Summit. Key features include:

    • New Multitask strategy as in Multi-task Bayesian Optimization of Chemical Reactions (see #80)
    • New ENTMOOT optimization strategy from this paper (#77)
    • A refactor of the ExperimentalEmulator to use skorch (see #89)
    • Deprecation of Gryffin (this is not final and might change before the full release)
    • Trimming down of dependencies and faster imports due to better dependency management (see #87)

    The docs still need to be updated to include the two new strategies and properly explain the changes to ExperimentalEmulator.

    Source code(tar.gz)
    Source code(zip)
  • 0.5.0(Sep 6, 2020)

  • 0.4.0(Jun 10, 2020)

  • 0.2.2(Oct 23, 2019)

  • 0.2.0(Oct 22, 2019)

  • 0.1-alpha(Aug 20, 2019)

Owner
Sustainable Reaction Engineering Group
Software developed by the Sustainable Reaction Engineering group at the University of Cambridge
Sustainable Reaction Engineering Group
Pytorch Lightning Distributed Accelerators using Ray

Distributed PyTorch Lightning Training on Ray This library adds new PyTorch Lightning plugins for distributed training using the Ray distributed compu

167 Jan 02, 2023
[ICCV'21] Learning Conditional Knowledge Distillation for Degraded-Reference Image Quality Assessment

CKDN The official implementation of the ICCV2021 paper "Learning Conditional Knowledge Distillation for Degraded-Reference Image Quality Assessment" O

Multimedia Research 50 Dec 13, 2022
Pytorch implementation of the paper Progressive Growing of Points with Tree-structured Generators (BMVC 2021)

PGpoints Pytorch implementation of the paper Progressive Growing of Points with Tree-structured Generators (BMVC 2021) Hyeontae Son, Young Min Kim Pre

Hyeontae Son 9 Jun 06, 2022
Ranger deep learning optimizer rewrite to use newest components

Ranger21 - integrating the latest deep learning components into a single optimizer Ranger deep learning optimizer rewrite to use newest components Ran

Less Wright 266 Dec 28, 2022
3D Human Pose Machines with Self-supervised Learning

3D Human Pose Machines with Self-supervised Learning Keze Wang, Liang Lin, Chenhan Jiang, Chen Qian, and Pengxu Wei, “3D Human Pose Machines with Self

Chenhan Jiang 398 Dec 20, 2022
This code provides various models combining dilated convolutions with residual networks

Overview This code provides various models combining dilated convolutions with residual networks. Our models can achieve better performance with less

Fisher Yu 1.1k Dec 30, 2022
Semi-Supervised Semantic Segmentation with Cross-Consistency Training (CCT)

Semi-Supervised Semantic Segmentation with Cross-Consistency Training (CCT) Paper, Project Page This repo contains the official implementation of CVPR

Yassine 344 Dec 29, 2022
Official implementation of particle-based models (GNS and DPI-Net) on the Physion dataset.

Physion: Evaluating Physical Prediction from Vision in Humans and Machines [paper] Daniel M. Bear, Elias Wang, Damian Mrowca, Felix J. Binder, Hsiao-Y

Hsiao-Yu Fish Tung 18 Dec 19, 2022
Revisting Open World Object Detection

Revisting Open World Object Detection Installation See INSTALL.md. Dataset Our n

58 Dec 23, 2022
Multi-modal Vision Transformers Excel at Class-agnostic Object Detection

Multi-modal Vision Transformers Excel at Class-agnostic Object Detection

Muhammad Maaz 206 Jan 04, 2023
Implementation of the paper "Fine-Tuning Transformers: Vocabulary Transfer"

Transformer-vocabulary-transfer Implementation of the paper "Fine-Tuning Transfo

LEYA 13 Nov 30, 2022
A community run, 5-day PyTorch Deep Learning Bootcamp

Deep Learning Winter School, November 2107. Tel Aviv Deep Learning Bootcamp : http://deep-ml.com. About Tel-Aviv Deep Learning Bootcamp is an intensiv

Shlomo Kashani. 1.3k Sep 04, 2021
NFNets and Adaptive Gradient Clipping for SGD implemented in PyTorch

PyTorch implementation of Normalizer-Free Networks and SGD - Adaptive Gradient Clipping Paper: https://arxiv.org/abs/2102.06171.pdf Original code: htt

Vaibhav Balloli 320 Jan 02, 2023
A different spin on dataclasses.

dataklasses Dataklasses is a library that allows you to quickly define data classes using Python type hints. Here's an example of how you use it: from

David Beazley 752 Nov 18, 2022
Implementation of Perceiver, General Perception with Iterative Attention, in Pytorch

Perceiver - Pytorch Implementation of Perceiver, General Perception with Iterative Attention, in Pytorch Install $ pip install perceiver-pytorch Usage

Phil Wang 876 Dec 29, 2022
TensorFlow implementation for Bayesian Modeling and Uncertainty Quantification for Learning to Optimize: What, Why, and How

Bayesian Modeling and Uncertainty Quantification for Learning to Optimize: What, Why, and How TensorFlow implementation for Bayesian Modeling and Unce

Shen Lab at Texas A&M University 8 Sep 02, 2022
The Adapter-Bot: All-In-One Controllable Conversational Model

The Adapter-Bot: All-In-One Controllable Conversational Model This is the implementation of the paper: The Adapter-Bot: All-In-One Controllable Conver

CAiRE 37 Nov 04, 2022
Distance correlation and related E-statistics in Python

dcor dcor: distance correlation and related E-statistics in Python. E-statistics are functions of distances between statistical observations in metric

Carlos Ramos Carreño 108 Dec 27, 2022
Woosung Choi 63 Nov 14, 2022
A real world application of a Recurrent Neural Network on a binary classification of time series data

What is this This is a real world application of a Recurrent Neural Network on a binary classification of time series data. This project includes data

Josep Maria Salvia Hornos 2 Jan 30, 2022