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
OpenMMLab Semantic Segmentation Toolbox and Benchmark.

Documentation: https://mmsegmentation.readthedocs.io/ English | 简体中文 Introduction MMSegmentation is an open source semantic segmentation toolbox based

OpenMMLab 5k Dec 31, 2022
AI-UPV at IberLEF-2021 EXIST task: Sexism Prediction in Spanish and English Tweets Using Monolingual and Multilingual BERT and Ensemble Models

AI-UPV at IberLEF-2021 EXIST task: Sexism Prediction in Spanish and English Tweets Using Monolingual and Multilingual BERT and Ensemble Models Descrip

Angel de Paula 1 Jun 08, 2022
A few stylization coreML models that I've trained with CreateML

CoreML-StyleTransfer A few stylization coreML models that I've trained with CreateML You can open and use the .mlmodel files in the "models" folder in

Doron Adler 8 Aug 18, 2022
Code & Models for Temporal Segment Networks (TSN) in ECCV 2016

Temporal Segment Networks (TSN) We have released MMAction, a full-fledged action understanding toolbox based on PyTorch. It includes implementation fo

1.4k Jan 01, 2023
The code for the NeurIPS 2021 paper "A Unified View of cGANs with and without Classifiers".

Energy-based Conditional Generative Adversarial Network (ECGAN) This is the code for the NeurIPS 2021 paper "A Unified View of cGANs with and without

sianchen 22 May 28, 2022
Multi-modal Content Creation Model Training Infrastructure including the FACT model (AI Choreographer) implementation.

AI Choreographer: Music Conditioned 3D Dance Generation with AIST++ [ICCV-2021]. Overview This package contains the model implementation and training

Google Research 365 Dec 30, 2022
Systematic generalisation with group invariant predictions

Requirements are Python 3, TensorFlow v1.14, Numpy, Scipy, Scikit-Learn, Matplotlib, Pillow, Scikit-Image, h5py, tqdm. Experiments were run on V100 GPUs (16 and 32GB).

Faruk Ahmed 30 Dec 01, 2022
Curated list of awesome GAN applications and demo

gans-awesome-applications Curated list of awesome GAN applications and demonstrations. Note: General GAN papers targeting simple image generation such

Minchul Shin 4.5k Jan 07, 2023
Out-of-distribution detection using the pNML regret. NeurIPS2021

OOD Detection Load conda environment conda env create -f environment.yml or install requirements: while read requirement; do conda install --yes $requ

Koby Bibas 23 Dec 02, 2022
Python and Julia in harmony.

PythonCall & JuliaCall Bringing Python® and Julia together in seamless harmony: Call Python code from Julia and Julia code from Python via a symmetric

Christopher Rowley 414 Jan 07, 2023
Pytorch implementation of the paper "Class-Balanced Loss Based on Effective Number of Samples"

Class-balanced-loss-pytorch Pytorch implementation of the paper Class-Balanced Loss Based on Effective Number of Samples presented at CVPR'19. Yin Cui

Vandit Jain 697 Dec 29, 2022
Predict and time series avocado hass

RECOMMENDER SYSTEM MARKETING TỔNG QUAN VỀ HỆ THỐNG DỮ LIỆU 1. Giới thiệu - Tiki là một hệ sinh thái thương mại "all in one", trong đó có tiki.vn, là

hieulmsc 3 Jan 10, 2022
Reading Group @mila-iqia on Computational Optimal Transport for Machine Learning Applications

Computational Optimal Transport for Machine Learning Reading Group Over the last few years, optimal transport (OT) has quickly become a central topic

Ali Harakeh 11 Aug 26, 2022
Code for intrusion detection system (IDS) development using CNN models and transfer learning

Intrusion-Detection-System-Using-CNN-and-Transfer-Learning This is the code for the paper entitled "A Transfer Learning and Optimized CNN Based Intrus

Western OC2 Lab 38 Dec 12, 2022
Repository for training material for the 2022 SDSC HPC/CI User Training Course

hpc-training-2022 Repository for training material for the 2022 SDSC HPC/CI Training Series HPC/CI Training Series home https://www.sdsc.edu/event_ite

sdsc-hpc-training-org 21 Jul 27, 2022
CIFAR-10 Photo Classification

Image-Classification CIFAR-10 Photo Classification CIFAR-10_Dataset_Classfication CIFAR-10 Photo Classification Dataset CIFAR is an acronym that stand

ADITYA SHAH 1 Jan 05, 2022
Mememoji - A facial expression classification system that recognizes 6 basic emotions: happy, sad, surprise, fear, anger and neutral.

a project built with deep convolutional neural network and ❤️ Table of Contents Motivation The Database The Model 3.1 Input Layer 3.2 Convolutional La

Jostine Ho 761 Dec 05, 2022
The code for paper "Contrastive Spatio-Temporal Pretext Learning for Self-supervised Video Representation" which is accepted by AAAI 2022

Contrastive Spatio Temporal Pretext Learning for Self-supervised Video Representation (AAAI 2022) The code for paper "Contrastive Spatio-Temporal Pret

8 Jun 30, 2022
Safe Policy Optimization with Local Features

Safe Policy Optimization with Local Feature (SPO-LF) This is the source-code for implementing the algorithms in the paper "Safe Policy Optimization wi

Akifumi Wachi 6 Jun 05, 2022
AI drive app that can help user become beautiful.

爱美丽 Beauty 简体中文 Features Beauty is an AI drive app that can help user become beautiful. it contain those functions: face score cheek face beauty repor

Starved Midnight 1 Jan 30, 2022