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
Code for paper "Extract, Denoise and Enforce: Evaluating and Improving Concept Preservation for Text-to-Text Generation" EMNLP 2021

The repo provides the code for paper "Extract, Denoise and Enforce: Evaluating and Improving Concept Preservation for Text-to-Text Generation" EMNLP 2

Yuning Mao 18 May 24, 2022
U-Net Implementation: Convolutional Networks for Biomedical Image Segmentation" using the Carvana Image Masking Dataset in PyTorch

U-Net Implementation By Christopher Ley This is my interpretation and implementation of the famous paper "U-Net: Convolutional Networks for Biomedical

Christopher Ley 1 Jan 06, 2022
Instant-Teaching: An End-to-End Semi-Supervised Object Detection Framework

This repo is the official implementation of "Instant-Teaching: An End-to-End Semi-Supervised Object Detection Framework". @inproceedings{zhou2021insta

34 Dec 31, 2022
Transformer based SAR image despeckling

Transformer based SAR image despeckling Using the code: The code is stable while using Python 3.6.13, CUDA =10.1 Clone this repository: git clone htt

27 Nov 13, 2022
Graph Neural Networks with Keras and Tensorflow 2.

Welcome to Spektral Spektral is a Python library for graph deep learning, based on the Keras API and TensorFlow 2. The main goal of this project is to

Daniele Grattarola 2.2k Jan 08, 2023
Python-based Informatics Kit for Analysing Chemical Units

INSTALLATION Python-based Informatics Kit for the Analysis of Chemical Units Step 1: Make a conda environment: conda create -n pikachu python=3.9 cond

47 Dec 23, 2022
Dark Finix: All in one hacking framework with almost 100 tools

Dark Finix - Hacking Framework. Dark Finix is a all in one hacking framework wit

Md. Nur habib 2 Feb 18, 2022
[CIKM 2021] Enhancing Aspect-Based Sentiment Analysis with Supervised Contrastive Learning

Enhancing Aspect-Based Sentiment Analysis with Supervised Contrastive Learning. This repo contains the PyTorch code and implementation for the paper E

Akuchi 18 Dec 22, 2022
Code repo for "Cross-Scale Internal Graph Neural Network for Image Super-Resolution" (NeurIPS'20)

IGNN Code repo for "Cross-Scale Internal Graph Neural Network for Image Super-Resolution" [paper] [supp] Prepare datasets 1 Download training dataset

Shangchen Zhou 278 Jan 03, 2023
LUKE -- Language Understanding with Knowledge-based Embeddings

LUKE (Language Understanding with Knowledge-based Embeddings) is a new pre-trained contextualized representation of words and entities based on transf

Studio Ousia 587 Dec 30, 2022
Code for ICCV 2021 paper: ARAPReg: An As-Rigid-As Possible Regularization Loss for Learning Deformable Shape Generators..

ARAPReg Code for ICCV 2021 paper: ARAPReg: An As-Rigid-As Possible Regularization Loss for Learning Deformable Shape Generators.. Installation The cod

Bo Sun 132 Nov 28, 2022
Code for "CloudAAE: Learning 6D Object Pose Regression with On-line Data Synthesis on Point Clouds" @ICRA2021

CloudAAE This is an tensorflow implementation of "CloudAAE: Learning 6D Object Pose Regression with On-line Data Synthesis on Point Clouds" Files log:

Gee 35 Nov 14, 2022
Federated Deep Reinforcement Learning for the Distributed Control of NextG Wireless Networks.

FDRL-PC-Dyspan Federated Deep Reinforcement Learning for the Distributed Control of NextG Wireless Networks. This repository contains the entire code

Peyman Tehrani 17 Nov 18, 2022
USAD - UnSupervised Anomaly Detection on multivariate time series

USAD - UnSupervised Anomaly Detection on multivariate time series Scripts and utility programs for implementing the USAD architecture. Implementation

116 Jan 04, 2023
Official Matlab Implementation for "Tiny Obstacle Discovery by Occlusion-aware Multilayer Regression", TIP 2020

Tiny Obstacle Discovery by Occlusion-aware Multilayer Regression Official Matlab Implementation for "Tiny Obstacle Discovery by Occlusion-aware Multil

Xuefeng 5 Jan 15, 2022
SimBERT升级版(SimBERTv2)!

RoFormer-Sim RoFormer-Sim,又称SimBERTv2,是我们之前发布的SimBERT模型的升级版。 介绍 https://kexue.fm/archives/8454 训练 tensorflow 1.14 + keras 2.3.1 + bert4keras 0.10.6 下载

318 Dec 31, 2022
Few-shot Learning of GPT-3

Few-shot Learning With Language Models This is a codebase to perform few-shot "in-context" learning using language models similar to the GPT-3 paper.

Tony Z. Zhao 224 Dec 28, 2022
Experiments with the Robust Binary Interval Search (RBIS) algorithm, a Query-Based prediction algorithm for the Online Search problem.

OnlineSearchRBIS Online Search with Best-Price and Query-Based Predictions This is the implementation of the Robust Binary Interval Search (RBIS) algo

S. K. 1 Apr 16, 2022
Compact Bidirectional Transformer for Image Captioning

Compact Bidirectional Transformer for Image Captioning Requirements Python 3.8 Pytorch 1.6 lmdb h5py tensorboardX Prepare Data Please use git clone --

YE Zhou 19 Dec 12, 2022
A PyTorch implementation of Mugs proposed by our paper "Mugs: A Multi-Granular Self-Supervised Learning Framework".

Mugs: A Multi-Granular Self-Supervised Learning Framework This is a PyTorch implementation of Mugs proposed by our paper "Mugs: A Multi-Granular Self-

Sea AI Lab 62 Nov 08, 2022