Repository: sustainable-processes/summit (language: python)

Issue:
Improve ExperimentalEmulator
This PR is a complete rewrite of the ExperimentalEmulator. The current implementation has not been giving good results on new training and is very difficult to debug. The debugging challenges are primarily due to the complexity of the training loops and the code organization. 

This rewrite depends on [pytorch-lightning](https://pytorchlightning.ai/), which simplifies and organizes training and validation code. It uses the LightningModule to centralize the training loop in the pytorch models and the LightningDataModule to automatically convert datasets +  domains into dataloaders for pytorch.

## Todo

- [x] Create BayesianRegressor using blitz-bayesian + pytorch-lightning
- [x] Create LightningDataModule
- [x] Set up Emulator with proper saving of model
- [x] Make sure to_dict and from_dict work on Emulator
- [x] Create model registry so custom models can be loaded using from_dict
- [x]  Add transforms into LightningDataModule to handle categorical variables
- [x]  Calculate evaluation scores on test set (RMSE, MAE)
- [ ]  Cross validation class for pytorch lightning
- [ ]  Retrain included models
- [ ]  Adjust tests as necessary
- [ ]  Set up to download pretrained models at runtime
- [ ]  Update docs as necessary

ExperimentalEmulator save location
Currently, the experimental emulator saves inside the repository instead of in the `~/.summit` folder.


Discussion / hints:
Check out this pull request on&nbsp; <a href="https://app.reviewnb.com/sustainable-processes/summit/pull/85"><img align="absmiddle"  alt="ReviewNB" height="28" class="BotMessageButtonImage" src="https://raw.githubusercontent.com/ReviewNB/support/master/images/button_reviewnb.png"/></a> 

 See visual diffs & provide feedback on Jupyter Notebooks. 

---

 <i>Powered by <a href='https://www.reviewnb.com/?utm_source=gh'>ReviewNB</a></i>


Fix patch:
diff --git a/.gitignore b/.gitignore
index c1513498..ede20d2f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,4 @@
+
 # Byte-compiled / optimized / DLL files
 __pycache__/
 *.py[cod]
@@ -111,6 +112,7 @@ venv.bak/
 ~*.xlsx
 *.DS_STORE
 .vscode/
+.idea/
 
 # TSEMO
 .TSEMO_DATA
diff --git a/README.md b/README.md
index 1dd9fd0b..c66c93a2 100644
--- a/README.md
+++ b/README.md
@@ -10,6 +10,7 @@
 
 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. 
 
diff --git a/docs/source/Tutorial_MIT_kin.ipynb b/docs/source/Tutorial_MIT_kin.ipynb
deleted file mode 100644
index d85fdc24..00000000
--- a/docs/source/Tutorial_MIT_kin.ipynb
+++ /dev/null
@@ -1,295 +0,0 @@
-{
- "cells": [
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "# Tutorial - MIT kinetic model"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "In this workbook, the 'Tutorial' IPNB has been modified to show how to run the MIT_kin_n (e.g. MIT_kin_1) files.\n",
-    "\n",
-    "Summit introduces two key concepts: **benchmarks** and **strategies**. Benchmarks are simulations of reactions, and strategies are ML algorithms used to choose experiments. Two benchmarks are already implemented, and it is easy to add more. We are going to optimise a reaction network with simulated kinetic constants. The reaction network & accompanying kinetic constants come from the following paper out of MIT:\n",
-    "\n",
-    "React. Chem. Eng., 2018, 3,301\n",
-    "Optimum catalyst selection over continuous and\n",
-    "discrete process variables with a single droplet\n",
-    "microfluidic reaction platform (Jensen et al.)\n",
-    "DOI: 10.1039/c8re00032h\n",
-    "\n",
-    "Summit provides access to six different optimisation strategies. And, it gives a common interface, so you can easily switch between strategies. We'll see that soon.\n"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "## Google Colab\n",
-    "\n",
-    "If you would like to follow along with this tutorial, you can open it in Google Colab using the button below."
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 3,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "%load_ext autoreload\n",
-    "%autoreload 2"
-   ]
-  },
-  {
-   "cell_type": "raw",
-   "metadata": {
-    "raw_mimetype": "text/restructuredtext"
-   },
-   "source": [
-    "|colab_badge|"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "You will need to run the following cell to make sure Summit and all its dependencies are installed. If prompted, restart the runtime."
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "## Kinetic model\n",
-    "\n",
-    "\n",
-    "![Image from Jensen et al.](kinetic_model.png)\n",
-    "\n",
-    "\n",
-    "Below, we start importing the needed packages and setting up the `MIT_kin_n` benchmark."
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 2,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "from summit.domain import *\n",
-    "from summit import Runner\n",
-    "from summit.strategies import Random, SOBO, MultitoSingleObjective\n",
-    "from summit.benchmarks import SnarBenchmark\n",
-    "from summit.utils.dataset import DataSet\n",
-    "import matplotlib.pyplot as plt\n",
-    "import numpy as np\n",
-    "import matplotlib.pyplot as plt\n",
-    "\n"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 3,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "from summit.benchmarks import MIT_case1\n",
-    "from summit.benchmarks import MIT_case2\n",
-    "from summit.benchmarks import MIT_case3\n",
-    "from summit.benchmarks import MIT_case4\n",
-    "from summit.benchmarks import MIT_case5\n",
-    "\n",
-    "exp1 = MIT_case1()\n",
-    "exp2 = MIT_case2()\n",
-    "exp3 = MIT_case3()\n",
-    "exp4 = MIT_case4()\n",
-    "exp5 = MIT_case5()"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 3,
-   "metadata": {},
-   "outputs": [
-    {
-     "data": {
-      "text/html": [
-       "<table id='domain' width=100%><tr><td><b>Name</b></td><td><b>Type</b></td><td><b>Description</b></td><td><b>Values</b></td></tr><tr><td>conc_cat</td><td>continuous, input</td><td>catalyst concentration</td><td>[0.000835,0.004175]</td></tr><tr><td>t</td><td>continuous, input</td><td>reaction time</td><td>[60,600]</td></tr><tr><td>cat_index</td><td>categorical, input</td><td>Choice of catalyst</td><td>8 levels</td></tr><tr><td>temperature</td><td>continuous, input</td><td>Reactor temperature in degress celsius</td><td>[30,110]</td></tr><tr><td>y</td><td>continuous, maximize objective</td><td>yield (%)</td><td>[0,100]</td></tr></table>"
-      ],
-      "text/plain": [
-       "<summit.domain.Domain at 0x7fbd4701eed0>"
-      ]
-     },
-     "execution_count": 3,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "exp1.domain"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "We print out the `domain` which describes the optimisation problem associated with `MIT_kin_1`.  The objective is to maximize yield (y), defined as the concentration of product dividen by the initial concentration of the limiting reagent (We can do this because the stoichiometry is 1:1).\n",
-    "\n",
-    "We optimize the reactions by changing the catalyst concentration, reaction time, choice of catalyst, and temperature. "
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 32,
-   "metadata": {},
-   "outputs": [
-    {
-     "data": {
-      "image/png": "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\n",
-      "text/plain": [
-       "<Figure size 432x288 with 1 Axes>"
-      ]
-     },
-     "metadata": {
-      "needs_background": "light"
-     },
-     "output_type": "display_data"
-    }
-   ],
-   "source": [
-    "#Case 1\n",
-    "y, res = exp1._integrate_equations(8*10**-3, 4000, 0, 90)\n",
-    "for i in range(5):\n",
-    "    plt.plot(res.y[i])"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 33,
-   "metadata": {
-    "scrolled": true
-   },
-   "outputs": [
-    {
-     "data": {
-      "image/png": "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\n",
-      "text/plain": [
-       "<Figure size 432x288 with 1 Axes>"
-      ]
-     },
-     "metadata": {
-      "needs_background": "light"
-     },
-     "output_type": "display_data"
-    }
-   ],
-   "source": [
-    "#Case 2\n",
-    "y, res = exp2._integrate_equations(8*10**-3, 4000, 0, 90)\n",
-    "for i in range(5):\n",
-    "    plt.plot(res.y[i])"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 34,
-   "metadata": {},
-   "outputs": [
-    {
-     "data": {
-      "image/png": "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\n",
-      "text/plain": [
-       "<Figure size 432x288 with 1 Axes>"
-      ]
-     },
-     "metadata": {
-      "needs_background": "light"
-     },
-     "output_type": "display_data"
-    }
-   ],
-   "source": [
-    "#Case 3\n",
-    "y, res = exp3._integrate_equations(8*10**-3, 4000, 0, 90)\n",
-    "for i in range(5):\n",
-    "    plt.plot(res.y[i])"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 35,
-   "metadata": {},
-   "outputs": [
-    {
-     "data": {
-      "image/png": "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\n",
-      "text/plain": [
-       "<Figure size 432x288 with 1 Axes>"
-      ]
-     },
-     "metadata": {
-      "needs_background": "light"
-     },
-     "output_type": "display_data"
-    }
-   ],
-   "source": [
-    "#Case 4\n",
-    "y, res = exp4._integrate_equations(8*10**-3, 4000, 0, 90)\n",
-    "for i in range(5):\n",
-    "    plt.plot(res.y[i])"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 37,
-   "metadata": {},
-   "outputs": [
-    {
-     "data": {
-      "image/png": "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\n",
-      "text/plain": [
-       "<Figure size 432x288 with 1 Axes>"
-      ]
-     },
-     "metadata": {
-      "needs_background": "light"
-     },
-     "output_type": "display_data"
-    }
-   ],
-   "source": [
-    "#Case 5\n",
-    "y, res = exp5._integrate_equations(8*10**-3, 4000, 0, 90)\n",
-    "for i in range(5):\n",
-    "    plt.plot(res.y[i])"
-   ]
-  }
- ],
- "metadata": {
-  "kernelspec": {
-   "display_name": "summit1",
-   "language": "python",
-   "name": "python3"
-  },
-  "language_info": {
-   "codemirror_mode": {
-    "name": "ipython",
-    "version": 3
-   },
-   "file_extension": ".py",
-   "mimetype": "text/x-python",
-   "name": "python",
-   "nbconvert_exporter": "python",
-   "pygments_lexer": "ipython3",
-   "version": "3.7.4"
-  },
-  "toc-autonumbering": false,
-  "toc-showcode": false,
-  "toc-showmarkdowntxt": false
- },
- "nbformat": 4,
- "nbformat_minor": 4
-}
diff --git a/docs/source/experiments_benchmarks/new_benchmarks.ipynb b/docs/source/experiments_benchmarks/new_benchmarks.ipynb
index c82ed8d6..dde60e9d 100644
--- a/docs/source/experiments_benchmarks/new_benchmarks.ipynb
+++ b/docs/source/experiments_benchmarks/new_benchmarks.ipynb
@@ -60,7 +60,10 @@
    "source": [
     "from summit.benchmarks import ExperimentalEmulator\n",
     "from summit.domain import *\n",
-    "from summit.utils.dataset import DataSet"
+    "from summit.utils.dataset import DataSet\n",
+    "import pkg_resources\n",
+    "import pathlib\n",
+    "import pprint"
    ]
   },
   {
@@ -97,7 +100,7 @@
        "<table id='domain' width=100%><tr><td><b>Name</b></td><td><b>Type</b></td><td><b>Description</b></td><td><b>Values</b></td></tr><tr><td>catalyst</td><td>categorical, input</td><td>Catalyst type - different ligands</td><td>8 levels</td></tr><tr><td>t_res</td><td>continuous, input</td><td>Residence time in seconds (s)</td><td>[60,600]</td></tr><tr><td>temperature</td><td>continuous, input</td><td>Reactor temperature in degrees Celsius (ºC)</td><td>[30,110]</td></tr><tr><td>catalyst_loading</td><td>continuous, input</td><td>Catalyst loading in mol%</td><td>[0.5,2.5]</td></tr><tr><td>ton</td><td>continuous, maximize objective</td><td>Turnover number - moles product generated divided by moles catalyst used</td><td>[0,200]</td></tr><tr><td>yield</td><td>continuous, maximize objective</td><td>Yield</td><td>[0,100]</td></tr></table>"
       ],
       "text/plain": [
-       "<summit.domain.Domain at 0x153eca5f8>"
+       "<summit.domain.Domain at 0x13483f8d0>"
       ]
      },
      "execution_count": 3,
@@ -173,7 +176,7 @@
    "cell_type": "markdown",
    "metadata": {},
    "source": [
-    "If you are running this yourself, uncomment the second line."
+    "Here, we import the data that we already have in the Summit package, but you could use your own data. Change verbose to 1 if you want streaming updates of the training."
    ]
   },
   {
@@ -182,19 +185,10 @@
    "metadata": {},
    "outputs": [],
    "source": [
-    "import pathlib \n",
-    "FOLDER = pathlib.Path(\"../_static/\")  # When using this in the context of docs\n",
-    "# FOLDER = pathlib.Path(\".\")"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "emul = ExperimentalEmulator(domain=domain, model_name='my_reizman')\n",
-    "emul.train(csv_dataset=FOLDER / \"reizman_suzuki_case1_train_test.csv\", cv_fold=2, test_size=0.25)"
+    "DATA_PATH = pathlib.Path(pkg_resources.resource_filename(\"summit\", \"benchmarks/data\"))\n",
+    "ds = DataSet.read_csv(DATA_PATH / \"reizman_suzuki_case_1.csv\",)\n",
+    "emul = ExperimentalEmulator(model_name='my_reizman', domain=domain, dataset=ds)\n",
+    "res = emul.train(max_epochs=100, cv_fold=2, test_size=0.25, verbose=0)"
    ]
   },
   {
@@ -206,7 +200,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 7,
+   "execution_count": 5,
    "metadata": {},
    "outputs": [
     {
@@ -215,10 +209,10 @@
        "<table id='domain' width=100%><tr><td><b>Name</b></td><td><b>Type</b></td><td><b>Description</b></td><td><b>Values</b></td></tr><tr><td>catalyst</td><td>categorical, input</td><td>Catalyst type - different ligands</td><td>8 levels</td></tr><tr><td>t_res</td><td>continuous, input</td><td>Residence time in seconds (s)</td><td>[60,600]</td></tr><tr><td>temperature</td><td>continuous, input</td><td>Reactor temperature in degrees Celsius (ºC)</td><td>[30,110]</td></tr><tr><td>catalyst_loading</td><td>continuous, input</td><td>Catalyst loading in mol%</td><td>[0.5,2.5]</td></tr><tr><td>ton</td><td>continuous, maximize objective</td><td>Turnover number - moles product generated divided by moles catalyst used</td><td>[0,200]</td></tr><tr><td>yield</td><td>continuous, maximize objective</td><td>Yield</td><td>[0,100]</td></tr></table>"
       ],
       "text/plain": [
-       "<summit.domain.Domain at 0x153eca5f8>"
+       "<summit.domain.Domain at 0x13483f8d0>"
       ]
      },
-     "execution_count": 7,
+     "execution_count": 5,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -229,7 +223,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 8,
+   "execution_count": 6,
    "metadata": {},
    "outputs": [
     {
@@ -271,10 +265,10 @@
        "      <td>60</td>\n",
        "      <td>100</td>\n",
        "      <td>1.0</td>\n",
-       "      <td>29.972519</td>\n",
-       "      <td>43.924999</td>\n",
+       "      <td>23.364954</td>\n",
+       "      <td>33.13002</td>\n",
        "      <td>0.0</td>\n",
-       "      <td>0.063283</td>\n",
+       "      <td>0.058378</td>\n",
        "      <td>NaN</td>\n",
        "    </tr>\n",
        "  </tbody>\n",
@@ -282,16 +276,16 @@
        "</div>"
       ],
       "text/plain": [
-       "NAME catalyst t_res temperature catalyst_loading        ton      yield  \\\n",
-       "TYPE     DATA  DATA        DATA             DATA       DATA       DATA   \n",
-       "0       P1-L1    60         100              1.0  29.972519  43.924999   \n",
+       "NAME catalyst t_res temperature catalyst_loading        ton     yield  \\\n",
+       "TYPE     DATA  DATA        DATA             DATA       DATA      DATA   \n",
+       "0       P1-L1    60         100              1.0  23.364954  33.13002   \n",
        "\n",
        "NAME computation_t experiment_t strategy  \n",
        "TYPE      METADATA     METADATA METADATA  \n",
-       "0              0.0     0.063283      NaN  "
+       "0              0.0     0.058378      NaN  "
       ]
      },
-     "execution_count": 8,
+     "execution_count": 6,
      "metadata": {},
      "output_type": "execute_result"
     }
diff --git a/docs/source/kinetic_model.png b/docs/source/kinetic_model.png
deleted file mode 100644
index 27f88dd4..00000000
Binary files a/docs/source/kinetic_model.png and /dev/null differ
diff --git a/poetry.lock b/poetry.lock
index d37ea2cb..004bdd4f 100644
--- a/poetry.lock
+++ b/poetry.lock
@@ -1,14 +1,3 @@
-[[package]]
-category = "main"
-description = "Abseil Python Common Libraries, see https://github.com/abseil/abseil-py."
-name = "absl-py"
-optional = false
-python-versions = "*"
-version = "0.11.0"
-
-[package.dependencies]
-six = "*"
-
 [[package]]
 category = "main"
 description = "A configurable sidebar-enabled Sphinx theme"
@@ -21,7 +10,7 @@ version = "0.7.12"
 category = "main"
 description = "Altair: A declarative statistical visualization library for Python."
 name = "altair"
-optional = false
+optional = true
 python-versions = ">=3.6"
 version = "4.1.0"
 
@@ -74,22 +63,10 @@ tests = ["coverage (>=5.0.2)", "hypothesis", "pytest"]
 category = "main"
 description = "Read/rewrite/write Python ASTs"
 name = "astor"
-optional = false
+optional = true
 python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,>=2.7"
 version = "0.8.1"
 
-[[package]]
-category = "main"
-description = "An AST unparser for Python"
-name = "astunparse"
-optional = false
-python-versions = "*"
-version = "1.6.3"
-
-[package.dependencies]
-six = ">=1.6.1,<2.0"
-wheel = ">=0.23.0,<1.0"
-
 [[package]]
 category = "main"
 description = "Async generators and context managers for Python 3.5+"
@@ -156,7 +133,7 @@ version = "0.2.0"
 category = "main"
 description = "Base58 and Base58Check implementation."
 name = "base58"
-optional = false
+optional = true
 python-versions = ">=3.5"
 version = "2.1.0"
 
@@ -235,7 +212,7 @@ webencodings = "*"
 category = "main"
 description = "Fast, simple object-to-object and broadcast signaling"
 name = "blinker"
-optional = false
+optional = true
 python-versions = "*"
 version = "1.4"
 
@@ -243,7 +220,7 @@ version = "1.4"
 category = "main"
 description = "A simple and extensible library to create Bayesian Neural Network Layers on PyTorch without trouble and with full integration with nn.Module and nn.Sequential."
 name = "blitz-bayesian-pytorch"
-optional = false
+optional = true
 python-versions = "*"
 version = "0.2.5"
 
@@ -262,12 +239,12 @@ url = "https://github.com/sustainable-processes/blitz-bayesian-deep-learning.git
 category = "main"
 description = "The AWS SDK for Python"
 name = "boto3"
-optional = false
+optional = true
 python-versions = ">= 2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*"
-version = "1.17.5"
+version = "1.17.11"
 
 [package.dependencies]
-botocore = ">=1.20.5,<1.21.0"
+botocore = ">=1.20.11,<1.21.0"
 jmespath = ">=0.7.1,<1.0.0"
 s3transfer = ">=0.3.0,<0.4.0"
 
@@ -275,9 +252,9 @@ s3transfer = ">=0.3.0,<0.4.0"
 category = "main"
 description = "Low-level, data-driven core of boto 3."
 name = "botocore"
-optional = false
+optional = true
 python-versions = ">= 2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*"
-version = "1.20.5"
+version = "1.20.11"
 
 [package.dependencies]
 jmespath = ">=0.7.1,<1.0.0"
@@ -355,11 +332,20 @@ optional = true
 python-versions = "*"
 version = "1.0.9"
 
+[[package]]
+category = "main"
+description = "A decorator for caching properties in classes."
+marker = "python_version < \"3.8\""
+name = "cached-property"
+optional = false
+python-versions = "*"
+version = "1.5.2"
+
 [[package]]
 category = "main"
 description = "Extensible memoizing collections and decorators"
 name = "cachetools"
-optional = false
+optional = true
 python-versions = "~=3.5"
 version = "4.2.1"
 
@@ -367,7 +353,7 @@ version = "4.2.1"
 category = "main"
 description = "Python package for providing Mozilla's CA Bundle."
 name = "certifi"
-optional = false
+optional = true
 python-versions = "*"
 version = "2020.12.5"
 
@@ -377,7 +363,7 @@ description = "Foreign Function Interface for Python calling C code."
 name = "cffi"
 optional = false
 python-versions = "*"
-version = "1.14.4"
+version = "1.14.5"
 
 [package.dependencies]
 pycparser = "*"
@@ -386,7 +372,7 @@ pycparser = "*"
 category = "main"
 description = "Universal encoding detector for Python 2 and 3"
 name = "chardet"
-optional = false
+optional = true
 python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
 version = "4.0.0"
 
@@ -398,14 +384,6 @@ optional = false
 python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
 version = "7.1.2"
 
-[[package]]
-category = "main"
-description = "Extended pickling support for Python objects"
-name = "cloudpickle"
-optional = false
-python-versions = ">=3.5"
-version = "1.6.0"
-
 [[package]]
 category = "main"
 description = "CMA-ES, Covariance Matrix Adaptation Evolution Strategy for non-linear numerical optimization in Python"
@@ -429,7 +407,7 @@ description = "cryptography is a package which provides cryptographic recipes an
 name = "cryptography"
 optional = true
 python-versions = ">=3.6"
-version = "3.4.4"
+version = "3.4.6"
 
 [package.dependencies]
 cffi = ">=1.12"
@@ -477,17 +455,6 @@ optional = false
 python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
 version = "0.6.0"
 
-[[package]]
-category = "main"
-description = "Tree is a library for working with nested data structures."
-name = "dm-tree"
-optional = false
-python-versions = "*"
-version = "0.1.5"
-
-[package.dependencies]
-six = ">=1.12.0"
-
 [[package]]
 category = "main"
 description = "Docutils -- Python Documentation Utilities"
@@ -522,7 +489,7 @@ version = "0.3"
 category = "main"
 description = "enum/enum34 compatibility package"
 name = "enum-compat"
-optional = false
+optional = true
 python-versions = "*"
 version = "0.0.3"
 
@@ -559,20 +526,12 @@ description = "Compress responses in your Flask app with gzip, deflate or brotli
 name = "flask-compress"
 optional = true
 python-versions = "*"
-version = "1.8.0"
+version = "1.9.0"
 
 [package.dependencies]
 brotli = "*"
 flask = "*"
 
-[[package]]
-category = "main"
-description = "The FlatBuffers serialization format for Python"
-name = "flatbuffers"
-optional = false
-python-versions = "*"
-version = "1.12"
-
 [[package]]
 category = "main"
 description = "Clean single-source support for Python 3 and 2"
@@ -581,14 +540,6 @@ optional = false
 python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*"
 version = "0.18.2"
 
-[[package]]
-category = "main"
-description = "Python AST that abstracts the underlying Python version"
-name = "gast"
-optional = false
-python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
-version = "0.3.3"
-
 [[package]]
 category = "main"
 description = "Git Object Database"
@@ -611,53 +562,6 @@ version = "3.1.13"
 [package.dependencies]
 gitdb = ">=4.0.1,<5"
 
-[[package]]
-category = "main"
-description = "Google Authentication Library"
-name = "google-auth"
-optional = false
-python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*"
-version = "1.26.0"
-
-[package.dependencies]
-cachetools = ">=2.0.0,<5.0"
-pyasn1-modules = ">=0.2.1"
-setuptools = ">=40.3.0"
-six = ">=1.9.0"
-
-[package.dependencies.rsa]
-python = ">=3.6"
-version = ">=3.1.4,<5"
-
-[package.extras]
-aiohttp = ["aiohttp (>=3.6.2,<4.0.0dev)"]
-
-[[package]]
-category = "main"
-description = "Google Authentication Library"
-name = "google-auth-oauthlib"
-optional = false
-python-versions = ">=3.6"
-version = "0.4.2"
-
-[package.dependencies]
-google-auth = "*"
-requests-oauthlib = ">=0.7.0"
-
-[package.extras]
-tool = ["click"]
-
-[[package]]
-category = "main"
-description = "pasta is an AST-based Python refactoring library"
-name = "google-pasta"
-optional = false
-python-versions = "*"
-version = "0.2.0"
-
-[package.dependencies]
-six = "*"
-
 [[package]]
 category = "main"
 description = "The Gaussian Process Toolbox"
@@ -713,44 +617,28 @@ test = ["flake8", "flake8-print", "pytest", "nbval"]
 
 [[package]]
 category = "main"
-description = "HTTP/2-based RPC framework"
-name = "grpcio"
-optional = false
-python-versions = "*"
-version = "1.32.0"
-
-[package.dependencies]
-six = ">=1.5.2"
-
-[package.extras]
-protobuf = ["grpcio-tools (>=1.32.0)"]
-
-[[package]]
-category = "main"
-description = "Bayesian optimization for categorical variables"
-name = "gryffin"
+description = "Read and write HDF5 files from Python"
+name = "h5py"
 optional = false
 python-versions = ">=3.6"
-version = "0.1.1"
+version = "3.1.0"
 
 [package.dependencies]
-Cython = "*"
-numpy = "*"
-sqlalchemy = "*"
-tensorflow = ">=2.2.0,<3.0.0"
-tensorflow-probability = ">=0.10.1git,<1.0.0"
+[[package.dependencies.numpy]]
+python = ">=3.7,<3.8"
+version = ">=1.14.5"
 
-[[package]]
-category = "main"
-description = "Read and write HDF5 files from Python"
-name = "h5py"
-optional = false
-python-versions = "*"
-version = "2.10.0"
+[[package.dependencies.numpy]]
+python = ">=3.8,<3.9"
+version = ">=1.17.5"
 
-[package.dependencies]
-numpy = ">=1.7"
-six = "*"
+[[package.dependencies.numpy]]
+python = ">=3.9"
+version = ">=1.19.3"
+
+[package.dependencies.cached-property]
+python = "<3.8"
+version = "*"
 
 [[package]]
 category = "main"
@@ -773,7 +661,7 @@ dev = ["pytest", "mypy", "ipykernel", "wheel", "selenium", "sphinx", "twine", "g
 category = "main"
 description = "Internationalized Domain Names in Applications (IDNA)"
 name = "idna"
-optional = false
+optional = true
 python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
 version = "2.10"
 
@@ -945,7 +833,7 @@ i18n = ["Babel (>=0.8)"]
 category = "main"
 description = "JSON Matching Expressions"
 name = "jmespath"
-optional = false
+optional = true
 python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*"
 version = "0.10.0"
 
@@ -1038,23 +926,6 @@ optional = false
 python-versions = ">=3.6"
 version = "1.0.0"
 
-[[package]]
-category = "main"
-description = "Easy data preprocessing and data augmentation for deep learning models"
-name = "keras-preprocessing"
-optional = false
-python-versions = "*"
-version = "1.1.2"
-
-[package.dependencies]
-numpy = ">=1.9.1"
-six = ">=1.9.0"
-
-[package.extras]
-image = ["scipy (>=0.14)", "Pillow (>=5.2.0)"]
-pep8 = ["flake8"]
-tests = ["pandas", "pillow", "tensorflow", "keras", "pytest", "pytest-xdist", "pytest-cov"]
-
 [[package]]
 category = "main"
 description = "A fast implementation of the Cassowary constraint solver"
@@ -1087,19 +958,11 @@ version = "0.35.0rc3"
 
 [[package]]
 category = "main"
-description = "Python implementation of Markdown."
-name = "markdown"
+description = "lightweight wrapper around basic LLVM functionality"
+name = "llvmlite"
 optional = false
 python-versions = ">=3.6"
-version = "3.3.3"
-
-[package.dependencies]
-[package.dependencies.importlib-metadata]
-python = "<3.8"
-version = "*"
-
-[package.extras]
-testing = ["coverage", "pyyaml"]
+version = "0.35.0"
 
 [[package]]
 category = "main"
@@ -1322,19 +1185,32 @@ llvmlite = ">=0.34.0.dev0,<0.35"
 numpy = ">=1.15"
 setuptools = "*"
 
+[[package]]
+category = "main"
+description = "compiling Python code using LLVM"
+name = "numba"
+optional = false
+python-versions = ">=3.6,<3.9"
+version = "0.52.0"
+
+[package.dependencies]
+llvmlite = ">=0.35.0,<0.36"
+numpy = ">=1.15"
+setuptools = "*"
+
 [[package]]
 category = "main"
 description = "NumPy is the fundamental package for array computing with Python."
 name = "numpy"
 optional = false
-python-versions = ">=3.6"
-version = "1.19.5"
+python-versions = ">=3.7"
+version = "1.20.1"
 
 [[package]]
 category = "main"
 description = "A generic, spec-compliant, thorough implementation of the OAuth request-signing logic"
 name = "oauthlib"
-optional = false
+optional = true
 python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
 version = "3.1.0"
 
@@ -1351,21 +1227,6 @@ optional = true
 python-versions = ">=3.6"
 version = "4.5.1.48"
 
-[[package]]
-category = "main"
-description = "Optimizing numpys einsum function"
-name = "opt-einsum"
-optional = false
-python-versions = ">=3.5"
-version = "3.3.0"
-
-[package.dependencies]
-numpy = ">=1.7"
-
-[package.extras]
-docs = ["sphinx (1.2.3)", "sphinxcontrib-napoleon", "sphinx-rtd-theme", "numpydoc"]
-tests = ["pytest", "pytest-cov", "pytest-pep8"]
-
 [[package]]
 category = "main"
 description = "Core utilities for Python packages"
@@ -1393,6 +1254,22 @@ pytz = ">=2017.2"
 [package.extras]
 test = ["pytest (>=4.0.2)", "pytest-xdist", "hypothesis (>=3.58)"]
 
+[[package]]
+category = "main"
+description = "Powerful data structures for data analysis, time series, and statistics"
+name = "pandas"
+optional = false
+python-versions = ">=3.7.1"
+version = "1.2.2"
+
+[package.dependencies]
+numpy = ">=1.16.5"
+python-dateutil = ">=2.7.3"
+pytz = ">=2017.3"
+
+[package.extras]
+test = ["pytest (>=5.0.1)", "pytest-xdist", "hypothesis (>=3.58)"]
+
 [[package]]
 category = "main"
 description = "Utilities for writing pandoc filters in python"
@@ -1523,7 +1400,7 @@ marker = "python_version >= \"3.4\""
 name = "prompt-toolkit"
 optional = false
 python-versions = ">=3.6.1"
-version = "3.0.15"
+version = "3.0.16"
 
 [package.dependencies]
 wcwidth = "*"
@@ -1532,9 +1409,9 @@ wcwidth = "*"
 category = "main"
 description = "Protocol Buffers"
 name = "protobuf"
-optional = false
+optional = true
 python-versions = "*"
-version = "3.14.0"
+version = "3.15.0"
 
 [package.dependencies]
 six = ">=1.9"
@@ -1560,32 +1437,13 @@ version = "1.10.0"
 category = "main"
 description = "Python library for Apache Arrow"
 name = "pyarrow"
-optional = false
+optional = true
 python-versions = ">=3.6"
 version = "3.0.0"
 
 [package.dependencies]
 numpy = ">=1.16.6"
 
-[[package]]
-category = "main"
-description = "ASN.1 types and codecs"
-name = "pyasn1"
-optional = false
-python-versions = "*"
-version = "0.4.8"
-
-[[package]]
-category = "main"
-description = "A collection of ASN.1-based protocols modules."
-name = "pyasn1-modules"
-optional = false
-python-versions = "*"
-version = "0.2.8"
-
-[package.dependencies]
-pyasn1 = ">=0.4.6,<0.5.0"
-
 [[package]]
 category = "main"
 description = "C parser in Python"
@@ -1598,9 +1456,9 @@ version = "2.20"
 category = "main"
 description = "Widget for deck.gl maps"
 name = "pydeck"
-optional = false
+optional = true
 python-versions = "*"
-version = "0.6.0"
+version = "0.6.1"
 
 [package.dependencies]
 ipywidgets = ">=7.0.0"
@@ -1621,7 +1479,7 @@ description = "Pygments is a syntax highlighting package written in Python."
 name = "pygments"
 optional = false
 python-versions = ">=3.5"
-version = "2.7.4"
+version = "2.8.0"
 
 [[package]]
 category = "main"
@@ -1783,7 +1641,7 @@ description = "Python bindings for 0MQ"
 name = "pyzmq"
 optional = false
 python-versions = ">=3.6"
-version = "22.0.2"
+version = "22.0.3"
 
 [package.dependencies]
 cffi = "*"
@@ -1801,7 +1659,7 @@ version = "2020.11.13"
 category = "main"
 description = "Python HTTP for Humans."
 name = "requests"
-optional = false
+optional = true
 python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
 version = "2.25.1"
 
@@ -1819,7 +1677,7 @@ socks = ["PySocks (>=1.5.6,<1.5.7 || >1.5.7)", "win-inet-pton"]
 category = "main"
 description = "OAuthlib authentication support for Requests."
 name = "requests-oauthlib"
-optional = false
+optional = true
 python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
 version = "1.3.0"
 
@@ -1841,23 +1699,11 @@ version = "0.17.0"
 [package.extras]
 dev = ["pytest"]
 
-[[package]]
-category = "main"
-description = "Pure-Python RSA implementation"
-marker = "python_version >= \"3.6\""
-name = "rsa"
-optional = false
-python-versions = ">=3.5, <4"
-version = "4.7"
-
-[package.dependencies]
-pyasn1 = ">=0.1.3"
-
 [[package]]
 category = "main"
 description = "An Amazon S3 Transfer Manager"
 name = "s3transfer"
-optional = false
+optional = true
 python-versions = "*"
 version = "0.3.4"
 
@@ -1870,7 +1716,7 @@ description = "A set of python modules for machine learning and data mining"
 name = "scikit-learn"
 optional = false
 python-versions = ">=3.6"
-version = "0.23.2"
+version = "0.24.1"
 
 [package.dependencies]
 joblib = ">=0.11"
@@ -1879,7 +1725,10 @@ scipy = ">=0.19.1"
 threadpoolctl = ">=2.0.0"
 
 [package.extras]
-alldeps = ["numpy (>=1.13.3)", "scipy (>=0.19.1)"]
+benchmark = ["matplotlib (>=2.1.1)", "pandas (>=0.25.0)", "memory-profiler (>=0.57.0)"]
+docs = ["matplotlib (>=2.1.1)", "scikit-image (>=0.13)", "pandas (>=0.25.0)", "seaborn (>=0.9.0)", "memory-profiler (>=0.57.0)", "sphinx (>=3.2.0)", "sphinx-gallery (>=0.7.0)", "numpydoc (>=1.0.0)", "Pillow (>=7.1.2)", "sphinx-prompt (>=1.3.0)"]
+examples = ["matplotlib (>=2.1.1)", "scikit-image (>=0.13)", "pandas (>=0.25.0)", "seaborn (>=0.9.0)"]
+tests = ["matplotlib (>=2.1.1)", "scikit-image (>=0.13)", "pandas (>=0.25.0)", "pytest (>=5.0.1)", "pytest-cov (>=2.9.0)", "flake8 (>=3.8.2)", "mypy (>=0.770)", "pyamg (>=4.0.0)"]
 
 [[package]]
 category = "main"
@@ -1887,7 +1736,7 @@ description = "SciPy: Scientific Library for Python"
 name = "scipy"
 optional = false
 python-versions = ">=3.7"
-version = "1.6.0"
+version = "1.6.1"
 
 [package.dependencies]
 numpy = ">=1.16.5"
@@ -1916,6 +1765,25 @@ optional = false
 python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*"
 version = "1.15.0"
 
+[[package]]
+category = "main"
+description = "scikit-learn compatible neural network library for pytorch"
+name = "skorch"
+optional = false
+python-versions = "*"
+version = "0.9.0"
+
+[package.dependencies]
+numpy = ">=1.13.3"
+scikit-learn = ">=0.19.1"
+scipy = ">=1.1.0"
+tabulate = ">=0.7.7"
+tqdm = ">=4.14.0"
+
+[package.extras]
+docs = ["sphinx", "sphinx-rtd-theme", "numpydoc"]
+testing = ["pytest", "pytest-cov"]
+
 [[package]]
 category = "main"
 description = "A pure Python implementation of a sliding window memory map manager"
@@ -1947,7 +1815,7 @@ description = "Python documentation generator"
 name = "sphinx"
 optional = true
 python-versions = ">=3.5"
-version = "3.4.3"
+version = "3.5.1"
 
 [package.dependencies]
 Jinja2 = ">=2.3"
@@ -1970,7 +1838,7 @@ sphinxcontrib-serializinghtml = "*"
 
 [package.extras]
 docs = ["sphinxcontrib-websupport"]
-lint = ["flake8 (>=3.5.0)", "isort", "mypy (>=0.790)", "docutils-stubs"]
+lint = ["flake8 (>=3.5.0)", "isort", "mypy (>=0.800)", "docutils-stubs"]
 test = ["pytest", "pytest-cov", "html5lib", "cython", "typed-ast"]
 
 [[package]]
@@ -2069,26 +1937,6 @@ version = "0.3.2"
 [package.dependencies]
 numpy = "*"
 
-[[package]]
-category = "main"
-description = "Database Abstraction Library"
-name = "sqlalchemy"
-optional = false
-python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
-version = "1.3.23"
-
-[package.extras]
-mssql = ["pyodbc"]
-mssql_pymssql = ["pymssql"]
-mssql_pyodbc = ["pyodbc"]
-mysql = ["mysqlclient"]
-oracle = ["cx-oracle"]
-postgresql = ["psycopg2"]
-postgresql_pg8000 = ["pg8000 (<1.16.6)"]
-postgresql_psycopg2binary = ["psycopg2-binary"]
-postgresql_psycopg2cffi = ["psycopg2cffi"]
-pymysql = ["pymysql (<1)", "pymysql"]
-
 [[package]]
 category = "main"
 description = "SnobFit - Stable Noisy Optimization by Branch and FIT"
@@ -2105,7 +1953,7 @@ numpy = "*"
 category = "main"
 description = "The fastest way to build data apps in Python"
 name = "streamlit"
-optional = false
+optional = true
 python-versions = ">=3.6"
 version = "0.67.1"
 
@@ -2149,101 +1997,14 @@ six = "*"
 
 [[package]]
 category = "main"
-description = "TensorBoard lets you watch Tensors Flow"
-name = "tensorboard"
-optional = false
-python-versions = ">= 2.7, != 3.0.*, != 3.1.*"
-version = "2.4.1"
-
-[package.dependencies]
-absl-py = ">=0.4"
-google-auth = ">=1.6.3,<2"
-google-auth-oauthlib = ">=0.4.1,<0.5"
-grpcio = ">=1.24.3"
-markdown = ">=2.6.8"
-numpy = ">=1.12.0"
-protobuf = ">=3.6.0"
-requests = ">=2.21.0,<3"
-setuptools = ">=41.0.0"
-six = ">=1.10.0"
-tensorboard-plugin-wit = ">=1.6.0"
-werkzeug = ">=0.11.15"
-
-[package.dependencies.wheel]
-python = ">=3"
-version = ">=0.26"
-
-[[package]]
-category = "main"
-description = "What-If Tool TensorBoard plugin."
-name = "tensorboard-plugin-wit"
+description = "Pretty-print tabular data"
+name = "tabulate"
 optional = false
 python-versions = "*"
-version = "1.8.0"
-
-[[package]]
-category = "main"
-description = "TensorFlow is an open source machine learning framework for everyone."
-name = "tensorflow"
-optional = false
-python-versions = "*"
-version = "2.4.0"
-
-[package.dependencies]
-absl-py = ">=0.10,<1.0"
-astunparse = ">=1.6.3,<1.7.0"
-flatbuffers = ">=1.12.0,<1.13.0"
-gast = "0.3.3"
-google-pasta = ">=0.2,<1.0"
-grpcio = ">=1.32.0,<1.33.0"
-h5py = ">=2.10.0,<2.11.0"
-keras-preprocessing = ">=1.1.2,<1.2.0"
-numpy = ">=1.19.2,<1.20.0"
-opt-einsum = ">=3.3.0,<3.4.0"
-protobuf = ">=3.9.2"
-six = ">=1.15.0,<1.16.0"
-tensorboard = ">=2.4,<3.0"
-tensorflow-estimator = ">=2.4.0rc0,<2.5.0"
-termcolor = ">=1.1.0,<1.2.0"
-typing-extensions = ">=3.7.4,<3.8.0"
-wheel = ">=0.35,<1.0"
-wrapt = ">=1.12.1,<1.13.0"
-
-[[package]]
-category = "main"
-description = "TensorFlow Estimator."
-name = "tensorflow-estimator"
-optional = false
-python-versions = "*"
-version = "2.4.0"
-
-[[package]]
-category = "main"
-description = "Probabilistic modeling and statistical inference in TensorFlow"
-name = "tensorflow-probability"
-optional = false
-python-versions = "*"
-version = "0.12.1"
-
-[package.dependencies]
-cloudpickle = ">=1.3"
-decorator = "*"
-dm-tree = "*"
-gast = ">=0.3.2"
-numpy = ">=1.13.3"
-six = ">=1.10.0"
+version = "0.8.8"
 
 [package.extras]
-jax = ["jax", "jaxlib"]
-tfds = ["tensorflow-datasets (>=2.2.0)"]
-
-[[package]]
-category = "main"
-description = "ANSII Color formatting for output in terminal."
-name = "termcolor"
-optional = false
-python-versions = "*"
-version = "1.1.0"
+widechars = ["wcwidth"]
 
 [[package]]
 category = "main"
@@ -2289,7 +2050,7 @@ version = "0.10.2"
 category = "main"
 description = "List processing tools and functional utilities"
 name = "toolz"
-optional = false
+optional = true
 python-versions = ">=3.5"
 version = "0.11.1"
 
@@ -2309,7 +2070,7 @@ typing-extensions = "*"
 category = "main"
 description = "image and video datasets and models for torch deep learning"
 name = "torchvision"
-optional = false
+optional = true
 python-versions = "*"
 version = "0.8.2"
 
@@ -2329,6 +2090,18 @@ optional = false
 python-versions = ">= 3.5"
 version = "6.1"
 
+[[package]]
+category = "main"
+description = "Fast, Extensible Progress Meter"
+name = "tqdm"
+optional = false
+python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,>=2.7"
+version = "4.57.0"
+
+[package.extras]
+dev = ["py-make (>=0.1.0)", "twine", "wheel"]
+telegram = ["requests"]
+
 [[package]]
 category = "main"
 description = "Traitlets Python configuration system"
@@ -2363,7 +2136,7 @@ version = "3.7.4.3"
 category = "main"
 description = "tzinfo object for the local timezone"
 name = "tzlocal"
-optional = false
+optional = true
 python-versions = "*"
 version = "2.1"
 
@@ -2374,7 +2147,7 @@ pytz = "*"
 category = "main"
 description = "HTTP library with thread-safe connection pooling, file post, and more."
 name = "urllib3"
-optional = false
+optional = true
 python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4"
 version = "1.26.3"
 
@@ -2387,7 +2160,7 @@ socks = ["PySocks (>=1.5.6,<1.5.7 || >1.5.7,<2.0)"]
 category = "main"
 description = "Python Data Validation for Humans™."
 name = "validators"
-optional = false
+optional = true
 python-versions = ">=3.4"
 version = "0.18.2"
 
@@ -2402,9 +2175,9 @@ test = ["pytest (>=2.2.3)", "flake8 (>=2.4.0)", "isort (>=4.2.2)"]
 category = "main"
 description = "Filesystem events monitoring"
 name = "watchdog"
-optional = false
+optional = true
 python-versions = ">=3.6"
-version = "1.0.2"
+version = "2.0.1"
 
 [package.extras]
 watchmedo = ["PyYAML (>=3.10)", "argh (>=0.24.1)"]
@@ -2441,7 +2214,7 @@ six = "*"
 category = "main"
 description = "The comprehensive WSGI web application library."
 name = "werkzeug"
-optional = false
+optional = true
 python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
 version = "1.0.1"
 
@@ -2453,7 +2226,7 @@ watchdog = ["watchdog"]
 category = "main"
 description = "A built-package format for Python"
 name = "wheel"
-optional = false
+optional = true
 python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7"
 version = "0.36.2"
 
@@ -2471,19 +2244,11 @@ version = "3.5.1"
 [package.dependencies]
 notebook = ">=4.4.1"
 
-[[package]]
-category = "main"
-description = "Module for decorators, wrappers and monkey patching."
-name = "wrapt"
-optional = false
-python-versions = "*"
-version = "1.12.1"
-
 [[package]]
 category = "main"
 description = "Library for developers to extract data from Microsoft Excel (tm) spreadsheet files"
 name = "xlrd"
-optional = false
+optional = true
 python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
 version = "1.2.0"
 
@@ -2501,19 +2266,16 @@ docs = ["sphinx", "jaraco.packaging (>=3.2)", "rst.linker (>=1.9)"]
 testing = ["pytest (>=3.5,<3.7.3 || >3.7.3)", "pytest-checkdocs (>=1.2.3)", "pytest-flake8", "pytest-cov", "jaraco.test (>=3.2.0)", "jaraco.itertools", "func-timeout", "pytest-black (>=0.3.7)", "pytest-mypy"]
 
 [extras]
+bnn = ["blitz-bayesian-pytorch"]
 docs = ["sphinx", "nbsphinx", "sphinx-rtd-theme"]
 entmoot = ["entmoot"]
-experiments = ["neptune-client", "hiplot", "paramiko", "pyrecorder"]
+experiments = ["neptune-client", "hiplot", "paramiko", "pyrecorder", "xlrd", "streamlit"]
 
 [metadata]
-content-hash = "1a502251d46c857b29927b6899dbbef2becaba52a06b319fe236371885edf284"
+content-hash = "db435ec76eb3ce23c2daf294c3f2b7eb29e01dfb6d41d3a566a46561fd1a4705"
 python-versions = "^3.7"
 
 [metadata.files]
-absl-py = [
-    {file = "absl-py-0.11.0.tar.gz", hash = "sha256:673cccb88d810e5627d0c1c818158485d106f65a583880e2f730c997399bcfa7"},
-    {file = "absl_py-0.11.0-py3-none-any.whl", hash = "sha256:b3d9eb5119ff6e0a0125f6dabf2f9fae02f8acae7be70576002fac27235611c5"},
-]
 alabaster = [
     {file = "alabaster-0.7.12-py2.py3-none-any.whl", hash = "sha256:446438bdcca0e05bd45ea2de1668c1d9b032e1a9154c2c259092d77031ddd359"},
     {file = "alabaster-0.7.12.tar.gz", hash = "sha256:a661d72d58e6ea8a57f7a86e37d86716863ee5e92788398526d58b26a4e4dc02"},
@@ -2552,10 +2314,6 @@ astor = [
     {file = "astor-0.8.1-py2.py3-none-any.whl", hash = "sha256:070a54e890cefb5b3739d19f30f5a5ec840ffc9c50ffa7d23cc9fc1a38ebbfc5"},
     {file = "astor-0.8.1.tar.gz", hash = "sha256:6a6effda93f4e1ce9f618779b2dd1d9d84f1e32812c23a29b3fff6fd7f63fa5e"},
 ]
-astunparse = [
-    {file = "astunparse-1.6.3-py2.py3-none-any.whl", hash = "sha256:c2652417f2c8b5bb325c885ae329bdf3f86424075c4fd1a128674bc6fba4b8e8"},
-    {file = "astunparse-1.6.3.tar.gz", hash = "sha256:5ad93a8456f0d084c3456d059fd9a92cce667963232cbf763eac3bc5b7940872"},
-]
 async-generator = [
     {file = "async_generator-1.10-py3-none-any.whl", hash = "sha256:01c7bf666359b4967d2cda0000cc2e4af16a0ae098cbffcb8472fb9e8ad6585b"},
     {file = "async_generator-1.10.tar.gz", hash = "sha256:6ebb3d106c12920aaae42ccb6f787ef5eefdcdd166ea3d628fa8476abe712144"},
@@ -2610,12 +2368,12 @@ blinker = [
 ]
 blitz-bayesian-pytorch = []
 boto3 = [
-    {file = "boto3-1.17.5-py2.py3-none-any.whl", hash = "sha256:0d126d429a8a9ea2c8409a1ee36ce5a34e11db788d7730a714016264f10bbb89"},
-    {file = "boto3-1.17.5.tar.gz", hash = "sha256:d6aafb804fca2b67c65dda78ad8b4afed901e004071208b84c804d345ad9ebba"},
+    {file = "boto3-1.17.11-py2.py3-none-any.whl", hash = "sha256:b6131751e3cf2f8d4c027518373b6b82264c3897de65d3519e2d782927e8bf1e"},
+    {file = "boto3-1.17.11.tar.gz", hash = "sha256:7d44cbd931c653cc68e8ccbf39f3ad8b304cb50d4e964d8c8d0936de33ff8c8b"},
 ]
 botocore = [
-    {file = "botocore-1.20.5-py2.py3-none-any.whl", hash = "sha256:3c55f0db5e08920727f4fa24a87aed60060643f4b0b5665c62ec762f79e82d6b"},
-    {file = "botocore-1.20.5.tar.gz", hash = "sha256:04a1df759681f5f171accb354d863bfed0774d64a4e8ee35ff49835755660a4e"},
+    {file = "botocore-1.20.11-py2.py3-none-any.whl", hash = "sha256:dd7c528c6c936d941b2c267339f0b01cce377b640856240b588d0e0d82fd29e3"},
+    {file = "botocore-1.20.11.tar.gz", hash = "sha256:8efd206b78269eb115279ca2d23f50eead1307dbe0bf9bcc2bba3ab2ff7bfd87"},
 ]
 botorch = [
     {file = "botorch-0.3.3-py3-none-any.whl", hash = "sha256:d8883101dcf37051223bec5913c3f0600995f76d90e655edca4ecab6aa669ed4"},
@@ -2658,6 +2416,10 @@ brotli = [
     {file = "Brotli-1.0.9-cp38-cp38-win_amd64.whl", hash = "sha256:269a5743a393c65db46a7bb982644c67ecba4b8d91b392403ad8a861ba6f495f"},
     {file = "Brotli-1.0.9.zip", hash = "sha256:4d1b810aa0ed773f81dceda2cc7b403d01057458730e309856356d4ef4188438"},
 ]
+cached-property = [
+    {file = "cached-property-1.5.2.tar.gz", hash = "sha256:9fa5755838eecbb2d234c3aa390bd80fbd3ac6b6869109bfc1b499f7bd89a130"},
+    {file = "cached_property-1.5.2-py2.py3-none-any.whl", hash = "sha256:df4f613cf7ad9a588cc381aaf4a512d26265ecebd5eb9e1ba12f1319eb85a6a0"},
+]
 cachetools = [
     {file = "cachetools-4.2.1-py3-none-any.whl", hash = "sha256:1d9d5f567be80f7c07d765e21b814326d78c61eb0c3a637dffc0e5d1796cb2e2"},
     {file = "cachetools-4.2.1.tar.gz", hash = "sha256:f469e29e7aa4cff64d8de4aad95ce76de8ea1125a16c68e0d93f65c3c3dc92e9"},
@@ -2667,40 +2429,43 @@ certifi = [
     {file = "certifi-2020.12.5.tar.gz", hash = "sha256:1a4995114262bffbc2413b159f2a1a480c969de6e6eb13ee966d470af86af59c"},
 ]
 cffi = [
-    {file = "cffi-1.14.4-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:ebb253464a5d0482b191274f1c8bf00e33f7e0b9c66405fbffc61ed2c839c775"},
-    {file = "cffi-1.14.4-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:2c24d61263f511551f740d1a065eb0212db1dbbbbd241db758f5244281590c06"},
-    {file = "cffi-1.14.4-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:9f7a31251289b2ab6d4012f6e83e58bc3b96bd151f5b5262467f4bb6b34a7c26"},
-    {file = "cffi-1.14.4-cp27-cp27m-win32.whl", hash = "sha256:5cf4be6c304ad0b6602f5c4e90e2f59b47653ac1ed9c662ed379fe48a8f26b0c"},
-    {file = "cffi-1.14.4-cp27-cp27m-win_amd64.whl", hash = "sha256:f60567825f791c6f8a592f3c6e3bd93dd2934e3f9dac189308426bd76b00ef3b"},
-    {file = "cffi-1.14.4-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:c6332685306b6417a91b1ff9fae889b3ba65c2292d64bd9245c093b1b284809d"},
-    {file = "cffi-1.14.4-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:d9efd8b7a3ef378dd61a1e77367f1924375befc2eba06168b6ebfa903a5e59ca"},
-    {file = "cffi-1.14.4-cp35-cp35m-macosx_10_9_x86_64.whl", hash = "sha256:51a8b381b16ddd370178a65360ebe15fbc1c71cf6f584613a7ea08bfad946698"},
-    {file = "cffi-1.14.4-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:1d2c4994f515e5b485fd6d3a73d05526aa0fcf248eb135996b088d25dfa1865b"},
-    {file = "cffi-1.14.4-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:af5c59122a011049aad5dd87424b8e65a80e4a6477419c0c1015f73fb5ea0293"},
-    {file = "cffi-1.14.4-cp35-cp35m-win32.whl", hash = "sha256:594234691ac0e9b770aee9fcdb8fa02c22e43e5c619456efd0d6c2bf276f3eb2"},
-    {file = "cffi-1.14.4-cp35-cp35m-win_amd64.whl", hash = "sha256:64081b3f8f6f3c3de6191ec89d7dc6c86a8a43911f7ecb422c60e90c70be41c7"},
-    {file = "cffi-1.14.4-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:f803eaa94c2fcda012c047e62bc7a51b0bdabda1cad7a92a522694ea2d76e49f"},
-    {file = "cffi-1.14.4-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:105abaf8a6075dc96c1fe5ae7aae073f4696f2905fde6aeada4c9d2926752362"},
-    {file = "cffi-1.14.4-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:0638c3ae1a0edfb77c6765d487fee624d2b1ee1bdfeffc1f0b58c64d149e7eec"},
-    {file = "cffi-1.14.4-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:7c6b1dece89874d9541fc974917b631406233ea0440d0bdfbb8e03bf39a49b3b"},
-    {file = "cffi-1.14.4-cp36-cp36m-win32.whl", hash = "sha256:155136b51fd733fa94e1c2ea5211dcd4c8879869008fc811648f16541bf99668"},
-    {file = "cffi-1.14.4-cp36-cp36m-win_amd64.whl", hash = "sha256:6bc25fc545a6b3d57b5f8618e59fc13d3a3a68431e8ca5fd4c13241cd70d0009"},
-    {file = "cffi-1.14.4-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:a7711edca4dcef1a75257b50a2fbfe92a65187c47dab5a0f1b9b332c5919a3fb"},
-    {file = "cffi-1.14.4-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:00e28066507bfc3fe865a31f325c8391a1ac2916219340f87dfad602c3e48e5d"},
-    {file = "cffi-1.14.4-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:798caa2a2384b1cbe8a2a139d80734c9db54f9cc155c99d7cc92441a23871c03"},
-    {file = "cffi-1.14.4-cp37-cp37m-win32.whl", hash = "sha256:00a1ba5e2e95684448de9b89888ccd02c98d512064b4cb987d48f4b40aa0421e"},
-    {file = "cffi-1.14.4-cp37-cp37m-win_amd64.whl", hash = "sha256:9cc46bc107224ff5b6d04369e7c595acb700c3613ad7bcf2e2012f62ece80c35"},
-    {file = "cffi-1.14.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:df5169c4396adc04f9b0a05f13c074df878b6052430e03f50e68adf3a57aa28d"},
-    {file = "cffi-1.14.4-cp38-cp38-manylinux1_i686.whl", hash = "sha256:9ffb888f19d54a4d4dfd4b3f29bc2c16aa4972f1c2ab9c4ab09b8ab8685b9c2b"},
-    {file = "cffi-1.14.4-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:8d6603078baf4e11edc4168a514c5ce5b3ba6e3e9c374298cb88437957960a53"},
-    {file = "cffi-1.14.4-cp38-cp38-win32.whl", hash = "sha256:b4e248d1087abf9f4c10f3c398896c87ce82a9856494a7155823eb45a892395d"},
-    {file = "cffi-1.14.4-cp38-cp38-win_amd64.whl", hash = "sha256:ec80dc47f54e6e9a78181ce05feb71a0353854cc26999db963695f950b5fb375"},
-    {file = "cffi-1.14.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:840793c68105fe031f34d6a086eaea153a0cd5c491cde82a74b420edd0a2b909"},
-    {file = "cffi-1.14.4-cp39-cp39-manylinux1_i686.whl", hash = "sha256:b18e0a9ef57d2b41f5c68beefa32317d286c3d6ac0484efd10d6e07491bb95dd"},
-    {file = "cffi-1.14.4-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:045d792900a75e8b1e1b0ab6787dd733a8190ffcf80e8c8ceb2fb10a29ff238a"},
-    {file = "cffi-1.14.4-cp39-cp39-win32.whl", hash = "sha256:ba4e9e0ae13fc41c6b23299545e5ef73055213e466bd107953e4a013a5ddd7e3"},
-    {file = "cffi-1.14.4-cp39-cp39-win_amd64.whl", hash = "sha256:f032b34669220030f905152045dfa27741ce1a6db3324a5bc0b96b6c7420c87b"},
-    {file = "cffi-1.14.4.tar.gz", hash = "sha256:1a465cbe98a7fd391d47dce4b8f7e5b921e6cd805ef421d04f5f66ba8f06086c"},
+    {file = "cffi-1.14.5-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:bb89f306e5da99f4d922728ddcd6f7fcebb3241fc40edebcb7284d7514741991"},
+    {file = "cffi-1.14.5-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:34eff4b97f3d982fb93e2831e6750127d1355a923ebaeeb565407b3d2f8d41a1"},
+    {file = "cffi-1.14.5-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:99cd03ae7988a93dd00bcd9d0b75e1f6c426063d6f03d2f90b89e29b25b82dfa"},
+    {file = "cffi-1.14.5-cp27-cp27m-win32.whl", hash = "sha256:65fa59693c62cf06e45ddbb822165394a288edce9e276647f0046e1ec26920f3"},
+    {file = "cffi-1.14.5-cp27-cp27m-win_amd64.whl", hash = "sha256:51182f8927c5af975fece87b1b369f722c570fe169f9880764b1ee3bca8347b5"},
+    {file = "cffi-1.14.5-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:43e0b9d9e2c9e5d152946b9c5fe062c151614b262fda2e7b201204de0b99e482"},
+    {file = "cffi-1.14.5-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:cbde590d4faaa07c72bf979734738f328d239913ba3e043b1e98fe9a39f8b2b6"},
+    {file = "cffi-1.14.5-cp35-cp35m-macosx_10_9_x86_64.whl", hash = "sha256:5de7970188bb46b7bf9858eb6890aad302577a5f6f75091fd7cdd3ef13ef3045"},
+    {file = "cffi-1.14.5-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:a465da611f6fa124963b91bf432d960a555563efe4ed1cc403ba5077b15370aa"},
+    {file = "cffi-1.14.5-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:d42b11d692e11b6634f7613ad8df5d6d5f8875f5d48939520d351007b3c13406"},
+    {file = "cffi-1.14.5-cp35-cp35m-win32.whl", hash = "sha256:72d8d3ef52c208ee1c7b2e341f7d71c6fd3157138abf1a95166e6165dd5d4369"},
+    {file = "cffi-1.14.5-cp35-cp35m-win_amd64.whl", hash = "sha256:29314480e958fd8aab22e4a58b355b629c59bf5f2ac2492b61e3dc06d8c7a315"},
+    {file = "cffi-1.14.5-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:3d3dd4c9e559eb172ecf00a2a7517e97d1e96de2a5e610bd9b68cea3925b4892"},
+    {file = "cffi-1.14.5-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:48e1c69bbacfc3d932221851b39d49e81567a4d4aac3b21258d9c24578280058"},
+    {file = "cffi-1.14.5-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:69e395c24fc60aad6bb4fa7e583698ea6cc684648e1ffb7fe85e3c1ca131a7d5"},
+    {file = "cffi-1.14.5-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:9e93e79c2551ff263400e1e4be085a1210e12073a31c2011dbbda14bda0c6132"},
+    {file = "cffi-1.14.5-cp36-cp36m-win32.whl", hash = "sha256:58e3f59d583d413809d60779492342801d6e82fefb89c86a38e040c16883be53"},
+    {file = "cffi-1.14.5-cp36-cp36m-win_amd64.whl", hash = "sha256:005a36f41773e148deac64b08f233873a4d0c18b053d37da83f6af4d9087b813"},
+    {file = "cffi-1.14.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:2894f2df484ff56d717bead0a5c2abb6b9d2bf26d6960c4604d5c48bbc30ee73"},
+    {file = "cffi-1.14.5-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:0857f0ae312d855239a55c81ef453ee8fd24136eaba8e87a2eceba644c0d4c06"},
+    {file = "cffi-1.14.5-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:cd2868886d547469123fadc46eac7ea5253ea7fcb139f12e1dfc2bbd406427d1"},
+    {file = "cffi-1.14.5-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:35f27e6eb43380fa080dccf676dece30bef72e4a67617ffda586641cd4508d49"},
+    {file = "cffi-1.14.5-cp37-cp37m-win32.whl", hash = "sha256:9ff227395193126d82e60319a673a037d5de84633f11279e336f9c0f189ecc62"},
+    {file = "cffi-1.14.5-cp37-cp37m-win_amd64.whl", hash = "sha256:9cf8022fb8d07a97c178b02327b284521c7708d7c71a9c9c355c178ac4bbd3d4"},
+    {file = "cffi-1.14.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:8b198cec6c72df5289c05b05b8b0969819783f9418e0409865dac47288d2a053"},
+    {file = "cffi-1.14.5-cp38-cp38-manylinux1_i686.whl", hash = "sha256:ad17025d226ee5beec591b52800c11680fca3df50b8b29fe51d882576e039ee0"},
+    {file = "cffi-1.14.5-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:6c97d7350133666fbb5cf4abdc1178c812cb205dc6f41d174a7b0f18fb93337e"},
+    {file = "cffi-1.14.5-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:8ae6299f6c68de06f136f1f9e69458eae58f1dacf10af5c17353eae03aa0d827"},
+    {file = "cffi-1.14.5-cp38-cp38-win32.whl", hash = "sha256:b85eb46a81787c50650f2392b9b4ef23e1f126313b9e0e9013b35c15e4288e2e"},
+    {file = "cffi-1.14.5-cp38-cp38-win_amd64.whl", hash = "sha256:1f436816fc868b098b0d63b8920de7d208c90a67212546d02f84fe78a9c26396"},
+    {file = "cffi-1.14.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:1071534bbbf8cbb31b498d5d9db0f274f2f7a865adca4ae429e147ba40f73dea"},
+    {file = "cffi-1.14.5-cp39-cp39-manylinux1_i686.whl", hash = "sha256:9de2e279153a443c656f2defd67769e6d1e4163952b3c622dcea5b08a6405322"},
+    {file = "cffi-1.14.5-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:6e4714cc64f474e4d6e37cfff31a814b509a35cb17de4fb1999907575684479c"},
+    {file = "cffi-1.14.5-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:158d0d15119b4b7ff6b926536763dc0714313aa59e320ddf787502c70c4d4bee"},
+    {file = "cffi-1.14.5-cp39-cp39-win32.whl", hash = "sha256:afb29c1ba2e5a3736f1c301d9d0abe3ec8b86957d04ddfa9d7a6a42b9367e396"},
+    {file = "cffi-1.14.5-cp39-cp39-win_amd64.whl", hash = "sha256:f2d45f97ab6bb54753eab54fffe75aaf3de4ff2341c9daee1987ee1837636f1d"},
+    {file = "cffi-1.14.5.tar.gz", hash = "sha256:fd78e5fee591709f32ef6edb9a015b4aa1a5022598e36227500c8f4e02328d9c"},
 ]
 chardet = [
     {file = "chardet-4.0.0-py2.py3-none-any.whl", hash = "sha256:f864054d66fd9118f2e67044ac8981a54775ec5b67aed0441892edb553d21da5"},
@@ -2710,10 +2475,6 @@ click = [
     {file = "click-7.1.2-py2.py3-none-any.whl", hash = "sha256:dacca89f4bfadd5de3d7489b7c8a566eee0d3676333fbb50030263894c38c0dc"},
     {file = "click-7.1.2.tar.gz", hash = "sha256:d2b5255c7c6349bc1bd1e59e08cd12acbbd63ce649f2588755783aa94dfb6b1a"},
 ]
-cloudpickle = [
-    {file = "cloudpickle-1.6.0-py3-none-any.whl", hash = "sha256:3a32d0eb0bc6f4d0c57fbc4f3e3780f7a81e6fee0fa935072884d58ae8e1cc7c"},
-    {file = "cloudpickle-1.6.0.tar.gz", hash = "sha256:9bc994f9e9447593bd0a45371f0e7ac7333710fcf64a4eb9834bf149f4ef2f32"},
-]
 cma = [
     {file = "cma-2.7.0-py2.py3-none-any.whl", hash = "sha256:136e457c97e837152404b868c4ec6f163dee923fcee8b94ff446d13d4242b227"},
     {file = "cma-2.7.0.macosx-10.7-x86_64.exe", hash = "sha256:924946fcf2e94911956d02bb75121e4aec325eb2fc148c6edf97337eddef8418"},
@@ -2724,13 +2485,13 @@ colorama = [
     {file = "colorama-0.4.4.tar.gz", hash = "sha256:5941b2b48a20143d2267e95b1c2a7603ce057ee39fd88e7329b0c292aa16869b"},
 ]
 cryptography = [
-    {file = "cryptography-3.4.4-cp36-abi3-macosx_10_10_x86_64.whl", hash = "sha256:287032b6a7d86abc98e8e977b20138c53fea40e5b24e29090d5a675a973dcd10"},
-    {file = "cryptography-3.4.4-cp36-abi3-manylinux2010_x86_64.whl", hash = "sha256:7eed937ad9b53280a5f53570d3a7dc93cb4412b6a3d58d4c6bb78cc26319c729"},
-    {file = "cryptography-3.4.4-cp36-abi3-manylinux2014_aarch64.whl", hash = "sha256:f21be9ec6b44c223b2024bbe59d394fadc7be320d18a8d595419afadb6cd5620"},
-    {file = "cryptography-3.4.4-cp36-abi3-manylinux2014_x86_64.whl", hash = "sha256:dab437c2e84628703e3358f0f06555a6259bc5039209d51aa3b05af667ff4fd0"},
-    {file = "cryptography-3.4.4-cp36-abi3-win32.whl", hash = "sha256:f6ea140d2736b7e1f0de4f988c43f76b0b3f3d365080e091715429ba218dce28"},
-    {file = "cryptography-3.4.4-cp36-abi3-win_amd64.whl", hash = "sha256:288c65eea20bd89b11102c47b118bc1e0749386b0a0dfebba414076c5d4c8188"},
-    {file = "cryptography-3.4.4.tar.gz", hash = "sha256:ee5e19f0856b6fbbdbab15c2787ca65d203801d2d65d0b8de6218f424206c848"},
+    {file = "cryptography-3.4.6-cp36-abi3-macosx_10_10_x86_64.whl", hash = "sha256:57ad77d32917bc55299b16d3b996ffa42a1c73c6cfa829b14043c561288d2799"},
+    {file = "cryptography-3.4.6-cp36-abi3-manylinux2010_x86_64.whl", hash = "sha256:93cfe5b7ff006de13e1e89830810ecbd014791b042cbe5eec253be11ac2b28f3"},
+    {file = "cryptography-3.4.6-cp36-abi3-manylinux2014_aarch64.whl", hash = "sha256:5ecf2bcb34d17415e89b546dbb44e73080f747e504273e4d4987630493cded1b"},
+    {file = "cryptography-3.4.6-cp36-abi3-manylinux2014_x86_64.whl", hash = "sha256:fec7fb46b10da10d9e1d078d1ff8ed9e05ae14f431fdbd11145edd0550b9a964"},
+    {file = "cryptography-3.4.6-cp36-abi3-win32.whl", hash = "sha256:df186fcbf86dc1ce56305becb8434e4b6b7504bc724b71ad7a3239e0c9d14ef2"},
+    {file = "cryptography-3.4.6-cp36-abi3-win_amd64.whl", hash = "sha256:66b57a9ca4b3221d51b237094b0303843b914b7d5afd4349970bb26518e350b0"},
+    {file = "cryptography-3.4.6.tar.gz", hash = "sha256:2d32223e5b0ee02943f32b19245b61a62db83a882f0e76cc564e1cec60d48f87"},
 ]
 cycler = [
     {file = "cycler-0.10.0-py2.py3-none-any.whl", hash = "sha256:1d8a5ae1ff6c5cf9b93e8811e581232ad8920aeec647c37316ceac982b08cb2d"},
@@ -2779,24 +2540,6 @@ defusedxml = [
     {file = "defusedxml-0.6.0-py2.py3-none-any.whl", hash = "sha256:6687150770438374ab581bb7a1b327a847dd9c5749e396102de3fad4e8a3ef93"},
     {file = "defusedxml-0.6.0.tar.gz", hash = "sha256:f684034d135af4c6cbb949b8a4d2ed61634515257a67299e5f940fbaa34377f5"},
 ]
-dm-tree = [
-    {file = "dm-tree-0.1.5.tar.gz", hash = "sha256:a951d2239111dfcc468071bc8ff792c7b1e3192cab5a3c94d33a8b2bda3127fa"},
-    {file = "dm_tree-0.1.5-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:39a2c12d86b9df7bcb64c3473957744bc1af812dd7bf27c01108f17ed688644b"},
-    {file = "dm_tree-0.1.5-cp27-cp27m-win_amd64.whl", hash = "sha256:e4314cd65c5d2218fe580c265e005b334d609e51c33746fedd4014006fca7fa2"},
-    {file = "dm_tree-0.1.5-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:9699c10c3c58bcc8d221445c7864ff9e3e738e629f1943efdb818c4fd4083326"},
-    {file = "dm_tree-0.1.5-cp35-cp35m-macosx_10_9_intel.whl", hash = "sha256:3f7d29c6130f8cb41ee862c96f752dd37c35e6c4cdbf3aaa0db9a3c8516892e2"},
-    {file = "dm_tree-0.1.5-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:21775e6a4d5afafa65514db435dba71637edccb145ec8fd7f144355e9d14d6e2"},
-    {file = "dm_tree-0.1.5-cp35-cp35m-win_amd64.whl", hash = "sha256:4992e3517a6d5f6211b8240784ec0006927945fbf9feb56c37c8068a80e211af"},
-    {file = "dm_tree-0.1.5-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:90706db66bd8dd4b71c00dfd883d83bca6be238093e2db3d46331085b3a12214"},
-    {file = "dm_tree-0.1.5-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:12e662dadd3f0d3e729cbc5a8a8aef88606339d056c95dc83c1e467e6330ba9a"},
-    {file = "dm_tree-0.1.5-cp36-cp36m-win_amd64.whl", hash = "sha256:a13ebfdce7b47310ba02e14005971de12d7d30e082e17f3a73f3f309a53b926e"},
-    {file = "dm_tree-0.1.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:6caa5308f139aeef22c64c55cf6bb7e6882a4119eac48c7cc572e2388d379598"},
-    {file = "dm_tree-0.1.5-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:be6e8173eb8e0f3d03a93abadf6eae6581219b6b408fa835e2eac04e775f0969"},
-    {file = "dm_tree-0.1.5-cp37-cp37m-win_amd64.whl", hash = "sha256:23707e6d4c2ee4567f341429b7b358c3108cf5130f0897bdee54b3aa890de220"},
-    {file = "dm_tree-0.1.5-cp38-cp38-macosx_10_14_x86_64.whl", hash = "sha256:669c8a7929d350db2ba7354e030d8b7318ba94d4cc5702858beed2219f0566be"},
-    {file = "dm_tree-0.1.5-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:134b58263e09a6e552c05c85c630f424446b75600bd38ff1838329eb0cbe0e50"},
-    {file = "dm_tree-0.1.5-cp38-cp38-win_amd64.whl", hash = "sha256:3ed4a2c3328603fa06c2104921b31faf3e831e9828ed625bb0e0813dc2c8a17f"},
-]
 docutils = [
     {file = "docutils-0.16-py2.py3-none-any.whl", hash = "sha256:0c5b78adfbf7762415433f5515cd5c9e762339e23369dbe8000d84a4bf4ab3af"},
     {file = "docutils-0.16.tar.gz", hash = "sha256:c2de3a60e9e7d07be26b7f2b00ca0309c207e06c100f9cc2a94931fc75a478fc"},
@@ -2821,19 +2564,11 @@ flask = [
     {file = "Flask-1.1.2.tar.gz", hash = "sha256:4efa1ae2d7c9865af48986de8aeb8504bf32c7f3d6fdc9353d34b21f4b127060"},
 ]
 flask-compress = [
-    {file = "Flask-Compress-1.8.0.tar.gz", hash = "sha256:c132590e7c948877a96d675c13cbfa64edec0faafa2381678dea6f36aa49a552"},
-]
-flatbuffers = [
-    {file = "flatbuffers-1.12-py2.py3-none-any.whl", hash = "sha256:9e9ef47fa92625c4721036e7c4124182668dc6021d9e7c73704edd395648deb9"},
-    {file = "flatbuffers-1.12.tar.gz", hash = "sha256:63bb9a722d5e373701913e226135b28a6f6ac200d5cc7b4d919fa38d73b44610"},
+    {file = "Flask-Compress-1.9.0.tar.gz", hash = "sha256:d93edd8fc02ae74b73c3df10a8e7ee26dee489c65dedce0b3a1d2ce05ac3d1be"},
 ]
 future = [
     {file = "future-0.18.2.tar.gz", hash = "sha256:b1bead90b70cf6ec3f0710ae53a525360fa360d306a86583adc6bf83a4db537d"},
 ]
-gast = [
-    {file = "gast-0.3.3-py2.py3-none-any.whl", hash = "sha256:8f46f5be57ae6889a4e16e2ca113b1703ef17f2b0abceb83793eaba9e1351a45"},
-    {file = "gast-0.3.3.tar.gz", hash = "sha256:b881ef288a49aa81440d2c5eb8aeefd4c2bb8993d5f50edae7413a85bfdb3b57"},
-]
 gitdb = [
     {file = "gitdb-4.0.5-py3-none-any.whl", hash = "sha256:91f36bfb1ab7949b3b40e23736db18231bf7593edada2ba5c3a174a7b23657ac"},
     {file = "gitdb-4.0.5.tar.gz", hash = "sha256:c9e1f2d0db7ddb9a704c2a0217be31214e91a4fe1dea1efad19ae42ba0c285c9"},
@@ -2842,19 +2577,6 @@ gitpython = [
     {file = "GitPython-3.1.13-py3-none-any.whl", hash = "sha256:c5347c81d232d9b8e7f47b68a83e5dc92e7952127133c5f2df9133f2c75a1b29"},
     {file = "GitPython-3.1.13.tar.gz", hash = "sha256:8621a7e777e276a5ec838b59280ba5272dd144a18169c36c903d8b38b99f750a"},
 ]
-google-auth = [
-    {file = "google-auth-1.26.0.tar.gz", hash = "sha256:26cf3e839be936bbd2f65465cbdecd41590a603a51891a9fd9077716ddc3f726"},
-    {file = "google_auth-1.26.0-py2.py3-none-any.whl", hash = "sha256:4c95ef8d2a9afb11015b387a2d2d1d86d8c9170f0b89d07c0f773b852dd695de"},
-]
-google-auth-oauthlib = [
-    {file = "google-auth-oauthlib-0.4.2.tar.gz", hash = "sha256:65b65bc39ad8cab15039b35e5898455d3d66296d0584d96fe0e79d67d04c51d9"},
-    {file = "google_auth_oauthlib-0.4.2-py2.py3-none-any.whl", hash = "sha256:d4d98c831ea21d574699978827490a41b94f05d565c617fe1b420e88f1fc8d8d"},
-]
-google-pasta = [
-    {file = "google-pasta-0.2.0.tar.gz", hash = "sha256:c9f2c8dfc8f96d0d5808299920721be30c9eec37f2389f28904f454565c8a16e"},
-    {file = "google_pasta-0.2.0-py2-none-any.whl", hash = "sha256:4612951da876b1a10fe3960d7226f0c7682cf901e16ac06e473b267a5afa8954"},
-    {file = "google_pasta-0.2.0-py3-none-any.whl", hash = "sha256:b32482794a366b5366a32c92a9a9201b107821889935a02b3e51f6b432ea84ed"},
-]
 gpy = [
     {file = "GPy-1.9.9-cp27-cp27m-macosx_10_7_x86_64.whl", hash = "sha256:ec4435a475dc3744cffc34d803f964955ae2371213387344878a08b21c476ded"},
     {file = "GPy-1.9.9-cp27-cp27m-win_amd64.whl", hash = "sha256:567dda4c9fdcc3caf38319729426cbb487bff61cca586867c74e01e0cf616081"},
@@ -2876,81 +2598,20 @@ gpyopt = [
 gpytorch = [
     {file = "gpytorch-1.3.0.tar.gz", hash = "sha256:9bc7aea1dee188b69ff181e3406aabf6fedfa4446b834ed6adf68b94b6ebebd5"},
 ]
-grpcio = [
-    {file = "grpcio-1.32.0-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:3afb058b6929eba07dba9ae6c5b555aa1d88cb140187d78cc510bd72d0329f28"},
-    {file = "grpcio-1.32.0-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:a8004b34f600a8a51785e46859cd88f3386ef67cccd1cfc7598e3d317608c643"},
-    {file = "grpcio-1.32.0-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:e6786f6f7be0937614577edcab886ddce91b7c1ea972a07ef9972e9f9ecbbb78"},
-    {file = "grpcio-1.32.0-cp27-cp27m-win32.whl", hash = "sha256:e467af6bb8f5843f5a441e124b43474715cfb3981264e7cd227343e826dcc3ce"},
-    {file = "grpcio-1.32.0-cp27-cp27m-win_amd64.whl", hash = "sha256:1376a60f9bfce781b39973f100b5f67e657b5be479f2fd8a7d2a408fc61c085c"},
-    {file = "grpcio-1.32.0-cp27-cp27mu-linux_armv7l.whl", hash = "sha256:ce617e1c4a39131f8527964ac9e700eb199484937d7a0b3e52655a3ba50d5fb9"},
-    {file = "grpcio-1.32.0-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:99bac0e2c820bf446662365df65841f0c2a55b0e2c419db86eaf5d162ddae73e"},
-    {file = "grpcio-1.32.0-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:6d869a3e8e62562b48214de95e9231c97c53caa7172802236cd5d60140d7cddd"},
-    {file = "grpcio-1.32.0-cp35-cp35m-linux_armv7l.whl", hash = "sha256:182c64ade34c341398bf71ec0975613970feb175090760ab4f51d1e9a5424f05"},
-    {file = "grpcio-1.32.0-cp35-cp35m-macosx_10_7_intel.whl", hash = "sha256:9c0d8f2346c842088b8cbe3e14985b36e5191a34bf79279ba321a4bf69bd88b7"},
-    {file = "grpcio-1.32.0-cp35-cp35m-manylinux2010_i686.whl", hash = "sha256:4775bc35af9cd3b5033700388deac2e1d611fa45f4a8dcb93667d94cb25f0444"},
-    {file = "grpcio-1.32.0-cp35-cp35m-manylinux2010_x86_64.whl", hash = "sha256:be98e3198ec765d0a1e27f69d760f69374ded8a33b953dcfe790127731f7e690"},
-    {file = "grpcio-1.32.0-cp35-cp35m-manylinux2014_i686.whl", hash = "sha256:378fe80ec5d9353548eb2a8a43ea03747a80f2e387c4f177f2b3ff6c7d898753"},
-    {file = "grpcio-1.32.0-cp35-cp35m-manylinux2014_x86_64.whl", hash = "sha256:f7d508691301027033215d3662dab7e178f54d5cca2329f26a71ae175d94b83f"},
-    {file = "grpcio-1.32.0-cp35-cp35m-win32.whl", hash = "sha256:25959a651420dd4a6fd7d3e8dee53f4f5fd8c56336a64963428e78b276389a59"},
-    {file = "grpcio-1.32.0-cp35-cp35m-win_amd64.whl", hash = "sha256:ac7028d363d2395f3d755166d0161556a3f99500a5b44890421ccfaaf2aaeb08"},
-    {file = "grpcio-1.32.0-cp36-cp36m-linux_armv7l.whl", hash = "sha256:c31e8a219650ddae1cd02f5a169e1bffe66a429a8255d3ab29e9363c73003b62"},
-    {file = "grpcio-1.32.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:e28e4c0d4231beda5dee94808e3a224d85cbaba3cfad05f2192e6f4ec5318053"},
-    {file = "grpcio-1.32.0-cp36-cp36m-manylinux2010_i686.whl", hash = "sha256:f03dfefa9075dd1c6c5cc27b1285c521434643b09338d8b29e1d6a27b386aa82"},
-    {file = "grpcio-1.32.0-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:c4966d746dccb639ef93f13560acbe9630681c07f2b320b7ec03fe2c8f0a1f15"},
-    {file = "grpcio-1.32.0-cp36-cp36m-manylinux2014_i686.whl", hash = "sha256:ec10d5f680b8e95a06f1367d73c5ddcc0ed04a3f38d6e4c9346988fb0cea2ffa"},
-    {file = "grpcio-1.32.0-cp36-cp36m-manylinux2014_x86_64.whl", hash = "sha256:28677f057e2ef11501860a7bc15de12091d40b95dd0fddab3c37ff1542e6b216"},
-    {file = "grpcio-1.32.0-cp36-cp36m-win32.whl", hash = "sha256:0f3f09269ffd3fded430cd89ba2397eabbf7e47be93983b25c187cdfebb302a7"},
-    {file = "grpcio-1.32.0-cp36-cp36m-win_amd64.whl", hash = "sha256:4396b1d0f388ae875eaf6dc05cdcb612c950fd9355bc34d38b90aaa0665a0d4b"},
-    {file = "grpcio-1.32.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:1ada89326a364a299527c7962e5c362dbae58c67b283fe8383c4d952b26565d5"},
-    {file = "grpcio-1.32.0-cp37-cp37m-manylinux2010_i686.whl", hash = "sha256:1d384a61f96a1fc6d5d3e0b62b0a859abc8d4c3f6d16daba51ebf253a3e7df5d"},
-    {file = "grpcio-1.32.0-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:e811ce5c387256609d56559d944a974cc6934a8eea8c76e7c86ec388dc06192d"},
-    {file = "grpcio-1.32.0-cp37-cp37m-manylinux2014_i686.whl", hash = "sha256:07b430fa68e5eecd78e2ad529ab80f6a234b55fc1b675fe47335ccbf64c6c6c8"},
-    {file = "grpcio-1.32.0-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:0e3edd8cdb71809d2455b9dbff66b4dd3d36c321e64bfa047da5afdfb0db332b"},
-    {file = "grpcio-1.32.0-cp37-cp37m-win32.whl", hash = "sha256:6f7947dad606c509d067e5b91a92b250aa0530162ab99e4737090f6b17eb12c4"},
-    {file = "grpcio-1.32.0-cp37-cp37m-win_amd64.whl", hash = "sha256:7cda998b7b551503beefc38db9be18c878cfb1596e1418647687575cdefa9273"},
-    {file = "grpcio-1.32.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:c58825a3d8634cd634d8f869afddd4d5742bdb59d594aea4cea17b8f39269a55"},
-    {file = "grpcio-1.32.0-cp38-cp38-manylinux2010_i686.whl", hash = "sha256:ef9bd7fdfc0a063b4ed0efcab7906df5cae9bbcf79d05c583daa2eba56752b00"},
-    {file = "grpcio-1.32.0-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:1ce6f5ff4f4a548c502d5237a071fa617115df58ea4b7bd41dac77c1ab126e9c"},
-    {file = "grpcio-1.32.0-cp38-cp38-manylinux2014_i686.whl", hash = "sha256:f12900be4c3fd2145ba94ab0d80b7c3d71c9e6414cfee2f31b1c20188b5c281f"},
-    {file = "grpcio-1.32.0-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:f53f2dfc8ff9a58a993e414a016c8b21af333955ae83960454ad91798d467c7b"},
-    {file = "grpcio-1.32.0-cp38-cp38-win32.whl", hash = "sha256:5bddf9d53c8df70061916c3bfd2f468ccf26c348bb0fb6211531d895ed5e4c72"},
-    {file = "grpcio-1.32.0-cp38-cp38-win_amd64.whl", hash = "sha256:14c0f017bfebbc18139551111ac58ecbde11f4bc375b73a53af38927d60308b6"},
-    {file = "grpcio-1.32.0.tar.gz", hash = "sha256:01d3046fe980be25796d368f8fc5ff34b7cf5e1444f3789a017a7fe794465639"},
-]
-gryffin = [
-    {file = "gryffin-0.1.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:f6f57faddb9e79227f41556ce5cb4c672f0cf93b37086fa54533951c726373cf"},
-    {file = "gryffin-0.1.1.tar.gz", hash = "sha256:ef44cf79616e078406c5ba5cedfc95d1919673fc0f8f13abb18ea3567c06e47d"},
-]
 h5py = [
-    {file = "h5py-2.10.0-cp27-cp27m-macosx_10_6_intel.whl", hash = "sha256:ecf4d0b56ee394a0984de15bceeb97cbe1fe485f1ac205121293fc44dcf3f31f"},
-    {file = "h5py-2.10.0-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:86868dc07b9cc8cb7627372a2e6636cdc7a53b7e2854ad020c9e9d8a4d3fd0f5"},
-    {file = "h5py-2.10.0-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:aac4b57097ac29089f179bbc2a6e14102dd210618e94d77ee4831c65f82f17c0"},
-    {file = "h5py-2.10.0-cp27-cp27m-win32.whl", hash = "sha256:7be5754a159236e95bd196419485343e2b5875e806fe68919e087b6351f40a70"},
-    {file = "h5py-2.10.0-cp27-cp27m-win_amd64.whl", hash = "sha256:13c87efa24768a5e24e360a40e0bc4c49bcb7ce1bb13a3a7f9902cec302ccd36"},
-    {file = "h5py-2.10.0-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:79b23f47c6524d61f899254f5cd5e486e19868f1823298bc0c29d345c2447172"},
-    {file = "h5py-2.10.0-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:cbf28ae4b5af0f05aa6e7551cee304f1d317dbed1eb7ac1d827cee2f1ef97a99"},
-    {file = "h5py-2.10.0-cp34-cp34m-manylinux1_i686.whl", hash = "sha256:c0d4b04bbf96c47b6d360cd06939e72def512b20a18a8547fa4af810258355d5"},
-    {file = "h5py-2.10.0-cp34-cp34m-manylinux1_x86_64.whl", hash = "sha256:549ad124df27c056b2e255ea1c44d30fb7a17d17676d03096ad5cd85edb32dc1"},
-    {file = "h5py-2.10.0-cp35-cp35m-macosx_10_6_intel.whl", hash = "sha256:a5f82cd4938ff8761d9760af3274acf55afc3c91c649c50ab18fcff5510a14a5"},
-    {file = "h5py-2.10.0-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:3dad1730b6470fad853ef56d755d06bb916ee68a3d8272b3bab0c1ddf83bb99e"},
-    {file = "h5py-2.10.0-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:063947eaed5f271679ed4ffa36bb96f57bc14f44dd4336a827d9a02702e6ce6b"},
-    {file = "h5py-2.10.0-cp35-cp35m-win32.whl", hash = "sha256:c54a2c0dd4957776ace7f95879d81582298c5daf89e77fb8bee7378f132951de"},
-    {file = "h5py-2.10.0-cp35-cp35m-win_amd64.whl", hash = "sha256:6998be619c695910cb0effe5eb15d3a511d3d1a5d217d4bd0bebad1151ec2262"},
-    {file = "h5py-2.10.0-cp36-cp36m-macosx_10_6_intel.whl", hash = "sha256:ff7d241f866b718e4584fa95f520cb19405220c501bd3a53ee11871ba5166ea2"},
-    {file = "h5py-2.10.0-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:54817b696e87eb9e403e42643305f142cd8b940fe9b3b490bbf98c3b8a894cf4"},
-    {file = "h5py-2.10.0-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:d3c59549f90a891691991c17f8e58c8544060fdf3ccdea267100fa5f561ff62f"},
-    {file = "h5py-2.10.0-cp36-cp36m-win32.whl", hash = "sha256:d7ae7a0576b06cb8e8a1c265a8bc4b73d05fdee6429bffc9a26a6eb531e79d72"},
-    {file = "h5py-2.10.0-cp36-cp36m-win_amd64.whl", hash = "sha256:bffbc48331b4a801d2f4b7dac8a72609f0b10e6e516e5c480a3e3241e091c878"},
-    {file = "h5py-2.10.0-cp37-cp37m-macosx_10_6_intel.whl", hash = "sha256:51ae56894c6c93159086ffa2c94b5b3388c0400548ab26555c143e7cfa05b8e5"},
-    {file = "h5py-2.10.0-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:16ead3c57141101e3296ebeed79c9c143c32bdd0e82a61a2fc67e8e6d493e9d1"},
-    {file = "h5py-2.10.0-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:f0e25bb91e7a02efccb50aba6591d3fe2c725479e34769802fcdd4076abfa917"},
-    {file = "h5py-2.10.0-cp37-cp37m-win32.whl", hash = "sha256:f23951a53d18398ef1344c186fb04b26163ca6ce449ebd23404b153fd111ded9"},
-    {file = "h5py-2.10.0-cp37-cp37m-win_amd64.whl", hash = "sha256:8bb1d2de101f39743f91512a9750fb6c351c032e5cd3204b4487383e34da7f75"},
-    {file = "h5py-2.10.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:64f74da4a1dd0d2042e7d04cf8294e04ddad686f8eba9bb79e517ae582f6668d"},
-    {file = "h5py-2.10.0-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:d35f7a3a6cefec82bfdad2785e78359a0e6a5fbb3f605dd5623ce88082ccd681"},
-    {file = "h5py-2.10.0-cp38-cp38-win32.whl", hash = "sha256:6ef7ab1089e3ef53ca099038f3c0a94d03e3560e6aff0e9d6c64c55fb13fc681"},
-    {file = "h5py-2.10.0-cp38-cp38-win_amd64.whl", hash = "sha256:769e141512b54dee14ec76ed354fcacfc7d97fea5a7646b709f7400cf1838630"},
-    {file = "h5py-2.10.0.tar.gz", hash = "sha256:84412798925dc870ffd7107f045d7659e60f5d46d1c70c700375248bf6bf512d"},
+    {file = "h5py-3.1.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:1cd367f89a5441236bdbb795e9fb9a9e3424929c00b4a54254ca760437f83d69"},
+    {file = "h5py-3.1.0-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:fea05349f63625a8fb808e57e42bb4c76930cf5d50ac58b678c52f913a48a89b"},
+    {file = "h5py-3.1.0-cp36-cp36m-win_amd64.whl", hash = "sha256:2e37352ddfcf9d77a2a47f7c8f7e125c6d20cc06c2995edeb7be222d4e152636"},
+    {file = "h5py-3.1.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:e33f61d3eb862614c0f273a1f993a64dc2f093e1a3094932c50ada9d2db2170f"},
+    {file = "h5py-3.1.0-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:236ac8d943be30b617ab615c3d4a4bf4a438add2be87e54af3687ab721a18fac"},
+    {file = "h5py-3.1.0-cp37-cp37m-win_amd64.whl", hash = "sha256:02c391fdb980762a1cc03a4bcaecd03dc463994a9a63a02264830114a96e111f"},
+    {file = "h5py-3.1.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:f89a3dae38843ffa49d17a31a3509a8129e9b46ece602a0138e1ed79e685c361"},
+    {file = "h5py-3.1.0-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:ba71f6229d2013fbb606476ecc29c6223fc16b244d35fcd8566ad9dbaf910857"},
+    {file = "h5py-3.1.0-cp38-cp38-win_amd64.whl", hash = "sha256:dccb89358bc84abcd711363c3e138f9f4eccfdf866f2139a8e72308328765b2c"},
+    {file = "h5py-3.1.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:cb74df83709d6d03d11e60b9480812f58da34f194beafa8c8314dbbeeedfe0a6"},
+    {file = "h5py-3.1.0-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:80c623be10479e81b64fa713b7ed4c0bbe9f02e8e7d2a2e5382336087b615ce4"},
+    {file = "h5py-3.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:1cdfd1c5449ca1329d152f0b66830e93226ebce4f5e07dd8dc16bfc2b1a49d7b"},
+    {file = "h5py-3.1.0.tar.gz", hash = "sha256:1e2516f190652beedcb8c7acfa1c6fa92d99b42331cbef5e5c7ec2d65b0fc3c2"},
 ]
 hiplot = [
     {file = "hiplot-0.1.23-py3-none-any.whl", hash = "sha256:ff782ba6fbf2e311ffe7783ba4a66bee82a22f3a3e69e8279815fc23ad86085d"},
@@ -3031,10 +2692,6 @@ jupyterlab-widgets = [
     {file = "jupyterlab_widgets-1.0.0-py3-none-any.whl", hash = "sha256:caeaf3e6103180e654e7d8d2b81b7d645e59e432487c1d35a41d6d3ee56b3fef"},
     {file = "jupyterlab_widgets-1.0.0.tar.gz", hash = "sha256:5c1a29a84d3069208cb506b10609175b249b6486d6b1cbae8fcde2a11584fb78"},
 ]
-keras-preprocessing = [
-    {file = "Keras_Preprocessing-1.1.2-py2.py3-none-any.whl", hash = "sha256:7b82029b130ff61cc99b55f3bd27427df4838576838c5b2f65940e4fcec99a7b"},
-    {file = "Keras_Preprocessing-1.1.2.tar.gz", hash = "sha256:add82567c50c8bc648c14195bf544a5ce7c1f76761536956c3d2978970179ef3"},
-]
 kiwisolver = [
     {file = "kiwisolver-1.3.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:fd34fbbfbc40628200730bc1febe30631347103fc8d3d4fa012c21ab9c11eca9"},
     {file = "kiwisolver-1.3.1-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:d3155d828dec1d43283bd24d3d3e0d9c7c350cdfcc0bd06c0ad1209c1bbc36d0"},
@@ -3091,10 +2748,22 @@ llvmlite = [
     {file = "llvmlite-0.35.0rc3-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:b3ac274cb3bd3caecf8fdfd15c99f293b187a8ea8be2c7706fb6a32d9fa4e284"},
     {file = "llvmlite-0.35.0rc3-cp38-cp38-win32.whl", hash = "sha256:ee4cb5fe63b547cdfd77184e1d8d3992ede14ede47c178434b60851603c05896"},
     {file = "llvmlite-0.35.0rc3-cp38-cp38-win_amd64.whl", hash = "sha256:c7c070bf9e194d3d731bdd7b75c28e39efcdac5ea888efc092922afdec33e938"},
-]
-markdown = [
-    {file = "Markdown-3.3.3-py3-none-any.whl", hash = "sha256:c109c15b7dc20a9ac454c9e6025927d44460b85bd039da028d85e2b6d0bcc328"},
-    {file = "Markdown-3.3.3.tar.gz", hash = "sha256:5d9f2b5ca24bc4c7a390d22323ca4bad200368612b5aaa7796babf971d2b2f18"},
+    {file = "llvmlite-0.35.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:6383bf98f71c0ccafb20ed1fc560127c26b8db9a2f3aeb09d2be4ae26c3d2674"},
+    {file = "llvmlite-0.35.0-cp36-cp36m-manylinux2010_i686.whl", hash = "sha256:6365f3bd781512506761e081ae88722f7acdd389ae486512d3612cdbbaf1b3f4"},
+    {file = "llvmlite-0.35.0-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:10f444ab648fb4b0ca266d0dcd201892aa8051db11f5dc98dc79631fc6bbf528"},
+    {file = "llvmlite-0.35.0-cp36-cp36m-win32.whl", hash = "sha256:c541226f3ceb5bd311ef4786ad0ccfff2ed10fa601b4788b7fe8164c16719ba0"},
+    {file = "llvmlite-0.35.0-cp36-cp36m-win_amd64.whl", hash = "sha256:75120207100c87ecf0a4bf297cd7da2ff04bf2a97aecfa2d327723f83e457779"},
+    {file = "llvmlite-0.35.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:4b510150a5cba35f3014ce7614c4b4d2b8a5aeeebe930693825711d66c8f127f"},
+    {file = "llvmlite-0.35.0-cp37-cp37m-manylinux2010_i686.whl", hash = "sha256:822975d3ad2861d163ce7b1474e32e6ca7c6a6e76143c461ffc43aedfb610857"},
+    {file = "llvmlite-0.35.0-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:f36f1ee5905c5e91254376db7df9163aa7793cfd79220a98ef3c9b59895f0008"},
+    {file = "llvmlite-0.35.0-cp37-cp37m-win32.whl", hash = "sha256:aa844f9c0961799530915b45545c287bec1970399da27629a8d9e762ab55de9f"},
+    {file = "llvmlite-0.35.0-cp37-cp37m-win_amd64.whl", hash = "sha256:8381b5530b4064a913e0bf1fb5cdd714ddd1834e0496a9343c905be5683e013a"},
+    {file = "llvmlite-0.35.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:9166ed996df3e345409bd4d98bae58e0b5e85eb2f4c32b186ff5c9ae93448da5"},
+    {file = "llvmlite-0.35.0-cp38-cp38-manylinux2010_i686.whl", hash = "sha256:733c8a191fa8294abb4f6a699306339b19afce84c6fc29646b5c40be92fdee41"},
+    {file = "llvmlite-0.35.0-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:4d1ed8d1d20cf57fdfff8560740283c28f44b2dd6c3749e4677c3e19b914da0a"},
+    {file = "llvmlite-0.35.0-cp38-cp38-win32.whl", hash = "sha256:d5fcb329c3a8c69f280b57f91833f8a939e6688eebd4614cf6d3e04424ef3330"},
+    {file = "llvmlite-0.35.0-cp38-cp38-win_amd64.whl", hash = "sha256:d99059da5630d4c38b155ef0cccd34932a8d16e2c5d18b29ec6d6ec06ef3c8b7"},
+    {file = "llvmlite-0.35.0.tar.gz", hash = "sha256:80e51d5aa02ad72da9870e89d21f9b152b0220ca551b4596a6c0614bcde336fc"},
 ]
 markupsafe = [
     {file = "MarkupSafe-1.1.1-cp27-cp27m-macosx_10_6_intel.whl", hash = "sha256:09027a7803a62ca78792ad89403b1b7a73a01c8cb65909cd876f7fcebd79b161"},
@@ -3248,42 +2917,48 @@ numba = [
     {file = "numba-0.51.2-cp38-cp38-win32.whl", hash = "sha256:bbbe2432433b11d3fadab0226a84c1a81918cb905ba1aeb022249e8d2ba8856c"},
     {file = "numba-0.51.2-cp38-cp38-win_amd64.whl", hash = "sha256:259e7c15b24feec4a99fb41eb8c47b5ad49b544d1a5ad40ad0252ef531ba06fd"},
     {file = "numba-0.51.2.tar.gz", hash = "sha256:16bd59572114adbf5f600ea383880d7b2071ae45477e84a24994e089ea390768"},
+    {file = "numba-0.52.0-cp36-cp36m-macosx_10_14_x86_64.whl", hash = "sha256:2edfdaff425c3ca88f67c8560fb1566de323259706b2af6c1116542d2a5a642d"},
+    {file = "numba-0.52.0-cp36-cp36m-manylinux2014_i686.whl", hash = "sha256:c6a8b52b260549a0496ee5a0e785153ddc26569c824da39775e762711ef53938"},
+    {file = "numba-0.52.0-cp36-cp36m-manylinux2014_x86_64.whl", hash = "sha256:a19e543a254caca74acd494438ca30292854e0291e5e91a2e54b50714b4428c3"},
+    {file = "numba-0.52.0-cp36-cp36m-win32.whl", hash = "sha256:ed9a3704827055c0882d9aff2f8785bcd9a5fe7eae044459cc0d5f3e0a80706b"},
+    {file = "numba-0.52.0-cp36-cp36m-win_amd64.whl", hash = "sha256:668bd792635914160e42f7fa900d9daa013bdaa9d6dae9f557454ac5bd084ba7"},
+    {file = "numba-0.52.0-cp37-cp37m-macosx_10_14_x86_64.whl", hash = "sha256:a489119db86896d23b608bb77c2702cc72289d1281bcf123f4bc4cdec5e72879"},
+    {file = "numba-0.52.0-cp37-cp37m-manylinux2014_i686.whl", hash = "sha256:1e60e29efe9f9b6f4378c3890a61701d961e76990ecfce4f0dd59bc728089f7d"},
+    {file = "numba-0.52.0-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:0115d0a69b3eacaa7d762b5c6b5f03179bb848470af7188785c03b2e1b3ca857"},
+    {file = "numba-0.52.0-cp37-cp37m-win32.whl", hash = "sha256:e8e9274bda21782928bcdf4919cd1854fa1c0962461f385f6f5c686aeceed847"},
+    {file = "numba-0.52.0-cp37-cp37m-win_amd64.whl", hash = "sha256:17c799904ab890107895e376a52912b0bf8c05d60930acd6761d48ad3ee4f155"},
+    {file = "numba-0.52.0-cp38-cp38-macosx_10_14_x86_64.whl", hash = "sha256:77b726448d778cb8637a50c3be151a14a7e698a4a7b1a698ac34160482505da5"},
+    {file = "numba-0.52.0-cp38-cp38-manylinux2014_i686.whl", hash = "sha256:227c766ccc4730766a225d27b047b8099857fc5000d323e182d95fa4cd21ad13"},
+    {file = "numba-0.52.0-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:b213436ee6f8c18a92d5bc2e6129111c47e1b1cec890ddf8d7ae0b38f62da70e"},
+    {file = "numba-0.52.0-cp38-cp38-win32.whl", hash = "sha256:774aae8b3cd90338a79bd2cabd4e2c28d470102019ecd7913d9f71dbdff36c04"},
+    {file = "numba-0.52.0-cp38-cp38-win_amd64.whl", hash = "sha256:4a99d8110f92f1c03fb63d676083c0512c725b196b5513295808ef7402e4854a"},
+    {file = "numba-0.52.0.tar.gz", hash = "sha256:44661c5bd85e3d3619be0a40eedee34e397e9ccb3d4c458b70e10bf95d1ce933"},
 ]
 numpy = [
-    {file = "numpy-1.19.5-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:cc6bd4fd593cb261332568485e20a0712883cf631f6f5e8e86a52caa8b2b50ff"},
-    {file = "numpy-1.19.5-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:aeb9ed923be74e659984e321f609b9ba54a48354bfd168d21a2b072ed1e833ea"},
-    {file = "numpy-1.19.5-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:8b5e972b43c8fc27d56550b4120fe6257fdc15f9301914380b27f74856299fea"},
-    {file = "numpy-1.19.5-cp36-cp36m-manylinux2010_i686.whl", hash = "sha256:43d4c81d5ffdff6bae58d66a3cd7f54a7acd9a0e7b18d97abb255defc09e3140"},
-    {file = "numpy-1.19.5-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:a4646724fba402aa7504cd48b4b50e783296b5e10a524c7a6da62e4a8ac9698d"},
-    {file = "numpy-1.19.5-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:2e55195bc1c6b705bfd8ad6f288b38b11b1af32f3c8289d6c50d47f950c12e76"},
-    {file = "numpy-1.19.5-cp36-cp36m-win32.whl", hash = "sha256:39b70c19ec771805081578cc936bbe95336798b7edf4732ed102e7a43ec5c07a"},
-    {file = "numpy-1.19.5-cp36-cp36m-win_amd64.whl", hash = "sha256:dbd18bcf4889b720ba13a27ec2f2aac1981bd41203b3a3b27ba7a33f88ae4827"},
-    {file = "numpy-1.19.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:603aa0706be710eea8884af807b1b3bc9fb2e49b9f4da439e76000f3b3c6ff0f"},
-    {file = "numpy-1.19.5-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:cae865b1cae1ec2663d8ea56ef6ff185bad091a5e33ebbadd98de2cfa3fa668f"},
-    {file = "numpy-1.19.5-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:36674959eed6957e61f11c912f71e78857a8d0604171dfd9ce9ad5cbf41c511c"},
-    {file = "numpy-1.19.5-cp37-cp37m-manylinux2010_i686.whl", hash = "sha256:06fab248a088e439402141ea04f0fffb203723148f6ee791e9c75b3e9e82f080"},
-    {file = "numpy-1.19.5-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:6149a185cece5ee78d1d196938b2a8f9d09f5a5ebfbba66969302a778d5ddd1d"},
-    {file = "numpy-1.19.5-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:50a4a0ad0111cc1b71fa32dedd05fa239f7fb5a43a40663269bb5dc7877cfd28"},
-    {file = "numpy-1.19.5-cp37-cp37m-win32.whl", hash = "sha256:d051ec1c64b85ecc69531e1137bb9751c6830772ee5c1c426dbcfe98ef5788d7"},
-    {file = "numpy-1.19.5-cp37-cp37m-win_amd64.whl", hash = "sha256:a12ff4c8ddfee61f90a1633a4c4afd3f7bcb32b11c52026c92a12e1325922d0d"},
-    {file = "numpy-1.19.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:cf2402002d3d9f91c8b01e66fbb436a4ed01c6498fffed0e4c7566da1d40ee1e"},
-    {file = "numpy-1.19.5-cp38-cp38-manylinux1_i686.whl", hash = "sha256:1ded4fce9cfaaf24e7a0ab51b7a87be9038ea1ace7f34b841fe3b6894c721d1c"},
-    {file = "numpy-1.19.5-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:012426a41bc9ab63bb158635aecccc7610e3eff5d31d1eb43bc099debc979d94"},
-    {file = "numpy-1.19.5-cp38-cp38-manylinux2010_i686.whl", hash = "sha256:759e4095edc3c1b3ac031f34d9459fa781777a93ccc633a472a5468587a190ff"},
-    {file = "numpy-1.19.5-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:a9d17f2be3b427fbb2bce61e596cf555d6f8a56c222bd2ca148baeeb5e5c783c"},
-    {file = "numpy-1.19.5-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:99abf4f353c3d1a0c7a5f27699482c987cf663b1eac20db59b8c7b061eabd7fc"},
-    {file = "numpy-1.19.5-cp38-cp38-win32.whl", hash = "sha256:384ec0463d1c2671170901994aeb6dce126de0a95ccc3976c43b0038a37329c2"},
-    {file = "numpy-1.19.5-cp38-cp38-win_amd64.whl", hash = "sha256:811daee36a58dc79cf3d8bdd4a490e4277d0e4b7d103a001a4e73ddb48e7e6aa"},
-    {file = "numpy-1.19.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:c843b3f50d1ab7361ca4f0b3639bf691569493a56808a0b0c54a051d260b7dbd"},
-    {file = "numpy-1.19.5-cp39-cp39-manylinux1_i686.whl", hash = "sha256:d6631f2e867676b13026e2846180e2c13c1e11289d67da08d71cacb2cd93d4aa"},
-    {file = "numpy-1.19.5-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:7fb43004bce0ca31d8f13a6eb5e943fa73371381e53f7074ed21a4cb786c32f8"},
-    {file = "numpy-1.19.5-cp39-cp39-manylinux2010_i686.whl", hash = "sha256:2ea52bd92ab9f768cc64a4c3ef8f4b2580a17af0a5436f6126b08efbd1838371"},
-    {file = "numpy-1.19.5-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:400580cbd3cff6ffa6293df2278c75aef2d58d8d93d3c5614cd67981dae68ceb"},
-    {file = "numpy-1.19.5-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:df609c82f18c5b9f6cb97271f03315ff0dbe481a2a02e56aeb1b1a985ce38e60"},
-    {file = "numpy-1.19.5-cp39-cp39-win32.whl", hash = "sha256:ab83f24d5c52d60dbc8cd0528759532736b56db58adaa7b5f1f76ad551416a1e"},
-    {file = "numpy-1.19.5-cp39-cp39-win_amd64.whl", hash = "sha256:0eef32ca3132a48e43f6a0f5a82cb508f22ce5a3d6f67a8329c81c8e226d3f6e"},
-    {file = "numpy-1.19.5-pp36-pypy36_pp73-manylinux2010_x86_64.whl", hash = "sha256:a0d53e51a6cb6f0d9082decb7a4cb6dfb33055308c4c44f53103c073f649af73"},
-    {file = "numpy-1.19.5.zip", hash = "sha256:a76f502430dd98d7546e1ea2250a7360c065a5fdea52b2dffe8ae7180909b6f4"},
+    {file = "numpy-1.20.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:ae61f02b84a0211abb56462a3b6cd1e7ec39d466d3160eb4e1da8bf6717cdbeb"},
+    {file = "numpy-1.20.1-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:65410c7f4398a0047eea5cca9b74009ea61178efd78d1be9847fac1d6716ec1e"},
+    {file = "numpy-1.20.1-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:2d7e27442599104ee08f4faed56bb87c55f8b10a5494ac2ead5c98a4b289e61f"},
+    {file = "numpy-1.20.1-cp37-cp37m-manylinux2010_i686.whl", hash = "sha256:4ed8e96dc146e12c1c5cdd6fb9fd0757f2ba66048bf94c5126b7efebd12d0090"},
+    {file = "numpy-1.20.1-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:ecb5b74c702358cdc21268ff4c37f7466357871f53a30e6f84c686952bef16a9"},
+    {file = "numpy-1.20.1-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:b9410c0b6fed4a22554f072a86c361e417f0258838957b78bd063bde2c7f841f"},
+    {file = "numpy-1.20.1-cp37-cp37m-win32.whl", hash = "sha256:3d3087e24e354c18fb35c454026af3ed8997cfd4997765266897c68d724e4845"},
+    {file = "numpy-1.20.1-cp37-cp37m-win_amd64.whl", hash = "sha256:89f937b13b8dd17b0099c7c2e22066883c86ca1575a975f754babc8fbf8d69a9"},
+    {file = "numpy-1.20.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:a1d7995d1023335e67fb070b2fae6f5968f5be3802b15ad6d79d81ecaa014fe0"},
+    {file = "numpy-1.20.1-cp38-cp38-manylinux1_i686.whl", hash = "sha256:60759ab15c94dd0e1ed88241fd4fa3312db4e91d2c8f5a2d4cf3863fad83d65b"},
+    {file = "numpy-1.20.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:125a0e10ddd99a874fd357bfa1b636cd58deb78ba4a30b5ddb09f645c3512e04"},
+    {file = "numpy-1.20.1-cp38-cp38-manylinux2010_i686.whl", hash = "sha256:c26287dfc888cf1e65181f39ea75e11f42ffc4f4529e5bd19add57ad458996e2"},
+    {file = "numpy-1.20.1-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:7199109fa46277be503393be9250b983f325880766f847885607d9b13848f257"},
+    {file = "numpy-1.20.1-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:72251e43ac426ff98ea802a931922c79b8d7596480300eb9f1b1e45e0543571e"},
+    {file = "numpy-1.20.1-cp38-cp38-win32.whl", hash = "sha256:c91ec9569facd4757ade0888371eced2ecf49e7982ce5634cc2cf4e7331a4b14"},
+    {file = "numpy-1.20.1-cp38-cp38-win_amd64.whl", hash = "sha256:13adf545732bb23a796914fe5f891a12bd74cf3d2986eed7b7eba2941eea1590"},
+    {file = "numpy-1.20.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:104f5e90b143dbf298361a99ac1af4cf59131218a045ebf4ee5990b83cff5fab"},
+    {file = "numpy-1.20.1-cp39-cp39-manylinux2010_i686.whl", hash = "sha256:89e5336f2bec0c726ac7e7cdae181b325a9c0ee24e604704ed830d241c5e47ff"},
+    {file = "numpy-1.20.1-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:032be656d89bbf786d743fee11d01ef318b0781281241997558fa7950028dd29"},
+    {file = "numpy-1.20.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:66b467adfcf628f66ea4ac6430ded0614f5cc06ba530d09571ea404789064adc"},
+    {file = "numpy-1.20.1-cp39-cp39-win32.whl", hash = "sha256:12e4ba5c6420917571f1a5becc9338abbde71dd811ce40b37ba62dec7b39af6d"},
+    {file = "numpy-1.20.1-cp39-cp39-win_amd64.whl", hash = "sha256:9c94cab5054bad82a70b2e77741271790304651d584e2cdfe2041488e753863b"},
+    {file = "numpy-1.20.1-pp37-pypy37_pp73-manylinux2010_x86_64.whl", hash = "sha256:9eb551d122fadca7774b97db8a112b77231dcccda8e91a5bc99e79890797175e"},
+    {file = "numpy-1.20.1.zip", hash = "sha256:3bc63486a870294683980d76ec1e3efc786295ae00128f9ea38e2c6e74d5a60a"},
 ]
 oauthlib = [
     {file = "oauthlib-3.1.0-py2.py3-none-any.whl", hash = "sha256:df884cd6cbe20e32633f1db1072e9356f53638e4361bef4e8b03c9127c9328ea"},
@@ -3316,10 +2991,6 @@ opencv-python = [
     {file = "opencv_python-4.5.1.48-cp39-cp39-win32.whl", hash = "sha256:5172cb37dfd8a0b4945b071a493eb36e5f17675a160637fa380f9c1d9d80535c"},
     {file = "opencv_python-4.5.1.48-cp39-cp39-win_amd64.whl", hash = "sha256:c8cc1f5ff3c352ebe756119014c4e4ec7ae5ac536d1f66b0316667ced37637c8"},
 ]
-opt-einsum = [
-    {file = "opt_einsum-3.3.0-py3-none-any.whl", hash = "sha256:2455e59e3947d3c275477df7f5205b30635e266fe6dc300e3d9f9646bfcea147"},
-    {file = "opt_einsum-3.3.0.tar.gz", hash = "sha256:59f6475f77bbc37dcf7cd748519c0ec60722e91e63ca114e68821c0c54a46549"},
-]
 packaging = [
     {file = "packaging-20.9-py2.py3-none-any.whl", hash = "sha256:67714da7f7bc052e064859c05c595155bd1ee9f69f76557e21f051443c20947a"},
     {file = "packaging-20.9.tar.gz", hash = "sha256:5b327ac1320dc863dca72f4514ecc086f31186744b84a230374cc1fd776feae5"},
@@ -3349,6 +3020,24 @@ pandas = [
     {file = "pandas-1.1.5-cp39-cp39-win32.whl", hash = "sha256:c94ff2780a1fd89f190390130d6d36173ca59fcfb3fe0ff596f9a56518191ccb"},
     {file = "pandas-1.1.5-cp39-cp39-win_amd64.whl", hash = "sha256:edda9bacc3843dfbeebaf7a701763e68e741b08fccb889c003b0a52f0ee95782"},
     {file = "pandas-1.1.5.tar.gz", hash = "sha256:f10fc41ee3c75a474d3bdf68d396f10782d013d7f67db99c0efbfd0acb99701b"},
+    {file = "pandas-1.2.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:c76a108272a4de63189b8f64086bbaf8348841d7e610b52f50959fbbf401524f"},
+    {file = "pandas-1.2.2-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:e61a089151f1ed78682aa77a3bcae0495cf8e585546c26924857d7e8a9960568"},
+    {file = "pandas-1.2.2-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:fc351cd2df318674669481eb978a7799f24fd14ef26987a1aa75105b0531d1a1"},
+    {file = "pandas-1.2.2-cp37-cp37m-win32.whl", hash = "sha256:05ca6bda50123158eb15e716789083ca4c3b874fd47688df1716daa72644ee1c"},
+    {file = "pandas-1.2.2-cp37-cp37m-win_amd64.whl", hash = "sha256:08b6bbe74ae2b3e4741a744d2bce35ce0868a6b4189d8b84be26bb334f73da4c"},
+    {file = "pandas-1.2.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:230de25bd9791748b2638c726a5f37d77a96a83854710110fadd068d1e2c2c9f"},
+    {file = "pandas-1.2.2-cp38-cp38-manylinux1_i686.whl", hash = "sha256:a50cf3110a1914442e7b7b9cef394ef6bed0d801b8a34d56f4c4e927bbbcc7d0"},
+    {file = "pandas-1.2.2-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:4d33537a375cfb2db4d388f9a929b6582a364137ea6c6b161b0166440d6ffe36"},
+    {file = "pandas-1.2.2-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:8ac028cd9a6e1efe43f3dc36f708263838283535cc45430a98b9803f44f4c84b"},
+    {file = "pandas-1.2.2-cp38-cp38-win32.whl", hash = "sha256:c43d1beb098a1da15934262009a7120aac8dafa20d042b31dab48c28868eb5a4"},
+    {file = "pandas-1.2.2-cp38-cp38-win_amd64.whl", hash = "sha256:69a70d79a791fa1fd5f6e84b8b6dec2ec92369bde4ab2e18d43fc8a1825f51d1"},
+    {file = "pandas-1.2.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:cbad4155028b8ca66aa19a8b13f593ebbf51bfb6c3f2685fe64f04d695a81864"},
+    {file = "pandas-1.2.2-cp39-cp39-manylinux1_i686.whl", hash = "sha256:fbddbb20f30308ba2546193d64e18c23b69f59d48cdef73676cbed803495c8dc"},
+    {file = "pandas-1.2.2-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:214ae60b1f863844e97c87f758c29940ffad96c666257323a4bb2a33c58719c2"},
+    {file = "pandas-1.2.2-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:26b4919eb3039a686a86cd4f4a74224f8f66e3a419767da26909dcdd3b37c31e"},
+    {file = "pandas-1.2.2-cp39-cp39-win32.whl", hash = "sha256:e3c250faaf9979d0ec836d25e420428db37783fa5fed218da49c9fc06f80f51c"},
+    {file = "pandas-1.2.2-cp39-cp39-win_amd64.whl", hash = "sha256:e9bbcc7b5c432600797981706f5b54611990c6a86b2e424329c995eea5f9c42b"},
+    {file = "pandas-1.2.2.tar.gz", hash = "sha256:14ed84b463e9b84c8ff9308a79b04bf591ae3122a376ee0f62c68a1bd917a773"},
 ]
 pandocfilters = [
     {file = "pandocfilters-1.4.3.tar.gz", hash = "sha256:bc63fbb50534b4b1f8ebe1860889289e8af94a23bff7445259592df25a3906eb"},
@@ -3419,28 +3108,28 @@ prometheus-client = [
     {file = "prometheus_client-0.9.0.tar.gz", hash = "sha256:9da7b32f02439d8c04f7777021c304ed51d9ec180604700c1ba72a4d44dceb03"},
 ]
 prompt-toolkit = [
-    {file = "prompt_toolkit-3.0.15-py3-none-any.whl", hash = "sha256:4ccd91f540ef57732d38451889b915ab75a78e04f427e9f2811ff9da0332a174"},
-    {file = "prompt_toolkit-3.0.15.tar.gz", hash = "sha256:1411dc3c26dfbfb55b88d8239484b2f2a9df4e69e67965711b187c8917bff872"},
+    {file = "prompt_toolkit-3.0.16-py3-none-any.whl", hash = "sha256:62c811e46bd09130fb11ab759012a4ae385ce4fb2073442d1898867a824183bd"},
+    {file = "prompt_toolkit-3.0.16.tar.gz", hash = "sha256:0fa02fa80363844a4ab4b8d6891f62dd0645ba672723130423ca4037b80c1974"},
 ]
 protobuf = [
-    {file = "protobuf-3.14.0-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:629b03fd3caae7f815b0c66b41273f6b1900a579e2ccb41ef4493a4f5fb84f3a"},
-    {file = "protobuf-3.14.0-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:5b7a637212cc9b2bcf85dd828b1178d19efdf74dbfe1ddf8cd1b8e01fdaaa7f5"},
-    {file = "protobuf-3.14.0-cp35-cp35m-macosx_10_9_intel.whl", hash = "sha256:43b554b9e73a07ba84ed6cf25db0ff88b1e06be610b37656e292e3cbb5437472"},
-    {file = "protobuf-3.14.0-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:5e9806a43232a1fa0c9cf5da8dc06f6910d53e4390be1fa06f06454d888a9142"},
-    {file = "protobuf-3.14.0-cp35-cp35m-win32.whl", hash = "sha256:1c51fda1bbc9634246e7be6016d860be01747354ed7015ebe38acf4452f470d2"},
-    {file = "protobuf-3.14.0-cp35-cp35m-win_amd64.whl", hash = "sha256:4b74301b30513b1a7494d3055d95c714b560fbb630d8fb9956b6f27992c9f980"},
-    {file = "protobuf-3.14.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:86a75477addde4918e9a1904e5c6af8d7b691f2a3f65587d73b16100fbe4c3b2"},
-    {file = "protobuf-3.14.0-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:ecc33531a213eee22ad60e0e2aaea6c8ba0021f0cce35dbf0ab03dee6e2a23a1"},
-    {file = "protobuf-3.14.0-cp36-cp36m-win32.whl", hash = "sha256:72230ed56f026dd664c21d73c5db73ebba50d924d7ba6b7c0d81a121e390406e"},
-    {file = "protobuf-3.14.0-cp36-cp36m-win_amd64.whl", hash = "sha256:0fc96785262042e4863b3f3b5c429d4636f10d90061e1840fce1baaf59b1a836"},
-    {file = "protobuf-3.14.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:4e75105c9dfe13719b7293f75bd53033108f4ba03d44e71db0ec2a0e8401eafd"},
-    {file = "protobuf-3.14.0-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:2a7e2fe101a7ace75e9327b9c946d247749e564a267b0515cf41dfe450b69bac"},
-    {file = "protobuf-3.14.0-cp37-cp37m-win32.whl", hash = "sha256:b0d5d35faeb07e22a1ddf8dce620860c8fe145426c02d1a0ae2688c6e8ede36d"},
-    {file = "protobuf-3.14.0-cp37-cp37m-win_amd64.whl", hash = "sha256:8971c421dbd7aad930c9bd2694122f332350b6ccb5202a8b7b06f3f1a5c41ed5"},
-    {file = "protobuf-3.14.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:9616f0b65a30851e62f1713336c931fcd32c057202b7ff2cfbfca0fc7d5e3043"},
-    {file = "protobuf-3.14.0-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:22bcd2e284b3b1d969c12e84dc9b9a71701ec82d8ce975fdda19712e1cfd4e00"},
-    {file = "protobuf-3.14.0-py2.py3-none-any.whl", hash = "sha256:0e247612fadda953047f53301a7b0407cb0c3cb4ae25a6fde661597a04039b3c"},
-    {file = "protobuf-3.14.0.tar.gz", hash = "sha256:1d63eb389347293d8915fb47bee0951c7b5dab522a4a60118b9a18f33e21f8ce"},
+    {file = "protobuf-3.15.0-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:44d824adb48fe8baf81e628c2edaf9911912cd592a83621d2b877ccfde631d61"},
+    {file = "protobuf-3.15.0-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:b04449133e31b65924650d758efbc2397c2d0e5eb3c8cae7428ffc4fa9c3403d"},
+    {file = "protobuf-3.15.0-cp35-cp35m-macosx_10_9_intel.whl", hash = "sha256:ef69a10d45529a08367e70e736b3ce8e2af51360f23650ef1d4381ff9038467a"},
+    {file = "protobuf-3.15.0-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:50f28efa66232a2fbbdd638dd61d9399ff66bcfde40ff305263b229692928081"},
+    {file = "protobuf-3.15.0-cp35-cp35m-win32.whl", hash = "sha256:25f0ee57684f7bc3f0511b73cf55c016a891d09079c357794759663fe3da9cd3"},
+    {file = "protobuf-3.15.0-cp35-cp35m-win_amd64.whl", hash = "sha256:94b34486986d7683e83f9d02a0112533263fc20fae54fff3f4fd69451e682ec7"},
+    {file = "protobuf-3.15.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:11f192d491613f692b3ddc18f06c925785b3019c8e35d32c811421ca9ff7d50e"},
+    {file = "protobuf-3.15.0-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:867635c1d541ce336a1a4df3379d1116f02eba6dc326d080c8ef02f34036c415"},
+    {file = "protobuf-3.15.0-cp36-cp36m-win32.whl", hash = "sha256:f6d10b1f86cebb8008a256f474948fc6204391e02a9c12935eebf036bbb07b65"},
+    {file = "protobuf-3.15.0-cp36-cp36m-win_amd64.whl", hash = "sha256:5c2ee13f5ea237a17bd81f52f972b7d334c0a43330d2a2a7b25b07f16eb146d8"},
+    {file = "protobuf-3.15.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:2ccc0169b5145b3af676b6997be6fe62961edfc12bb524a7b9c46fb5d208a3d4"},
+    {file = "protobuf-3.15.0-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:51e080fb1de5db54b0a6b1519ba8dda55e57404b0a4948e58f1342a3e15d89ec"},
+    {file = "protobuf-3.15.0-cp37-cp37m-win32.whl", hash = "sha256:d892e487bd544463ce1e656434591593f710169335ac3f02ce30ee866c2f2464"},
+    {file = "protobuf-3.15.0-cp37-cp37m-win_amd64.whl", hash = "sha256:40f031f79b0254aa62082ca87776c0959d85adf99f09cdef9d0b320bb772a609"},
+    {file = "protobuf-3.15.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:ae4bcd5a0ce3f77d0523c3e5ed0d04ed2af454f7bf7cef08cb7a8d0915ac80a9"},
+    {file = "protobuf-3.15.0-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:830a9c71df347b3fb3cd24ec985c4ed64f6e75983f543a1d8a3c96302dae915c"},
+    {file = "protobuf-3.15.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:fecf1b00ccc87bb8debca8b56458cc57c486d2d7afe22c7526728f79ffe232f4"},
+    {file = "protobuf-3.15.0-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:0e00b4e4a4800b389ae7f0058e1fc9d012444fdde926569d8cce55c84a01ef74"},
 ]
 ptyprocess = [
     {file = "ptyprocess-0.7.0-py2.py3-none-any.whl", hash = "sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35"},
@@ -3473,47 +3162,17 @@ pyarrow = [
     {file = "pyarrow-3.0.0-cp39-cp39-win_amd64.whl", hash = "sha256:5faa2dc73444bdcf042f121383965a47362be1f946303d46e8fd80f8d26cd90c"},
     {file = "pyarrow-3.0.0.tar.gz", hash = "sha256:4bf8cc43e1db1e0517466209ee8e8f459d9b5e1b4074863317f2a965cf59889e"},
 ]
-pyasn1 = [
-    {file = "pyasn1-0.4.8-py2.4.egg", hash = "sha256:fec3e9d8e36808a28efb59b489e4528c10ad0f480e57dcc32b4de5c9d8c9fdf3"},
-    {file = "pyasn1-0.4.8-py2.5.egg", hash = "sha256:0458773cfe65b153891ac249bcf1b5f8f320b7c2ce462151f8fa74de8934becf"},
-    {file = "pyasn1-0.4.8-py2.6.egg", hash = "sha256:5c9414dcfede6e441f7e8f81b43b34e834731003427e5b09e4e00e3172a10f00"},
-    {file = "pyasn1-0.4.8-py2.7.egg", hash = "sha256:6e7545f1a61025a4e58bb336952c5061697da694db1cae97b116e9c46abcf7c8"},
-    {file = "pyasn1-0.4.8-py2.py3-none-any.whl", hash = "sha256:39c7e2ec30515947ff4e87fb6f456dfc6e84857d34be479c9d4a4ba4bf46aa5d"},
-    {file = "pyasn1-0.4.8-py3.1.egg", hash = "sha256:78fa6da68ed2727915c4767bb386ab32cdba863caa7dbe473eaae45f9959da86"},
-    {file = "pyasn1-0.4.8-py3.2.egg", hash = "sha256:08c3c53b75eaa48d71cf8c710312316392ed40899cb34710d092e96745a358b7"},
-    {file = "pyasn1-0.4.8-py3.3.egg", hash = "sha256:03840c999ba71680a131cfaee6fab142e1ed9bbd9c693e285cc6aca0d555e576"},
-    {file = "pyasn1-0.4.8-py3.4.egg", hash = "sha256:7ab8a544af125fb704feadb008c99a88805126fb525280b2270bb25cc1d78a12"},
-    {file = "pyasn1-0.4.8-py3.5.egg", hash = "sha256:e89bf84b5437b532b0803ba5c9a5e054d21fec423a89952a74f87fa2c9b7bce2"},
-    {file = "pyasn1-0.4.8-py3.6.egg", hash = "sha256:014c0e9976956a08139dc0712ae195324a75e142284d5f87f1a87ee1b068a359"},
-    {file = "pyasn1-0.4.8-py3.7.egg", hash = "sha256:99fcc3c8d804d1bc6d9a099921e39d827026409a58f2a720dcdb89374ea0c776"},
-    {file = "pyasn1-0.4.8.tar.gz", hash = "sha256:aef77c9fb94a3ac588e87841208bdec464471d9871bd5050a287cc9a475cd0ba"},
-]
-pyasn1-modules = [
-    {file = "pyasn1-modules-0.2.8.tar.gz", hash = "sha256:905f84c712230b2c592c19470d3ca8d552de726050d1d1716282a1f6146be65e"},
-    {file = "pyasn1_modules-0.2.8-py2.4.egg", hash = "sha256:0fe1b68d1e486a1ed5473f1302bd991c1611d319bba158e98b106ff86e1d7199"},
-    {file = "pyasn1_modules-0.2.8-py2.5.egg", hash = "sha256:fe0644d9ab041506b62782e92b06b8c68cca799e1a9636ec398675459e031405"},
-    {file = "pyasn1_modules-0.2.8-py2.6.egg", hash = "sha256:a99324196732f53093a84c4369c996713eb8c89d360a496b599fb1a9c47fc3eb"},
-    {file = "pyasn1_modules-0.2.8-py2.7.egg", hash = "sha256:0845a5582f6a02bb3e1bde9ecfc4bfcae6ec3210dd270522fee602365430c3f8"},
-    {file = "pyasn1_modules-0.2.8-py2.py3-none-any.whl", hash = "sha256:a50b808ffeb97cb3601dd25981f6b016cbb3d31fbf57a8b8a87428e6158d0c74"},
-    {file = "pyasn1_modules-0.2.8-py3.1.egg", hash = "sha256:f39edd8c4ecaa4556e989147ebf219227e2cd2e8a43c7e7fcb1f1c18c5fd6a3d"},
-    {file = "pyasn1_modules-0.2.8-py3.2.egg", hash = "sha256:b80486a6c77252ea3a3e9b1e360bc9cf28eaac41263d173c032581ad2f20fe45"},
-    {file = "pyasn1_modules-0.2.8-py3.3.egg", hash = "sha256:65cebbaffc913f4fe9e4808735c95ea22d7a7775646ab690518c056784bc21b4"},
-    {file = "pyasn1_modules-0.2.8-py3.4.egg", hash = "sha256:15b7c67fabc7fc240d87fb9aabf999cf82311a6d6fb2c70d00d3d0604878c811"},
-    {file = "pyasn1_modules-0.2.8-py3.5.egg", hash = "sha256:426edb7a5e8879f1ec54a1864f16b882c2837bfd06eee62f2c982315ee2473ed"},
-    {file = "pyasn1_modules-0.2.8-py3.6.egg", hash = "sha256:cbac4bc38d117f2a49aeedec4407d23e8866ea4ac27ff2cf7fb3e5b570df19e0"},
-    {file = "pyasn1_modules-0.2.8-py3.7.egg", hash = "sha256:c29a5e5cc7a3f05926aff34e097e84f8589cd790ce0ed41b67aed6857b26aafd"},
-]
 pycparser = [
     {file = "pycparser-2.20-py2.py3-none-any.whl", hash = "sha256:7582ad22678f0fcd81102833f60ef8d0e57288b6b5fb00323d101be910e35705"},
     {file = "pycparser-2.20.tar.gz", hash = "sha256:2d475327684562c3a96cc71adf7dc8c4f0565175cf86b6d7a404ff4c771f15f0"},
 ]
 pydeck = [
-    {file = "pydeck-0.6.0-py2.py3-none-any.whl", hash = "sha256:1eb36bcf9ba93d61f2522a630ce8639c1c33fa1b7c5a5b2e562d09411d82c10a"},
-    {file = "pydeck-0.6.0.tar.gz", hash = "sha256:585b9e92c79ceaf16f90d29c7172da11b7b45af942fa0e28c8e1e1b46cfb90d0"},
+    {file = "pydeck-0.6.1-py2.py3-none-any.whl", hash = "sha256:9f77d28b45504010c48cc7a43bbc2108749862f6738f94dba2e9ad16a39b0be1"},
+    {file = "pydeck-0.6.1.tar.gz", hash = "sha256:a431484424e92f75454cd5066935241d9244bc8c78afe478a7f83143878f28d0"},
 ]
 pygments = [
-    {file = "Pygments-2.7.4-py3-none-any.whl", hash = "sha256:bc9591213a8f0e0ca1a5e68a479b4887fdc3e75d0774e5c71c31920c427de435"},
-    {file = "Pygments-2.7.4.tar.gz", hash = "sha256:df49d09b498e83c1a73128295860250b0b7edd4c723a32e9bc0d295c7c2ec337"},
+    {file = "Pygments-2.8.0-py3-none-any.whl", hash = "sha256:b21b072d0ccdf29297a82a2363359d99623597b8a265b8081760e4d0f7153c88"},
+    {file = "Pygments-2.8.0.tar.gz", hash = "sha256:37a13ba168a02ac54cc5891a42b1caec333e59b66addb7fa633ea8a6d73445c0"},
 ]
 pyjwt = [
     {file = "PyJWT-2.0.1-py3-none-any.whl", hash = "sha256:b70b15f89dc69b993d8a8d32c299032d5355c82f9b5b7e851d1a6d706dffe847"},
@@ -3620,38 +3279,38 @@ pyyaml = [
     {file = "PyYAML-5.4.1.tar.gz", hash = "sha256:607774cbba28732bfa802b54baa7484215f530991055bb562efbed5b2f20a45e"},
 ]
 pyzmq = [
-    {file = "pyzmq-22.0.2-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:c2a8d70fe2a321a83d274970481eb244bff027b58511e943ef564721530ba786"},
-    {file = "pyzmq-22.0.2-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:b68033181dc2e622bb5baa9b16d5933303779a03dc89860f4c44f629426d802c"},
-    {file = "pyzmq-22.0.2-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:9bae89912cac9f03d41adb66981f6e753cfd4e451937b2cd435d732fd4ccb1a3"},
-    {file = "pyzmq-22.0.2-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:75b68890219231bd60556a1c6e0d2dc05fa1b179a26c876442c83a0d77958bc9"},
-    {file = "pyzmq-22.0.2-cp36-cp36m-win32.whl", hash = "sha256:c6b1d235a08f2c42480cb9a0a5cd2a29c391052d8bc8f43db86aa15387734a33"},
-    {file = "pyzmq-22.0.2-cp36-cp36m-win_amd64.whl", hash = "sha256:f3ad3f77ed6a3cf31f61170fc1733afd83a4cf8e02edde0762d4e630bce2a97e"},
-    {file = "pyzmq-22.0.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:490a9fe5509b09369722b18b85ef494abdf7c51cb1c9484cf83c3921961c2038"},
-    {file = "pyzmq-22.0.2-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:303b8ebafce9906fc1e8eb35734b9dba4786ca3da7cdc88e04a8997dde2372d3"},
-    {file = "pyzmq-22.0.2-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:1ffb81b08bcaaac30ba913adef686ff41b257252e96fca32497029fdc3962ff0"},
-    {file = "pyzmq-22.0.2-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:75fa832c79ce30a23cd44a4e89224c651ef6bf5144b842ad066246e914b92233"},
-    {file = "pyzmq-22.0.2-cp37-cp37m-win32.whl", hash = "sha256:d77f6eb839097e4bce96fcac7e05e33b677efe0385bd0ab6c2a9ea818ed7e8f9"},
-    {file = "pyzmq-22.0.2-cp37-cp37m-win_amd64.whl", hash = "sha256:5a565af3729b2bf7c2ce1d563084d0cd90a312290ba5e571a0c3ec770ea8a287"},
-    {file = "pyzmq-22.0.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:ff236d8653f8bb74198223c7af77b9378714f411d6d95255d97c2d69bf991b20"},
-    {file = "pyzmq-22.0.2-cp38-cp38-manylinux2010_i686.whl", hash = "sha256:37beae88d6cf102419bb0ec79acb19c062dcea6765b57cf2b265dac5542bcdad"},
-    {file = "pyzmq-22.0.2-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:bc9f2c26485dc76520084ee8d76f18171cc89f24f801bed8402302ee99dbbcd9"},
-    {file = "pyzmq-22.0.2-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:0b32bd5e7346e534fddb57eab309933ff6b3b177c0106b908b6193dfa75fdabe"},
-    {file = "pyzmq-22.0.2-cp38-cp38-win32.whl", hash = "sha256:58a074afa254a53872202e92594b59c0ba8cda62effc6437e34ae7048559dd38"},
-    {file = "pyzmq-22.0.2-cp38-cp38-win_amd64.whl", hash = "sha256:66d1190eec0a78bd07d39d1615b7923190ed1ba8aa04742d963b09bc66628681"},
-    {file = "pyzmq-22.0.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:013e1343b41aaeb482f40605f3fadcfeb841706039625d7b30d12ae8fa0d3cd0"},
-    {file = "pyzmq-22.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:d66724bf0d423aa18c9ea43a1bf24ed5c1d143f00bdace7c1b7fc3034f188cc9"},
-    {file = "pyzmq-22.0.2-cp39-cp39-manylinux2010_i686.whl", hash = "sha256:86cb0982b02b4fc2fbd4a65155289e0e4e5015982dbe2db14f8856c303cffa08"},
-    {file = "pyzmq-22.0.2-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:7b6c855c562d1c1bf7a1ba72c2617c8298e0fa1b1c08dc8d60e225031567ad9e"},
-    {file = "pyzmq-22.0.2-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:034f5b9e4ff0bcc67e49fe8f55a1b209ea5761c8fd00c246195c8d0cb6ce096d"},
-    {file = "pyzmq-22.0.2-cp39-cp39-win32.whl", hash = "sha256:849444c1699c244d5770d3a684c51f024e95c538f71dd3d1ff423a91745bab7f"},
-    {file = "pyzmq-22.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:506d4716ca6e5798345038e75adcb05b4118112a36700941967925285637198b"},
-    {file = "pyzmq-22.0.2-pp36-pypy36_pp73-macosx_10_9_x86_64.whl", hash = "sha256:888d850d4b7e1426d210e901bd93075991b36fe0e2ae2547ce5c18b96df95250"},
-    {file = "pyzmq-22.0.2-pp36-pypy36_pp73-manylinux2010_x86_64.whl", hash = "sha256:03c001be8c3817d5721137660ed21d90f6175002f0e583306079c791b1d9a855"},
-    {file = "pyzmq-22.0.2-pp36-pypy36_pp73-win32.whl", hash = "sha256:3f4e6574d2589e3e22514a3669e86a7bf18a95d3c3ae65733fa6a0a769ec4c9d"},
-    {file = "pyzmq-22.0.2-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:35c8c5c8160f0f0fc6d4588037243b668c3f20d981c1b8e7b5d9c33f8eeb7eb6"},
-    {file = "pyzmq-22.0.2-pp37-pypy37_pp73-manylinux2010_x86_64.whl", hash = "sha256:841e9563ce9bd33fe9f227ec680ac033e9f1060977d613568c1dcbff09e74cc9"},
-    {file = "pyzmq-22.0.2-pp37-pypy37_pp73-win32.whl", hash = "sha256:cc814880ba27f2ea8cea48ff3b480076266d4dd9c3fe29ef6e5a0a807639abe7"},
-    {file = "pyzmq-22.0.2.tar.gz", hash = "sha256:d7b82a959e5e22d492f4f5a1e650e909a6c8c76ede178f538313ddb9d1e92963"},
+    {file = "pyzmq-22.0.3-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:c0cde362075ee8f3d2b0353b283e203c2200243b5a15d5c5c03b78112a17e7d4"},
+    {file = "pyzmq-22.0.3-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:ff1ea14075bbddd6f29bf6beb8a46d0db779bcec6b9820909584081ec119f8fd"},
+    {file = "pyzmq-22.0.3-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:26380487eae4034d6c2a3fb8d0f2dff6dd0d9dd711894e8d25aa2d1938950a33"},
+    {file = "pyzmq-22.0.3-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:3e29f9cf85a40d521d048b55c63f59d6c772ac1c4bf51cdfc23b62a62e377c33"},
+    {file = "pyzmq-22.0.3-cp36-cp36m-win32.whl", hash = "sha256:4f34a173f813b38b83f058e267e30465ed64b22cd0cf6bad21148d3fa718f9bb"},
+    {file = "pyzmq-22.0.3-cp36-cp36m-win_amd64.whl", hash = "sha256:30df70f81fe210506aa354d7fd486a39b87d9f7f24c3d3f4f698ec5d96b8c084"},
+    {file = "pyzmq-22.0.3-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:7026f0353977431fc884abd4ac28268894bd1a780ba84bb266d470b0ec26d2ed"},
+    {file = "pyzmq-22.0.3-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:6d4163704201fff0f3ab0cd5d7a0ea1514ecfffd3926d62ec7e740a04d2012c7"},
+    {file = "pyzmq-22.0.3-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:763c175294d861869f18eb42901d500eda7d3fa4565f160b3b2fd2678ea0ebab"},
+    {file = "pyzmq-22.0.3-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:61e4bb6cd60caf1abcd796c3f48395e22c5b486eeca6f3a8797975c57d94b03e"},
+    {file = "pyzmq-22.0.3-cp37-cp37m-win32.whl", hash = "sha256:b25e5d339550a850f7e919fe8cb4c8eabe4c917613db48dab3df19bfb9a28969"},
+    {file = "pyzmq-22.0.3-cp37-cp37m-win_amd64.whl", hash = "sha256:3ef50d74469b03725d781a2a03c57537d86847ccde587130fe35caafea8f75c6"},
+    {file = "pyzmq-22.0.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:60e63577b85055e4cc43892fecd877b86695ee3ef12d5d10a3c5d6e77a7cc1a3"},
+    {file = "pyzmq-22.0.3-cp38-cp38-manylinux2010_i686.whl", hash = "sha256:f5831eff6b125992ec65d973f5151c48003b6754030094723ac4c6e80a97c8c4"},
+    {file = "pyzmq-22.0.3-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:9221783dacb419604d5345d0e097bddef4459a9a95322de6c306bf1d9896559f"},
+    {file = "pyzmq-22.0.3-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:b62ea18c0458a65ccd5be90f276f7a5a3f26a6dea0066d948ce2fa896051420f"},
+    {file = "pyzmq-22.0.3-cp38-cp38-win32.whl", hash = "sha256:81e7df0da456206201e226491aa1fc449da85328bf33bbeec2c03bb3a9f18324"},
+    {file = "pyzmq-22.0.3-cp38-cp38-win_amd64.whl", hash = "sha256:f52070871a0fd90a99130babf21f8af192304ec1e995bec2a9533efc21ea4452"},
+    {file = "pyzmq-22.0.3-cp39-cp39-macosx_10_15_universal2.whl", hash = "sha256:c5e29fe4678f97ce429f076a2a049a3d0b2660ada8f2c621e5dc9939426056dd"},
+    {file = "pyzmq-22.0.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:d18ddc6741b51f3985978f2fda57ddcdae359662d7a6b395bc8ff2292fca14bd"},
+    {file = "pyzmq-22.0.3-cp39-cp39-manylinux2010_i686.whl", hash = "sha256:4231943514812dfb74f44eadcf85e8dd8cf302b4d0bce450ce1357cac88dbfdc"},
+    {file = "pyzmq-22.0.3-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:23a74de4b43c05c3044aeba0d1f3970def8f916151a712a3ac1e5cd9c0bc2902"},
+    {file = "pyzmq-22.0.3-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:532af3e6dddea62d9c49062ece5add998c9823c2419da943cf95589f56737de0"},
+    {file = "pyzmq-22.0.3-cp39-cp39-win32.whl", hash = "sha256:33acd2b9790818b9d00526135acf12790649d8d34b2b04d64558b469c9d86820"},
+    {file = "pyzmq-22.0.3-cp39-cp39-win_amd64.whl", hash = "sha256:a558c5bc89d56d7253187dccc4e81b5bb0eac5ae9511eb4951910a1245d04622"},
+    {file = "pyzmq-22.0.3-pp36-pypy36_pp73-macosx_10_9_x86_64.whl", hash = "sha256:581787c62eaa0e0db6c5413cedc393ebbadac6ddfd22e1cf9a60da23c4f1a4b2"},
+    {file = "pyzmq-22.0.3-pp36-pypy36_pp73-manylinux2010_x86_64.whl", hash = "sha256:38e3dca75d81bec4f2defa14b0a65b74545812bb519a8e89c8df96bbf4639356"},
+    {file = "pyzmq-22.0.3-pp36-pypy36_pp73-win32.whl", hash = "sha256:2f971431aaebe0a8b54ac018e041c2f0b949a43745444e4dadcc80d0f0ef8457"},
+    {file = "pyzmq-22.0.3-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:da7d4d4c778c86b60949d17531e60c54ed3726878de8a7f8a6d6e7f8cc8c3205"},
+    {file = "pyzmq-22.0.3-pp37-pypy37_pp73-manylinux2010_x86_64.whl", hash = "sha256:13465c1ff969cab328bc92f7015ce3843f6e35f8871ad79d236e4fbc85dbe4cb"},
+    {file = "pyzmq-22.0.3-pp37-pypy37_pp73-win32.whl", hash = "sha256:279cc9b51db48bec2db146f38e336049ac5a59e5f12fb3a8ad864e238c1c62e3"},
+    {file = "pyzmq-22.0.3.tar.gz", hash = "sha256:f7f63ce127980d40f3e6a5fdb87abf17ce1a7c2bd8bf2c7560e1bbce8ab1f92d"},
 ]
 regex = [
     {file = "regex-2020.11.13-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:8b882a78c320478b12ff024e81dc7d43c1462aa4a3341c754ee65d857a521f85"},
@@ -3708,52 +3367,61 @@ requests-oauthlib = [
 rope = [
     {file = "rope-0.17.0.tar.gz", hash = "sha256:658ad6705f43dcf3d6df379da9486529cf30e02d9ea14c5682aa80eb33b649e1"},
 ]
-rsa = [
-    {file = "rsa-4.7-py3-none-any.whl", hash = "sha256:a8774e55b59fd9fc893b0d05e9bfc6f47081f46ff5b46f39ccf24631b7be356b"},
-    {file = "rsa-4.7.tar.gz", hash = "sha256:69805d6b69f56eb05b62daea3a7dbd7aa44324ad1306445e05da8060232d00f4"},
-]
 s3transfer = [
     {file = "s3transfer-0.3.4-py2.py3-none-any.whl", hash = "sha256:1e28620e5b444652ed752cf87c7e0cb15b0e578972568c6609f0f18212f259ed"},
     {file = "s3transfer-0.3.4.tar.gz", hash = "sha256:7fdddb4f22275cf1d32129e21f056337fd2a80b6ccef1664528145b72c49e6d2"},
 ]
 scikit-learn = [
-    {file = "scikit-learn-0.23.2.tar.gz", hash = "sha256:20766f515e6cd6f954554387dfae705d93c7b544ec0e6c6a5d8e006f6f7ef480"},
-    {file = "scikit_learn-0.23.2-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:98508723f44c61896a4e15894b2016762a55555fbf09365a0bb1870ecbd442de"},
-    {file = "scikit_learn-0.23.2-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:a64817b050efd50f9abcfd311870073e500ae11b299683a519fbb52d85e08d25"},
-    {file = "scikit_learn-0.23.2-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:daf276c465c38ef736a79bd79fc80a249f746bcbcae50c40945428f7ece074f8"},
-    {file = "scikit_learn-0.23.2-cp36-cp36m-win32.whl", hash = "sha256:cb3e76380312e1f86abd20340ab1d5b3cc46a26f6593d3c33c9ea3e4c7134028"},
-    {file = "scikit_learn-0.23.2-cp36-cp36m-win_amd64.whl", hash = "sha256:0a127cc70990d4c15b1019680bfedc7fec6c23d14d3719fdf9b64b22d37cdeca"},
-    {file = "scikit_learn-0.23.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:2aa95c2f17d2f80534156215c87bee72b6aa314a7f8b8fe92a2d71f47280570d"},
-    {file = "scikit_learn-0.23.2-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:6c28a1d00aae7c3c9568f61aafeaad813f0f01c729bee4fd9479e2132b215c1d"},
-    {file = "scikit_learn-0.23.2-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:da8e7c302003dd765d92a5616678e591f347460ac7b53e53d667be7dfe6d1b10"},
-    {file = "scikit_learn-0.23.2-cp37-cp37m-win32.whl", hash = "sha256:d9a1ce5f099f29c7c33181cc4386660e0ba891b21a60dc036bf369e3a3ee3aec"},
-    {file = "scikit_learn-0.23.2-cp37-cp37m-win_amd64.whl", hash = "sha256:914ac2b45a058d3f1338d7736200f7f3b094857758895f8667be8a81ff443b5b"},
-    {file = "scikit_learn-0.23.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:7671bbeddd7f4f9a6968f3b5442dac5f22bf1ba06709ef888cc9132ad354a9ab"},
-    {file = "scikit_learn-0.23.2-cp38-cp38-manylinux1_i686.whl", hash = "sha256:d0dcaa54263307075cb93d0bee3ceb02821093b1b3d25f66021987d305d01dce"},
-    {file = "scikit_learn-0.23.2-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:5ce7a8021c9defc2b75620571b350acc4a7d9763c25b7593621ef50f3bd019a2"},
-    {file = "scikit_learn-0.23.2-cp38-cp38-win32.whl", hash = "sha256:0d39748e7c9669ba648acf40fb3ce96b8a07b240db6888563a7cb76e05e0d9cc"},
-    {file = "scikit_learn-0.23.2-cp38-cp38-win_amd64.whl", hash = "sha256:1b8a391de95f6285a2f9adffb7db0892718950954b7149a70c783dc848f104ea"},
+    {file = "scikit-learn-0.24.1.tar.gz", hash = "sha256:a0334a1802e64d656022c3bfab56a73fbd6bf4b1298343f3688af2151810bbdf"},
+    {file = "scikit_learn-0.24.1-cp36-cp36m-macosx_10_13_x86_64.whl", hash = "sha256:9bed8a1ef133c8e2f13966a542cb8125eac7f4b67dcd234197c827ba9c7dd3e0"},
+    {file = "scikit_learn-0.24.1-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:a36e159a0521e13bbe15ca8c8d038b3a1dd4c7dad18d276d76992e03b92cf643"},
+    {file = "scikit_learn-0.24.1-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:c658432d8a20e95398f6bb95ff9731ce9dfa343fdf21eea7ec6a7edfacd4b4d9"},
+    {file = "scikit_learn-0.24.1-cp36-cp36m-manylinux2010_i686.whl", hash = "sha256:9dfa564ef27e8e674aa1cc74378416d580ac4ede1136c13dd555a87996e13422"},
+    {file = "scikit_learn-0.24.1-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:9c6097b6a9b2bafc5e0f31f659e6ab5e131383209c30c9e978c5b8abdac5ed2a"},
+    {file = "scikit_learn-0.24.1-cp36-cp36m-win32.whl", hash = "sha256:7b04691eb2f41d2c68dbda8d1bd3cb4ef421bdc43aaa56aeb6c762224552dfb6"},
+    {file = "scikit_learn-0.24.1-cp36-cp36m-win_amd64.whl", hash = "sha256:1adf483e91007a87171d7ce58c34b058eb5dab01b5fee6052f15841778a8ecd8"},
+    {file = "scikit_learn-0.24.1-cp37-cp37m-macosx_10_13_x86_64.whl", hash = "sha256:ddb52d088889f5596bc4d1de981f2eca106b58243b6679e4782f3ba5096fd645"},
+    {file = "scikit_learn-0.24.1-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:a29460499c1e62b7a830bb57ca42e615375a6ab1bcad053cd25b493588348ea8"},
+    {file = "scikit_learn-0.24.1-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:0567a2d29ad08af98653300c623bd8477b448fe66ced7198bef4ed195925f082"},
+    {file = "scikit_learn-0.24.1-cp37-cp37m-manylinux2010_i686.whl", hash = "sha256:99349d77f54e11f962d608d94dfda08f0c9e5720d97132233ebdf35be2858b2d"},
+    {file = "scikit_learn-0.24.1-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:83b21ff053b1ff1c018a2d24db6dd3ea339b1acfbaa4d9c881731f43748d8b3b"},
+    {file = "scikit_learn-0.24.1-cp37-cp37m-win32.whl", hash = "sha256:c3deb3b19dd9806acf00cf0d400e84562c227723013c33abefbbc3cf906596e9"},
+    {file = "scikit_learn-0.24.1-cp37-cp37m-win_amd64.whl", hash = "sha256:d54dbaadeb1425b7d6a66bf44bee2bb2b899fe3e8850b8e94cfb9c904dcb46d0"},
+    {file = "scikit_learn-0.24.1-cp38-cp38-macosx_10_13_x86_64.whl", hash = "sha256:3c4f07f47c04e81b134424d53c3f5e16dfd7f494e44fd7584ba9ce9de2c5e6c1"},
+    {file = "scikit_learn-0.24.1-cp38-cp38-manylinux1_i686.whl", hash = "sha256:c13ebac42236b1c46397162471ea1c46af68413000e28b9309f8c05722c65a09"},
+    {file = "scikit_learn-0.24.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:4ddd2b6f7449a5d539ff754fa92d75da22de261fd8fdcfb3596799fadf255101"},
+    {file = "scikit_learn-0.24.1-cp38-cp38-manylinux2010_i686.whl", hash = "sha256:826b92bf45b8ad80444814e5f4ac032156dd481e48d7da33d611f8fe96d5f08b"},
+    {file = "scikit_learn-0.24.1-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:259ec35201e82e2db1ae2496f229e63f46d7f1695ae68eef9350b00dc74ba52f"},
+    {file = "scikit_learn-0.24.1-cp38-cp38-win32.whl", hash = "sha256:8772b99d683be8f67fcc04789032f1b949022a0e6880ee7b75a7ec97dbbb5d0b"},
+    {file = "scikit_learn-0.24.1-cp38-cp38-win_amd64.whl", hash = "sha256:ed9d65594948678827f4ff0e7ae23344e2f2b4cabbca057ccaed3118fdc392ca"},
+    {file = "scikit_learn-0.24.1-cp39-cp39-macosx_10_13_x86_64.whl", hash = "sha256:8aa1b3ac46b80eaa552b637eeadbbce3be5931e4b5002b964698e33a1b589e1e"},
+    {file = "scikit_learn-0.24.1-cp39-cp39-manylinux1_i686.whl", hash = "sha256:c7f4eb77504ac586d8ac1bde1b0c04b504487210f95297235311a0ab7edd7e38"},
+    {file = "scikit_learn-0.24.1-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:087dfede39efb06ab30618f9ab55a0397f29c38d63cd0ab88d12b500b7d65fd7"},
+    {file = "scikit_learn-0.24.1-cp39-cp39-manylinux2010_i686.whl", hash = "sha256:895dbf2030aa7337649e36a83a007df3c9811396b4e2fa672a851160f36ce90c"},
+    {file = "scikit_learn-0.24.1-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:9a24d1ccec2a34d4cd3f2a1f86409f3f5954cc23d4d2270ba0d03cf018aa4780"},
+    {file = "scikit_learn-0.24.1-cp39-cp39-win32.whl", hash = "sha256:fab31f48282ebf54dd69f6663cd2d9800096bad1bb67bbc9c9ac84eb77b41972"},
+    {file = "scikit_learn-0.24.1-cp39-cp39-win_amd64.whl", hash = "sha256:4562dcf4793e61c5d0f89836d07bc37521c3a1889da8f651e2c326463c4bd697"},
 ]
 scipy = [
-    {file = "scipy-1.6.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:3d4303e3e21d07d9557b26a1707bb9fc065510ee8501c9bf22a0157249a82fd0"},
-    {file = "scipy-1.6.0-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:1bc5b446600c4ff7ab36bade47180673141322f0febaa555f1c433fe04f2a0e3"},
-    {file = "scipy-1.6.0-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:8840a9adb4ede3751f49761653d3ebf664f25195fdd42ada394ffea8903dd51d"},
-    {file = "scipy-1.6.0-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:8629135ee00cc2182ac8be8e75643b9f02235942443732c2ed69ab48edcb6614"},
-    {file = "scipy-1.6.0-cp37-cp37m-win32.whl", hash = "sha256:58731bbe0103e96b89b2f41516699db9b63066e4317e31b8402891571f6d358f"},
-    {file = "scipy-1.6.0-cp37-cp37m-win_amd64.whl", hash = "sha256:876badc33eec20709d4e042a09834f5953ebdac4088d45a4f3a1f18b56885718"},
-    {file = "scipy-1.6.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:c0911f3180de343643f369dc5cfedad6ba9f939c2d516bddea4a6871eb000722"},
-    {file = "scipy-1.6.0-cp38-cp38-manylinux1_i686.whl", hash = "sha256:b8af26839ae343655f3ca377a5d5e5466f1d3b3ac7432a43449154fe958ae0e0"},
-    {file = "scipy-1.6.0-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:4f1d9cc977ac6a4a63c124045c1e8bf67ec37098f67c699887a93736961a00ae"},
-    {file = "scipy-1.6.0-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:eb7928275f3560d47e5538e15e9f32b3d64cd30ea8f85f3e82987425476f53f6"},
-    {file = "scipy-1.6.0-cp38-cp38-win32.whl", hash = "sha256:31ab217b5c27ab429d07428a76002b33662f98986095bbce5d55e0788f7e8b15"},
-    {file = "scipy-1.6.0-cp38-cp38-win_amd64.whl", hash = "sha256:2f1c2ebca6fd867160e70102200b1bd07b3b2d31a3e6af3c58d688c15d0d07b7"},
-    {file = "scipy-1.6.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:155225621df90fcd151e25d51c50217e412de717475999ebb76e17e310176981"},
-    {file = "scipy-1.6.0-cp39-cp39-manylinux1_i686.whl", hash = "sha256:f68d5761a2d2376e2b194c8e9192bbf7c51306ca176f1a0889990a52ef0d551f"},
-    {file = "scipy-1.6.0-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:d902d3a5ad7f28874c0a82db95246d24ca07ad932741df668595fe00a4819870"},
-    {file = "scipy-1.6.0-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:aef3a2dbc436bbe8f6e0b635f0b5fe5ed024b522eee4637dbbe0b974129ca734"},
-    {file = "scipy-1.6.0-cp39-cp39-win32.whl", hash = "sha256:cdbc47628184a0ebeb5c08f1892614e1bd4a51f6e0d609c6eed253823a960f5b"},
-    {file = "scipy-1.6.0-cp39-cp39-win_amd64.whl", hash = "sha256:313785c4dab65060f9648112d025f6d2fec69a8a889c714328882d678a95f053"},
-    {file = "scipy-1.6.0.tar.gz", hash = "sha256:cb6dc9f82dfd95f6b9032a8d7ea70efeeb15d5b5fd6ed4e8537bb3c673580566"},
+    {file = "scipy-1.6.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:a15a1f3fc0abff33e792d6049161b7795909b40b97c6cc2934ed54384017ab76"},
+    {file = "scipy-1.6.1-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:e79570979ccdc3d165456dd62041d9556fb9733b86b4b6d818af7a0afc15f092"},
+    {file = "scipy-1.6.1-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:a423533c55fec61456dedee7b6ee7dce0bb6bfa395424ea374d25afa262be261"},
+    {file = "scipy-1.6.1-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:33d6b7df40d197bdd3049d64e8e680227151673465e5d85723b3b8f6b15a6ced"},
+    {file = "scipy-1.6.1-cp37-cp37m-win32.whl", hash = "sha256:6725e3fbb47da428794f243864f2297462e9ee448297c93ed1dcbc44335feb78"},
+    {file = "scipy-1.6.1-cp37-cp37m-win_amd64.whl", hash = "sha256:5fa9c6530b1661f1370bcd332a1e62ca7881785cc0f80c0d559b636567fab63c"},
+    {file = "scipy-1.6.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:bd50daf727f7c195e26f27467c85ce653d41df4358a25b32434a50d8870fc519"},
+    {file = "scipy-1.6.1-cp38-cp38-manylinux1_i686.whl", hash = "sha256:f46dd15335e8a320b0fb4685f58b7471702234cba8bb3442b69a3e1dc329c345"},
+    {file = "scipy-1.6.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:0e5b0ccf63155d90da576edd2768b66fb276446c371b73841e3503be1d63fb5d"},
+    {file = "scipy-1.6.1-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:2481efbb3740977e3c831edfd0bd9867be26387cacf24eb5e366a6a374d3d00d"},
+    {file = "scipy-1.6.1-cp38-cp38-win32.whl", hash = "sha256:68cb4c424112cd4be886b4d979c5497fba190714085f46b8ae67a5e4416c32b4"},
+    {file = "scipy-1.6.1-cp38-cp38-win_amd64.whl", hash = "sha256:5f331eeed0297232d2e6eea51b54e8278ed8bb10b099f69c44e2558c090d06bf"},
+    {file = "scipy-1.6.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:0c8a51d33556bf70367452d4d601d1742c0e806cd0194785914daf19775f0e67"},
+    {file = "scipy-1.6.1-cp39-cp39-manylinux1_i686.whl", hash = "sha256:83bf7c16245c15bc58ee76c5418e46ea1811edcc2e2b03041b804e46084ab627"},
+    {file = "scipy-1.6.1-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:794e768cc5f779736593046c9714e0f3a5940bc6dcc1dba885ad64cbfb28e9f0"},
+    {file = "scipy-1.6.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:5da5471aed911fe7e52b86bf9ea32fb55ae93e2f0fac66c32e58897cfb02fa07"},
+    {file = "scipy-1.6.1-cp39-cp39-win32.whl", hash = "sha256:8e403a337749ed40af60e537cc4d4c03febddcc56cd26e774c9b1b600a70d3e4"},
+    {file = "scipy-1.6.1-cp39-cp39-win_amd64.whl", hash = "sha256:a5193a098ae9f29af283dcf0041f762601faf2e595c0db1da929875b7570353f"},
+    {file = "scipy-1.6.1.tar.gz", hash = "sha256:c4fceb864890b6168e79b0e714c585dbe2fd4222768ee90bc1aa0f8218691b11"},
 ]
 send2trash = [
     {file = "Send2Trash-1.5.0-py3-none-any.whl", hash = "sha256:f1691922577b6fa12821234aeb57599d887c4900b9ca537948d2dac34aea888b"},
@@ -3810,6 +3478,11 @@ six = [
     {file = "six-1.15.0-py2.py3-none-any.whl", hash = "sha256:8b74bedcbbbaca38ff6d7491d76f2b06b3592611af620f8426e82dddb04a5ced"},
     {file = "six-1.15.0.tar.gz", hash = "sha256:30639c035cdb23534cd4aa2dd52c3bf48f06e5f4a941509c8bafd8ce11080259"},
 ]
+skorch = [
+    {file = "skorch-0.9.0-py3-none-any.whl", hash = "sha256:26317da14837f372fdeb8fb4eee9199c2cc0b0db1056fc4ab69696402e17e135"},
+    {file = "skorch-0.9.0-py3.7.egg", hash = "sha256:12bb80276719cdbd114bc5042f4d0b395ce1ebe5dbc29aba5d4ea2f1792f9705"},
+    {file = "skorch-0.9.0.tar.gz", hash = "sha256:bdce9370153fd80c5c4ec499a639f55eef0620e45d4b15fbf7d7ff2a225a3d40"},
+]
 smmap = [
     {file = "smmap-3.0.5-py2.py3-none-any.whl", hash = "sha256:7bfcf367828031dc893530a29cb35eb8c8f2d7c8f2d0989354d75d24c8573714"},
     {file = "smmap-3.0.5.tar.gz", hash = "sha256:84c2751ef3072d4f6b2785ec7ee40244c6f45eb934d9e543e2c51f1bd3d54c50"},
@@ -3823,8 +3496,8 @@ soupsieve = [
     {file = "soupsieve-2.2.tar.gz", hash = "sha256:407fa1e8eb3458d1b5614df51d9651a1180ea5fedf07feb46e45d7e25e6d6cdd"},
 ]
 sphinx = [
-    {file = "Sphinx-3.4.3-py3-none-any.whl", hash = "sha256:c314c857e7cd47c856d2c5adff514ac2e6495f8b8e0f886a8a37e9305dfea0d8"},
-    {file = "Sphinx-3.4.3.tar.gz", hash = "sha256:41cad293f954f7d37f803d97eb184158cfd90f51195131e94875bc07cd08b93c"},
+    {file = "Sphinx-3.5.1-py3-none-any.whl", hash = "sha256:e90161222e4d80ce5fc811ace7c6787a226b4f5951545f7f42acf97277bfc35c"},
+    {file = "Sphinx-3.5.1.tar.gz", hash = "sha256:11d521e787d9372c289472513d807277caafb1684b33eb4f08f7574c405893a9"},
 ]
 sphinx-rtd-theme = [
     {file = "sphinx_rtd_theme-0.5.1-py2.py3-none-any.whl", hash = "sha256:fa6bebd5ab9a73da8e102509a86f3fcc36dec04a0b52ea80e5a033b2aba00113"},
@@ -3857,46 +3530,6 @@ sphinxcontrib-serializinghtml = [
 sqcommon = [
     {file = "SQCommon-0.3.2.tar.gz", hash = "sha256:f970b5bf3e8073e1a1466fce30021da659f519ad1c985779688bd33a65277f40"},
 ]
-sqlalchemy = [
-    {file = "SQLAlchemy-1.3.23-cp27-cp27m-macosx_10_14_x86_64.whl", hash = "sha256:fd3b96f8c705af8e938eaa99cbd8fd1450f632d38cad55e7367c33b263bf98ec"},
-    {file = "SQLAlchemy-1.3.23-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:29cccc9606750fe10c5d0e8bd847f17a97f3850b8682aef1f56f5d5e1a5a64b1"},
-    {file = "SQLAlchemy-1.3.23-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:927ce09e49bff3104459e1451ce82983b0a3062437a07d883a4c66f0b344c9b5"},
-    {file = "SQLAlchemy-1.3.23-cp27-cp27m-win32.whl", hash = "sha256:b4b0e44d586cd64b65b507fa116a3814a1a53d55dce4836d7c1a6eb2823ff8d1"},
-    {file = "SQLAlchemy-1.3.23-cp27-cp27m-win_amd64.whl", hash = "sha256:6b8b8c80c7f384f06825612dd078e4a31f0185e8f1f6b8c19e188ff246334205"},
-    {file = "SQLAlchemy-1.3.23-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:9e9c25522933e569e8b53ccc644dc993cab87e922fb7e142894653880fdd419d"},
-    {file = "SQLAlchemy-1.3.23-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:a0e306e9bb76fd93b29ae3a5155298e4c1b504c7cbc620c09c20858d32d16234"},
-    {file = "SQLAlchemy-1.3.23-cp35-cp35m-macosx_10_14_x86_64.whl", hash = "sha256:6c9e6cc9237de5660bcddea63f332428bb83c8e2015c26777281f7ffbd2efb84"},
-    {file = "SQLAlchemy-1.3.23-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:94f667d86be82dd4cb17d08de0c3622e77ca865320e0b95eae6153faa7b4ecaf"},
-    {file = "SQLAlchemy-1.3.23-cp35-cp35m-manylinux2010_x86_64.whl", hash = "sha256:751934967f5336a3e26fc5993ccad1e4fee982029f9317eb6153bc0bc3d2d2da"},
-    {file = "SQLAlchemy-1.3.23-cp35-cp35m-manylinux2014_aarch64.whl", hash = "sha256:63677d0c08524af4c5893c18dbe42141de7178001360b3de0b86217502ed3601"},
-    {file = "SQLAlchemy-1.3.23-cp35-cp35m-win32.whl", hash = "sha256:ddfb511e76d016c3a160910642d57f4587dc542ce5ee823b0d415134790eeeb9"},
-    {file = "SQLAlchemy-1.3.23-cp35-cp35m-win_amd64.whl", hash = "sha256:040bdfc1d76a9074717a3f43455685f781c581f94472b010cd6c4754754e1862"},
-    {file = "SQLAlchemy-1.3.23-cp36-cp36m-macosx_10_14_x86_64.whl", hash = "sha256:d1a85dfc5dee741bf49cb9b6b6b8d2725a268e4992507cf151cba26b17d97c37"},
-    {file = "SQLAlchemy-1.3.23-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:639940bbe1108ac667dcffc79925db2966826c270112e9159439ab6bb14f8d80"},
-    {file = "SQLAlchemy-1.3.23-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:e8a1750b44ad6422ace82bf3466638f1aa0862dbb9689690d5f2f48cce3476c8"},
-    {file = "SQLAlchemy-1.3.23-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:e5bb3463df697279e5459a7316ad5a60b04b0107f9392e88674d0ece70e9cf70"},
-    {file = "SQLAlchemy-1.3.23-cp36-cp36m-win32.whl", hash = "sha256:e273367f4076bd7b9a8dc2e771978ef2bfd6b82526e80775a7db52bff8ca01dd"},
-    {file = "SQLAlchemy-1.3.23-cp36-cp36m-win_amd64.whl", hash = "sha256:ac2244e64485c3778f012951fdc869969a736cd61375fde6096d08850d8be729"},
-    {file = "SQLAlchemy-1.3.23-cp37-cp37m-macosx_10_14_x86_64.whl", hash = "sha256:23927c3981d1ec6b4ea71eb99d28424b874d9c696a21e5fbd9fa322718be3708"},
-    {file = "SQLAlchemy-1.3.23-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:d90010304abb4102123d10cbad2cdf2c25a9f2e66a50974199b24b468509bad5"},
-    {file = "SQLAlchemy-1.3.23-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:a8bfc1e1afe523e94974132d7230b82ca7fa2511aedde1f537ec54db0399541a"},
-    {file = "SQLAlchemy-1.3.23-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:269990b3ab53cb035d662dcde51df0943c1417bdab707dc4a7e4114a710504b4"},
-    {file = "SQLAlchemy-1.3.23-cp37-cp37m-win32.whl", hash = "sha256:fdd2ed7395df8ac2dbb10cefc44737b66c6a5cd7755c92524733d7a443e5b7e2"},
-    {file = "SQLAlchemy-1.3.23-cp37-cp37m-win_amd64.whl", hash = "sha256:6a939a868fdaa4b504e8b9d4a61f21aac11e3fecc8a8214455e144939e3d2aea"},
-    {file = "SQLAlchemy-1.3.23-cp38-cp38-macosx_10_14_x86_64.whl", hash = "sha256:24f9569e82a009a09ce2d263559acb3466eba2617203170e4a0af91e75b4f075"},
-    {file = "SQLAlchemy-1.3.23-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:2578dbdbe4dbb0e5126fb37ffcd9793a25dcad769a95f171a2161030bea850ff"},
-    {file = "SQLAlchemy-1.3.23-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:1fe5d8d39118c2b018c215c37b73fd6893c3e1d4895be745ca8ff6eb83333ed3"},
-    {file = "SQLAlchemy-1.3.23-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:c7dc052432cd5d060d7437e217dd33c97025287f99a69a50e2dc1478dd610d64"},
-    {file = "SQLAlchemy-1.3.23-cp38-cp38-win32.whl", hash = "sha256:ecce8c021894a77d89808222b1ff9687ad84db54d18e4bd0500ca766737faaf6"},
-    {file = "SQLAlchemy-1.3.23-cp38-cp38-win_amd64.whl", hash = "sha256:37b83bf81b4b85dda273aaaed5f35ea20ad80606f672d94d2218afc565fb0173"},
-    {file = "SQLAlchemy-1.3.23-cp39-cp39-macosx_10_14_x86_64.whl", hash = "sha256:8be835aac18ec85351385e17b8665bd4d63083a7160a017bef3d640e8e65cadb"},
-    {file = "SQLAlchemy-1.3.23-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:6ec1044908414013ebfe363450c22f14698803ce97fbb47e53284d55c5165848"},
-    {file = "SQLAlchemy-1.3.23-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:eab063a70cca4a587c28824e18be41d8ecc4457f8f15b2933584c6c6cccd30f0"},
-    {file = "SQLAlchemy-1.3.23-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:baeb451ee23e264de3f577fee5283c73d9bbaa8cb921d0305c0bbf700094b65b"},
-    {file = "SQLAlchemy-1.3.23-cp39-cp39-win32.whl", hash = "sha256:94208867f34e60f54a33a37f1c117251be91a47e3bfdb9ab8a7847f20886ad06"},
-    {file = "SQLAlchemy-1.3.23-cp39-cp39-win_amd64.whl", hash = "sha256:f4d972139d5000105fcda9539a76452039434013570d6059993120dc2a65e447"},
-    {file = "SQLAlchemy-1.3.23.tar.gz", hash = "sha256:6fca33672578666f657c131552c4ef8979c1606e494f78cd5199742dfb26918b"},
-]
 sqsnobfit = [
     {file = "SQSnobFit-0.4.5.tar.gz", hash = "sha256:de652aca1fa998dc2235b18d4caec5a225847d40b411f0351fab6f2d4877300f"},
 ]
@@ -3907,31 +3540,9 @@ swagger-spec-validator = [
     {file = "swagger-spec-validator-2.7.3.tar.gz", hash = "sha256:f4f23ee4dbd52bfcde90b1144dde22304add6260e9f29252e9fd7814c9b8fd16"},
     {file = "swagger_spec_validator-2.7.3-py2.py3-none-any.whl", hash = "sha256:d1514ec7e3c058c701f27cc74f85ceb876d6418c9db57786b9c54085ed5e29eb"},
 ]
-tensorboard = [
-    {file = "tensorboard-2.4.1-py3-none-any.whl", hash = "sha256:7b8c53c396069b618f6f276ec94fc45d17e3282d668979216e5d30be472115e4"},
-]
-tensorboard-plugin-wit = [
-    {file = "tensorboard_plugin_wit-1.8.0-py3-none-any.whl", hash = "sha256:2a80d1c551d741e99b2f197bb915d8a133e24adb8da1732b840041860f91183a"},
-]
-tensorflow = [
-    {file = "tensorflow-2.4.0-cp36-cp36m-macosx_10_11_x86_64.whl", hash = "sha256:576ace48dca1d3c211a3a102ea3a79eda3536a590dcd3d74898122227968b4ac"},
-    {file = "tensorflow-2.4.0-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:1069f32e9fb51d5a62e93437e0047c712ff97133a322738814c56f49c762557f"},
-    {file = "tensorflow-2.4.0-cp36-cp36m-win_amd64.whl", hash = "sha256:6a41bb0fa5c1d0b5bfdf5e3ec1327bd592904eb2c0c06501c8e7bae4a1122b1a"},
-    {file = "tensorflow-2.4.0-cp37-cp37m-macosx_10_11_x86_64.whl", hash = "sha256:f9908c04d58d4f216477b98cfbed9d87635d205bd6ddccd597a56fce9ef4eed5"},
-    {file = "tensorflow-2.4.0-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:fb694f2e3e5b8f80f9fefb0beaba856001a4160895a10eb50e7fbaa6b9ef1002"},
-    {file = "tensorflow-2.4.0-cp37-cp37m-win_amd64.whl", hash = "sha256:d091adf8d6eae8bd47b1a72bf35a8aebb08147687e17d522eb531826a67f6a3b"},
-    {file = "tensorflow-2.4.0-cp38-cp38-macosx_10_11_x86_64.whl", hash = "sha256:1754279cd1f91971d14671a776074b877483c04b27a0a2eaefdca0332d80980c"},
-    {file = "tensorflow-2.4.0-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:dcd8f2e501a791c937fa19b31ea963470fc20d30cb763c3cc4740dc3c44aefe9"},
-    {file = "tensorflow-2.4.0-cp38-cp38-win_amd64.whl", hash = "sha256:7adcf41f57fdb12cd6792df02fb3cd16bddbe449cd7140faaa2bf2b3d5b5c4df"},
-]
-tensorflow-estimator = [
-    {file = "tensorflow_estimator-2.4.0-py2.py3-none-any.whl", hash = "sha256:5b7b7bf2debe19a8794adacc43e8ba6459daa4efaf54d3302623994a359b17f0"},
-]
-tensorflow-probability = [
-    {file = "tensorflow_probability-0.12.1-py2.py3-none-any.whl", hash = "sha256:f148a876671f132c931275e60156892326dcf148c7a0ea2959e7714776788fb0"},
-]
-termcolor = [
-    {file = "termcolor-1.1.0.tar.gz", hash = "sha256:1d6d69ce66211143803fbc56652b41d73b4a400a2891d7bf7a1cdf4c02de613b"},
+tabulate = [
+    {file = "tabulate-0.8.8-py3-none-any.whl", hash = "sha256:d6fe298fc0a58d848d6160118d17e70905f36766552ee78f8a1f4d64e8e16916"},
+    {file = "tabulate-0.8.8.tar.gz", hash = "sha256:26f2589d80d332fefd2371d396863dedeb806f51b54bdb4b264579270b621e92"},
 ]
 terminado = [
     {file = "terminado-0.9.2-py3-none-any.whl", hash = "sha256:23a053e06b22711269563c8bb96b36a036a86be8b5353e85e804f89b84aaa23f"},
@@ -4020,6 +3631,10 @@ tornado = [
     {file = "tornado-6.1-cp39-cp39-win_amd64.whl", hash = "sha256:548430be2740e327b3fe0201abe471f314741efcb0067ec4f2d7dcfb4825f3e4"},
     {file = "tornado-6.1.tar.gz", hash = "sha256:33c6e81d7bd55b468d2e793517c909b139960b6c790a60b7991b9b6b76fb9791"},
 ]
+tqdm = [
+    {file = "tqdm-4.57.0-py2.py3-none-any.whl", hash = "sha256:70657337ec104eb4f3fb229285358f23f045433f6aea26846cdd55f0fd68945c"},
+    {file = "tqdm-4.57.0.tar.gz", hash = "sha256:65185676e9fdf20d154cffd1c5de8e39ef9696ff7e59fe0156b1b08e468736af"},
+]
 traitlets = [
     {file = "traitlets-5.0.5-py3-none-any.whl", hash = "sha256:69ff3f9d5351f31a7ad80443c2674b7099df13cc41fc5fa6e2f6d3b0330b0426"},
     {file = "traitlets-5.0.5.tar.gz", hash = "sha256:178f4ce988f69189f7e523337a3e11d91c786ded9360174a3d9ca83e79bc5396"},
@@ -4074,23 +3689,23 @@ validators = [
     {file = "validators-0.18.2.tar.gz", hash = "sha256:37cd9a9213278538ad09b5b9f9134266e7c226ab1fede1d500e29e0a8fbb9ea6"},
 ]
 watchdog = [
-    {file = "watchdog-1.0.2-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:e2a531e71be7b5cc3499ae2d1494d51b6a26684bcc7c3146f63c810c00e8a3cc"},
-    {file = "watchdog-1.0.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:e7c73edef48f4ceeebb987317a67e0080e5c9228601ff67b3c4062fa020403c7"},
-    {file = "watchdog-1.0.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:85e6574395aa6c1e14e0f030d9d7f35c2340a6cf95d5671354ce876ac3ffdd4d"},
-    {file = "watchdog-1.0.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:27d9b4666938d5d40afdcdf2c751781e9ce36320788b70208d0f87f7401caf93"},
-    {file = "watchdog-1.0.2-pp36-pypy36_pp73-macosx_10_9_x86_64.whl", hash = "sha256:2f1ade0d0802503fda4340374d333408831cff23da66d7e711e279ba50fe6c4a"},
-    {file = "watchdog-1.0.2-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:f1d0e878fd69129d0d68b87cee5d9543f20d8018e82998efb79f7e412d42154a"},
-    {file = "watchdog-1.0.2-py3-none-manylinux2014_aarch64.whl", hash = "sha256:d948ad9ab9aba705f9836625b32e965b9ae607284811cd98334423f659ea537a"},
-    {file = "watchdog-1.0.2-py3-none-manylinux2014_armv7l.whl", hash = "sha256:101532b8db506559e52a9b5d75a308729b3f68264d930670e6155c976d0e52a0"},
-    {file = "watchdog-1.0.2-py3-none-manylinux2014_i686.whl", hash = "sha256:b1d723852ce90a14abf0ec0ca9e80689d9509ee4c9ee27163118d87b564a12ac"},
-    {file = "watchdog-1.0.2-py3-none-manylinux2014_ppc64.whl", hash = "sha256:68744de2003a5ea2dfbb104f9a74192cf381334a9e2c0ed2bbe1581828d50b61"},
-    {file = "watchdog-1.0.2-py3-none-manylinux2014_ppc64le.whl", hash = "sha256:602dbd9498592eacc42e0632c19781c3df1728ef9cbab555fab6778effc29eeb"},
-    {file = "watchdog-1.0.2-py3-none-manylinux2014_s390x.whl", hash = "sha256:016b01495b9c55b5d4126ed8ae75d93ea0d99377084107c33162df52887cee18"},
-    {file = "watchdog-1.0.2-py3-none-manylinux2014_x86_64.whl", hash = "sha256:5f1f3b65142175366ba94c64d8d4c8f4015825e0beaacee1c301823266b47b9b"},
-    {file = "watchdog-1.0.2-py3-none-win32.whl", hash = "sha256:57f05e55aa603c3b053eed7e679f0a83873c540255b88d58c6223c7493833bac"},
-    {file = "watchdog-1.0.2-py3-none-win_amd64.whl", hash = "sha256:f84146f7864339c8addf2c2b9903271df21d18d2c721e9a77f779493234a82b5"},
-    {file = "watchdog-1.0.2-py3-none-win_ia64.whl", hash = "sha256:ee21aeebe6b3e51e4ba64564c94cee8dbe7438b9cb60f0bb350c4fa70d1b52c2"},
-    {file = "watchdog-1.0.2.tar.gz", hash = "sha256:376cbc2a35c0392b0fe7ff16fbc1b303fd99d4dd9911ab5581ee9d69adc88982"},
+    {file = "watchdog-2.0.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:9fa5a0d741c308657c6d60de246943b5a02647fe2a697fff6e0f46ec926f1069"},
+    {file = "watchdog-2.0.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:eda07ba4c309dc7a04db6eb069626b94a047fedf5b4919c5739ac2f9535c851e"},
+    {file = "watchdog-2.0.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:3164d69f27daa43ecd2817346e7c4c97a8491138d53a1873cf37abb469ff7583"},
+    {file = "watchdog-2.0.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:916d8ccd2b9f0536efb0af18b1661cda02588a1cc5c6af9b972212aa1c883e68"},
+    {file = "watchdog-2.0.1-pp36-pypy36_pp73-macosx_10_9_x86_64.whl", hash = "sha256:f1b8a0224cf2b599302ed06d1633d343a199345cab773e3a4cd7a1b0296589dd"},
+    {file = "watchdog-2.0.1-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:bcab67402ac95f6e922f11078fc71d7bdcd631f0add8849033a50683b92c0e89"},
+    {file = "watchdog-2.0.1-py3-none-manylinux2014_aarch64.whl", hash = "sha256:218c0d9be3b5b17080133332645f3323483d648ea518d1e241a3bf66247cb357"},
+    {file = "watchdog-2.0.1-py3-none-manylinux2014_armv7l.whl", hash = "sha256:38b257718c8b31ee5e4693f87691de550b4340b2890c46fda0ddf7ac21b74f50"},
+    {file = "watchdog-2.0.1-py3-none-manylinux2014_i686.whl", hash = "sha256:c89f388c06ef189e8656fd5a5b333da3c5a2984a959e29ef2e80f8b4422b9574"},
+    {file = "watchdog-2.0.1-py3-none-manylinux2014_ppc64.whl", hash = "sha256:9e167710ed335762eb39954dd22aa313fd625d1ec7372deb3782332d1d5522f3"},
+    {file = "watchdog-2.0.1-py3-none-manylinux2014_ppc64le.whl", hash = "sha256:075352d18f4dd071a2a6c4ca8791437f231746264b6f57eee02d6bd2c22714a3"},
+    {file = "watchdog-2.0.1-py3-none-manylinux2014_s390x.whl", hash = "sha256:e7a0cba4546683496fa2e4759b39a1a4b6e2c250e7be15b73035500c9f2bfa28"},
+    {file = "watchdog-2.0.1-py3-none-manylinux2014_x86_64.whl", hash = "sha256:69099f4940e63d34b341979d077777b9b8c63c916a3c239f21916ef21f459400"},
+    {file = "watchdog-2.0.1-py3-none-win32.whl", hash = "sha256:2a786da9cba25029cc6c0190eb8c3c9bd8e67cfe23e339b2add4f1bb4a4a6bcd"},
+    {file = "watchdog-2.0.1-py3-none-win_amd64.whl", hash = "sha256:83249804d3f49f45de80a39494f21dd83c22e5cdccc6024edf557ae8461e25b7"},
+    {file = "watchdog-2.0.1-py3-none-win_ia64.whl", hash = "sha256:54c44620c1b377af4faa0fc594723905b21b0fc3b2bcee417084889c2187f2a1"},
+    {file = "watchdog-2.0.1.tar.gz", hash = "sha256:0d1c763652c255e2af00d76cf7d05c7b4867e960092b2696db031f69661c0785"},
 ]
 wcwidth = [
     {file = "wcwidth-0.2.5-py2.py3-none-any.whl", hash = "sha256:beb4802a9cebb9144e99086eff703a642a13d6a0052920003a230f3294bbe784"},
@@ -4116,9 +3731,6 @@ widgetsnbextension = [
     {file = "widgetsnbextension-3.5.1-py2.py3-none-any.whl", hash = "sha256:bd314f8ceb488571a5ffea6cc5b9fc6cba0adaf88a9d2386b93a489751938bcd"},
     {file = "widgetsnbextension-3.5.1.tar.gz", hash = "sha256:079f87d87270bce047512400efd70238820751a11d2d8cb137a5a5bdbaf255c7"},
 ]
-wrapt = [
-    {file = "wrapt-1.12.1.tar.gz", hash = "sha256:b62ffa81fb85f4332a4f609cab4ac40709470da05643a082ec1eb88e6d9b97d7"},
-]
 xlrd = [
     {file = "xlrd-1.2.0-py2.py3-none-any.whl", hash = "sha256:e551fb498759fa3a5384a94ccd4c3c02eb7c00ea424426e212ac0c57be9dfbde"},
     {file = "xlrd-1.2.0.tar.gz", hash = "sha256:546eb36cee8db40c3eaa46c351e67ffee6eeb5fa2650b71bc4c758a29a1b29b2"},
diff --git a/pyproject.toml b/pyproject.toml
index 2c8a219d..7efb4cb7 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -10,27 +10,40 @@ homepage = "https://github.com/sustainable-processes/summit"
 keywords = ["machine-learning", "chemistry", "reactions", "optimization", "neural-networks", "process optimization", "bayesian-optimization", "nelder-mead", "snobfit", "gryffin", "TSEMO"]
 
 [tool.poetry.dependencies]
-pandas = "^1.1.0"
+# Core dependencies
 python = "^3.7"
-GPy = "^1.9"
-numpy = "^1.18.0"
-pyrff = "^2.0.1"
-SQSnobFit = "^0.4.3"
+pandas = "^1.1.0"
 fastprogress = "^0.2.3"
 ipywidgets = "^7.5.1"
 matplotlib = "^3.2.2"
-pymoo = "^0.4.1"
-gpyopt = "^1.2.6"
+scikit-learn = "^0.24.1"
 torch = "^1.4.0"
+skorch = "^0.9.0"
+cython = "^0.29.21"
+
+# Dependencies for TSEMO and SOBO
+GPy = "^1.9"
+gpyopt = "^1.2.6"
+numpy = "^1.18.0"
+pyrff = "^2.0.1"
+pymoo = "^0.4.1"
+
+# Dependencies for Snobfit
+SQSnobFit = "^0.4.3"
+
+# Dependencies for MTBO
+
 botorch = "*"
 # Temporary fix https://github.com/pytorch/botorch/issues/668
-gpytorch = "1.3.0" 
-ipykernel = "^5.3.4"
-scikit-learn = "^0.23.2"
-blitz-bayesian-pytorch = {git = "https://github.com/sustainable-processes/blitz-bayesian-deep-learning.git"}
+gpytorch = "1.3.0"
+
+# Dependencies for emulator
+blitz-bayesian-pytorch = {git = "https://github.com/sustainable-processes/blitz-bayesian-deep-learning.git", optional=true}
+
+# Optinal dependencies
+ipykernel = {version="^5.3.4", optional=true}
 xlrd = {version="^1.2.0", optional=true}
-cython = "^0.29.21"
-streamlit = {"^0.67.1", optional=true}
+streamlit = {version="^0.67.1", optional=true}
 neptune-client = {version= "^0.4.115", optional = true}
 hiplot = {version= "^0.1.12", optional = true}
 paramiko = {version="^2.7.1", optional=true}    
@@ -41,9 +54,11 @@ pyrecorder = {version="^0.1.8", optional=true}
 entmoot = {version="^0.1.4", optional=true}
 
 [tool.poetry.extras]
+bnn = ["blitz-bayesian-pytorch"]
+entmoot = ["entmoot"]
 experiments = ["neptune-client", "hiplot", "paramiko", "pyrecorder", "xlrd", "streamlit"]
 docs = ["sphinx", "nbsphinx", "sphinx-rtd-theme"]
-entmoot = ["entmoot"]
+
 
 [tool.poetry.dev-dependencies]
 pytest = "^3.0"
diff --git a/scripts/train_emulators/README.md b/scripts/train_emulators/README.md
new file mode 100644
index 00000000..e320f0ca
--- /dev/null
+++ b/scripts/train_emulators/README.md
@@ -0,0 +1,16 @@
+# Train Emulators
+<!-- This file is auto-generated. Do not edit directly.You can regenerate using python train_emulators.py --bypass-training -->
+The `train_emulators.py` script will train emulators and create this report.
+## Reizman Suzuki Cross coupling 
+This is the data from training of the reizman suzuki benchmark for 1000 epochs with 5 cross-validation folds.
+| case   |   avg_fit_time |   avg_val_r2 |   avg_val_RMSE |   avg_test_r2 |   avg_test_RMSE |
+|:-------|---------------:|-------------:|---------------:|--------------:|----------------:|
+| case_1 |          10.35 |         0.83 |          10.82 |          0.93 |            7.5  |
+| case_2 |           8.93 |         0.62 |           5.4  |          0.67 |            4.91 |
+| case_3 |          10.12 |         0.74 |          13.79 |          0.84 |           12.07 |
+| case_4 |           9.6  |         0.7  |          15.9  |          0.74 |           13.98 |
+## Baumgartner C-N Cross Cross Coupling 
+This is the data from training of the Baumgartner C-N aniline cross-coupling benchmark for 1000 epochs with 5 cross-validation folds.
+| case    |   avg_fit_time |   avg_val_r2 |   avg_val_RMSE |   avg_test_r2 |   avg_test_RMSE |
+|:--------|---------------:|-------------:|---------------:|--------------:|----------------:|
+| one-hot |           8.43 |         0.81 |           0.17 |          0.88 |            0.13 |
diff --git a/scripts/train_emulators/results/baumgartner_aniline_cn_crosscoupling.png b/scripts/train_emulators/results/baumgartner_aniline_cn_crosscoupling.png
new file mode 100644
index 00000000..acb90128
Binary files /dev/null and b/scripts/train_emulators/results/baumgartner_aniline_cn_crosscoupling.png differ
diff --git a/scripts/train_emulators/results/baumgartner_aniline_cn_crosscoupling_scores.csv b/scripts/train_emulators/results/baumgartner_aniline_cn_crosscoupling_scores.csv
new file mode 100644
index 00000000..9fd6bccf
--- /dev/null
+++ b/scripts/train_emulators/results/baumgartner_aniline_cn_crosscoupling_scores.csv
@@ -0,0 +1,2 @@
+case,avg_fit_time,avg_score_time,avg_val_r2,avg_val_neg_root_mean_squared_error,avg_test_r2,avg_test_neg_root_mean_squared_error
+one-hot,8.43237853050232,0.0061893463134765625,0.8130802170821865,-0.17386471927165986,0.8788791513272004,-0.13320153332761886
diff --git a/scripts/train_emulators/results/reizman_suzuki_case_1.png b/scripts/train_emulators/results/reizman_suzuki_case_1.png
new file mode 100644
index 00000000..fc25a806
Binary files /dev/null and b/scripts/train_emulators/results/reizman_suzuki_case_1.png differ
diff --git a/scripts/train_emulators/results/reizman_suzuki_case_2.png b/scripts/train_emulators/results/reizman_suzuki_case_2.png
new file mode 100644
index 00000000..2acd0cde
Binary files /dev/null and b/scripts/train_emulators/results/reizman_suzuki_case_2.png differ
diff --git a/scripts/train_emulators/results/reizman_suzuki_case_3.png b/scripts/train_emulators/results/reizman_suzuki_case_3.png
new file mode 100644
index 00000000..6e5b0864
Binary files /dev/null and b/scripts/train_emulators/results/reizman_suzuki_case_3.png differ
diff --git a/scripts/train_emulators/results/reizman_suzuki_case_4.png b/scripts/train_emulators/results/reizman_suzuki_case_4.png
new file mode 100644
index 00000000..f9a862ff
Binary files /dev/null and b/scripts/train_emulators/results/reizman_suzuki_case_4.png differ
diff --git a/scripts/train_emulators/results/reizman_suzuki_scores.csv b/scripts/train_emulators/results/reizman_suzuki_scores.csv
new file mode 100644
index 00000000..da869f97
--- /dev/null
+++ b/scripts/train_emulators/results/reizman_suzuki_scores.csv
@@ -0,0 +1,5 @@
+case,avg_fit_time,avg_score_time,avg_val_r2,avg_val_neg_root_mean_squared_error,avg_test_r2,avg_test_neg_root_mean_squared_error
+case_1,10.348453617095947,0.00654149055480957,0.8295508810399357,-10.816744422912597,0.9307952086976204,-7.498236728819775
+case_2,8.928261852264404,0.005949831008911133,0.6182039897632764,-5.401305246353149,0.6746129777462376,-4.910729931080706
+case_3,10.123983812332153,0.005974340438842774,0.7380188495373521,-13.788355827331543,0.8379006941956488,-12.066490239891527
+case_4,9.60025577545166,0.007497835159301758,0.7013988693185367,-15.903024101257325,0.736780456428538,-13.980203005904974
diff --git a/scripts/train_emulators/train_emulators.py b/scripts/train_emulators/train_emulators.py
new file mode 100644
index 00000000..c3f62e7d
--- /dev/null
+++ b/scripts/train_emulators/train_emulators.py
@@ -0,0 +1,182 @@
+from summit.benchmarks.experimental_emulator import *
+from summit.utils.dataset import DataSet
+
+import pandas as pd
+import matplotlib.pyplot as plt
+import logging
+import pkg_resources
+import pathlib
+from tqdm import trange
+import argparse
+
+DATA_PATH = pathlib.Path(pkg_resources.resource_filename("summit", "benchmarks/data"))
+MODELS_PATH = pathlib.Path(
+    pkg_resources.resource_filename("summit", "benchmarks/models")
+)
+SUMMARY_FILE = "README.md"
+MAX_EPOCHS = 1000
+CV_FOLDS = 5
+
+
+def train_reizman(show_plots=False):
+    results = [
+        train_one_reizman(i, show_plots=show_plots)
+        for i in trange(1, 5, desc="Reizman")
+    ]
+
+    # Average scores from cross validation
+    results_average = [
+        {f"avg_{score_name}": scores.mean() for score_name, scores in result.items()}
+        for result in results
+    ]
+    index = [f"case_{i}" for i in range(1, 5)]
+
+    results_df = pd.DataFrame.from_records(results_average, index=index)
+    results_df.index.rename("case", inplace=True)
+    results_df.to_csv(f"results/reizman_suzuki_scores.csv")
+
+
+def train_one_reizman(case, show_plots=False, save_plots=True):
+    # Setup
+    model_name = f"reizman_suzuki_case_{case}"
+    domain = ReizmanSuzukiEmulator.setup_domain()
+    ds = DataSet.read_csv(DATA_PATH / f"{model_name}.csv")
+
+    # Create emulator and train
+    exp = ExperimentalEmulator(
+        model_name,
+        domain,
+        dataset=ds,
+        regressor=ANNRegressor,
+    )
+    res = exp.train(
+        max_epochs=MAX_EPOCHS, cv_folds=CV_FOLDS, random_state=100, test_size=0.2
+    )
+
+    # Run test
+    res_test = exp.test()
+    res.update(res_test)
+
+    # Save emulator
+    model_path = pathlib.Path(MODELS_PATH / model_name)
+    model_path.mkdir(exist_ok=True)
+    exp.save(model_path)
+
+    # Make plot for posteriority sake
+    fig, ax = exp.parity_plot(include_test=True)
+    if save_plots:
+        fig.savefig(f"results/{model_name}.png", dpi=100)
+    if show_plots:
+        plt.show()
+
+    return res
+
+
+def train_baumgartner(show_plots=False):
+    # Train model using one-hot encoding for categorical
+    print("Training Baumgartner model")
+    result = train_baumgartner_no_descriptors()
+    results_average = [
+        {f"avg_{score_name}": scores.mean() for score_name, scores in result.items()}
+    ]
+
+    index = ["one-hot"]
+    results_df = pd.DataFrame.from_records(results_average, index=index)
+    results_df.index.rename("case", inplace=True)
+    results_df.to_csv(f"results/baumgartner_aniline_cn_crosscoupling_scores.csv")
+
+
+def train_baumgartner_no_descriptors(show_plots=False, save_plots=True):
+    # Setup
+    model_name = f"baumgartner_aniline_cn_crosscoupling"
+    domain = BaumgartnerCrossCouplingEmulator.setup_domain()
+    ds = DataSet.read_csv(DATA_PATH / f"{model_name}.csv")
+
+    # Create emulator and train
+    exp = ExperimentalEmulator(
+        model_name,
+        domain,
+        dataset=ds,
+        regressor=ANNRegressor,
+        output_variable_names=["yield"],
+    )
+    res = exp.train(
+        max_epochs=MAX_EPOCHS, cv_folds=CV_FOLDS, random_state=100, test_size=0.2
+    )
+
+    # # Run test
+    res_test = exp.test()
+    res.update(res_test)
+
+    # Save emulator
+    model_path = pathlib.Path(MODELS_PATH / model_name)
+    model_path.mkdir(exist_ok=True)
+    exp.save(model_path)
+
+    # Make plot for posteriority sake
+    fig, ax = exp.parity_plot(include_test=True)
+    if save_plots:
+        fig.savefig(f"results/{model_name}.png", dpi=100)
+    if show_plots:
+        plt.show()
+
+    return res
+
+
+def create_markdown():
+    """Create markdown report"""
+    md = (
+        "# Train Emulators\n"
+        "<!-- This file is auto-generated. Do not edit directly."
+        "You can regenerate using python train_emulators.py --bypass-training -->\n"
+        "The `train_emulators.py` script will train emulators and create this report.\n"
+    )
+
+    # Reizman
+    reizman_text = (
+        "## Reizman Suzuki Cross coupling \n"
+        "This is the data from training of the reizman suzuki benchmark "
+        f"for {MAX_EPOCHS} epochs with {CV_FOLDS} cross-validation folds.\n"
+    )
+    baumgartner_text = (
+        "## Baumgartner C-N Cross Cross Coupling \n"
+        "This is the data from training of the Baumgartner C-N aniline cross-coupling benchmark "
+        f"for {MAX_EPOCHS} epochs with {CV_FOLDS} cross-validation folds.\n"
+    )
+    texts = [reizman_text, baumgartner_text]
+    df_reizman = pd.read_csv("results/reizman_suzuki_scores.csv")
+    df_baumgartner = pd.read_csv(
+        "results/baumgartner_aniline_cn_crosscoupling_scores.csv"
+    )
+    dfs = [df_reizman, df_baumgartner]
+
+    for text, df in zip(texts, dfs):
+        rename = dict()
+        for column in df.columns:
+            mse_substring = "neg_root_mean_squared_error"
+            if mse_substring in column:
+                rename[column] = column.replace(mse_substring, "RMSE")
+                df[column] = -1.0 * df[column]
+        df = df.rename(columns=rename)
+        df = df.drop(columns="avg_score_time")
+        md += text
+        md += df.round(2).to_markdown(index=False)
+        md += "\n"
+
+    return md
+
+
+if __name__ == "__main__":
+    parser = argparse.ArgumentParser(allow_abbrev=False)
+    parser.add_argument("--bypass_training", action="store_true")
+    args = parser.parse_args()
+
+    # Training
+    if not args.bypass_training:
+        train_reizman()
+        train_baumgartner()
+
+    # Create report
+    md = create_markdown()
+    with open("README.md", "w") as f:
+        f.write(md)
diff --git a/summit/benchmarks/MIT_kin_case1.py b/summit/benchmarks/MIT/MIT_kin_case1.py
similarity index 100%
rename from summit/benchmarks/MIT_kin_case1.py
rename to summit/benchmarks/MIT/MIT_kin_case1.py
diff --git a/summit/benchmarks/MIT_kin_case2.py b/summit/benchmarks/MIT/MIT_kin_case2.py
similarity index 100%
rename from summit/benchmarks/MIT_kin_case2.py
rename to summit/benchmarks/MIT/MIT_kin_case2.py
diff --git a/summit/benchmarks/MIT_kin_case3.py b/summit/benchmarks/MIT/MIT_kin_case3.py
similarity index 100%
rename from summit/benchmarks/MIT_kin_case3.py
rename to summit/benchmarks/MIT/MIT_kin_case3.py
diff --git a/summit/benchmarks/MIT_kin_case4.py b/summit/benchmarks/MIT/MIT_kin_case4.py
similarity index 100%
rename from summit/benchmarks/MIT_kin_case4.py
rename to summit/benchmarks/MIT/MIT_kin_case4.py
diff --git a/summit/benchmarks/MIT_kin_case5.py b/summit/benchmarks/MIT/MIT_kin_case5.py
similarity index 100%
rename from summit/benchmarks/MIT_kin_case5.py
rename to summit/benchmarks/MIT/MIT_kin_case5.py
diff --git a/summit/benchmarks/MIT/__init__.py b/summit/benchmarks/MIT/__init__.py
new file mode 100644
index 00000000..a5fc8972
--- /dev/null
+++ b/summit/benchmarks/MIT/__init__.py
@@ -0,0 +1,7 @@
+from .MIT_kin_case1 import MIT_case1
+from .MIT_kin_case2 import MIT_case2
+from .MIT_kin_case3 import MIT_case3
+from .MIT_kin_case4 import MIT_case4
+from .MIT_kin_case5 import MIT_case5
+
+__all__ = [f"MIT_case{i}" for i in range(1, 6)]
diff --git a/summit/benchmarks/__init__.py b/summit/benchmarks/__init__.py
index a44caac7..2ec5c9bc 100644
--- a/summit/benchmarks/__init__.py
+++ b/summit/benchmarks/__init__.py
@@ -1,15 +1,4 @@
 from .snar import SnarBenchmark
 from .test_functions import Himmelblau, Hartmann3D, ThreeHumpCamel, DTLZ2, VLMOP2
-
-# from .experimental_emulator import (
-#     ExperimentalEmulator,
-#     ReizmanSuzukiEmulator,
-#     BaumgartnerCrossCouplingEmulator,
-#     BaumgartnerCrossCouplingDescriptorEmulator,
-#     BaumgartnerCrossCouplingEmulator_Yield_Cost,
-# )
-# from .MIT_kin_case1 import MIT_case1
-# from .MIT_kin_case2 import MIT_case2
-# from .MIT_kin_case3 import MIT_case3
-# from .MIT_kin_case4 import MIT_case4
-# from .MIT_kin_case5 import MIT_case5
\ No newline at end of file
+from .experimental_emulator import *
+from .MIT import *
diff --git a/summit/benchmarks/experiment_emulator/data/README.md b/summit/benchmarks/data/README.md
similarity index 100%
rename from summit/benchmarks/experiment_emulator/data/README.md
rename to summit/benchmarks/data/README.md
diff --git a/summit/benchmarks/experiment_emulator/data/baumgartenter_benzamide_cross_coupling.csv b/summit/benchmarks/data/baumgartenter_benzamide_cross_coupling.csv
similarity index 100%
rename from summit/benchmarks/experiment_emulator/data/baumgartenter_benzamide_cross_coupling.csv
rename to summit/benchmarks/data/baumgartenter_benzamide_cross_coupling.csv
diff --git a/summit/benchmarks/data/baumgartner_aniline_cn_crosscoupling.csv b/summit/benchmarks/data/baumgartner_aniline_cn_crosscoupling.csv
new file mode 100644
index 00000000..a68d48ea
--- /dev/null
+++ b/summit/benchmarks/data/baumgartner_aniline_cn_crosscoupling.csv
@@ -0,0 +1,98 @@
+,catalyst,base,base_equivalents,temperature,t_res,yield
+TYPE,DATA,DATA,DATA,DATA,DATA,DATA
+0,tBuXPhos,DBU,2.183015499,30,328.7178016,0.042832638
+1,tBuXPhos,BTMG,2.190881556,100,73.33119392,0.959689589
+2,tBuXPhos,TMG,1.093138191,47.5,75.12129688,0.03157943
+3,tBuXPhos,TMG,2.186276382,100,673.2595081,0.766767923
+4,tBuXPhos,TEA,1.108766571,30,107.541151,0.072298979
+5,tBuXPhos,DBU,2.183015499,100,1088.512259,1.008695766
+6,tBuXPhos,DBU,1.097966375,100,1208.711134,1.001213765
+7,tBuXPhos,TEA,1.108766571,65,1061.645722,0.089740381
+8,tBuXPhos,BTMG,1.643161167,65,325.5826225,0.915446916
+9,tBuXPhos,TEA,1.663149856,100,74.29424953,0.034514934
+10,tBuXPhos,BTMG,2.190881556,30,1290.763827,0.854551676
+11,tBuXPhos,BTMG,1.095440778,100,74.56626511,0.916912822
+12,tBuXPhos,BTMG,1.095440778,30,1256.026841,0.84473371
+13,tBuXPhos,TEA,2.217533142,65,1278.546129,0.08710315
+14,tBuXPhos,TMG,1.647405443,30,1119.230017,0.072638336
+15,tBuXPhos,TEA,2.217533142,30,74.04623508,0.011725954
+16,tBuXPhos,TMG,1.093138191,100,320.1163096,0.256653561
+17,tBuXPhos,TMG,2.186276382,65,75.66132736,0.10388346
+18,tBuXPhos,DBU,1.097966375,100,1275.492954,1.027203182
+19,tBuXPhos,TEA,1.108766571,100,1065.218927,0.129264495
+20,tBuXPhos,TMG,2.186276382,100,1218.132673,0.89505248
+21,tBuXPhos,BTMG,2.190881556,100,1250.718537,1.00429073
+22,tBuXPhos,TMG,2.186276382,100,1290.137792,0.85725011
+23,tBuXPhos,DBU,1.097966375,100,1427.956675,1.024671541
+24,tBuXPhos,BTMG,1.095440778,100,1178.981434,1.006040398
+25,tBuXPhos,TEA,1.108766571,100,1400.800121,0.121821069
+26,tBuXPhos,BTMG,2.190881556,63.1,1163.439545,0.950525899
+27,tBuXPhos,DBU,2.184629895,63.1,1322.174624,0.833077141
+28,tBuXPhos,BTMG,1.577062676,100,503.9828262,0.984074395
+29,tBuXPhos,DBU,1.538289689,100,493.4212217,0.988433341
+30,tBuXPhos,TMG,2.064631601,100,551.7205567,0.968792781
+31,tBuXPhos,TMG,2.187893189,100,456.4211059,0.79924163
+32,tBuXPhos,DBU,1.098778349,100,460.2413239,0.983315174
+33,tBuXPhos,BTMG,2.192501769,100,454.1919785,0.988162074
+34,tBuBrettPhos,DBU,2.189443812,30,369.0701094,0.366718886
+35,tBuBrettPhos,BTMG,2.192175707,100,74.53926325,1.031600285
+36,tBuBrettPhos,TMG,2.186454169,100,682.1440167,0.979220428
+37,tBuBrettPhos,DBU,2.189443812,100,1250.122503,0.991085896
+38,tBuBrettPhos,TEA,1.142837829,30,73.84122324,0.17068468
+39,tBuBrettPhos,DBU,1.100639322,100,1273.822858,1.023992655
+40,tBuBrettPhos,TEA,1.142837829,65,1250.93155,0.023792026
+41,tBuBrettPhos,DBU,1.100639322,30,357.9904757,0.51484446
+42,tBuBrettPhos,BTMG,1.64633276,65,320.0973086,0.967285589
+43,tBuBrettPhos,TEA,1.650765753,100,74.52026224,0.022204324
+44,tBuBrettPhos,BTMG,1.100489813,100,75.76033354,1.010162248
+45,tBuBrettPhos,BTMG,1.100489813,30,1292.050901,1.025097628
+46,tBuBrettPhos,TEA,2.158693677,65,1061.794731,0.029545128
+47,tBuBrettPhos,TMG,1.650420244,30,1271.987753,0.075288426
+48,tBuBrettPhos,TEA,2.158693677,30,73.62221098,0.005340242
+49,tBuBrettPhos,TMG,1.100280162,100,326.5346766,0.932317344
+50,tBuBrettPhos,TMG,2.186454169,65,74.14924097,0.039293957
+51,tBuBrettPhos,TEA,2.158693677,100,391.3483839,0.06609534
+52,tBuBrettPhos,DBU,2.189443812,100,477.4873109,1.030315127
+53,tBuBrettPhos,TMG,2.186454169,100,472.8960481,1.003367029
+54,tBuBrettPhos,DBU,1.147978647,100,532.9614835,1.025950003
+55,tBuBrettPhos,TMG,1.988967986,100,476.9942827,1.006211346
+56,tBuBrettPhos,TEA,1.142837829,100,448.6906638,0.056448626
+57,tBuBrettPhos,DBU,1.100639322,57.1,1277.329059,0.421916562
+58,tBuBrettPhos,TMG,2.186454169,62.7,1072.451341,0.353419248
+59,tBuBrettPhos,BTMG,1.681548434,100,386.2370915,0.99815143
+60,tBuBrettPhos,DBU,1.550362916,100,348.0039043,1.026735464
+61,tBuBrettPhos,TMG,1.59399562,100,416.2208061,0.924062878
+62,AlPhos,DBU,1.091453389,30,1257.923949,0.973793101
+63,AlPhos,TMG,1.0995902,65,75.23930359,0.208090937
+64,AlPhos,TEA,1.115310823,65,1071.112264,0.073308686
+65,AlPhos,BTMG,2.19414691,100,1263.449265,0.942713469
+66,AlPhos,DBU,2.19590027,100,73.54120636,0.97934425
+67,AlPhos,BTMG,1.101906378,30,75.11629629,0.929228974
+68,AlPhos,TEA,2.230621646,100,319.7722898,0.232825163
+69,AlPhos,TEA,2.230621646,30,1365.507102,0.14622501
+70,AlPhos,DBU,2.19590027,65,1070.650238,0.986319856
+71,AlPhos,TMG,2.1991804,30,381.7698359,0.045453974
+72,AlPhos,TEA,1.115310823,100,75.66132784,0.056712653
+73,AlPhos,TMG,2.1991804,65,75.43531466,0.156546245
+74,AlPhos,DBU,1.650173576,30,89.51111984,0.567666469
+75,AlPhos,BTMG,2.19414691,30,75.04729271,0.959137709
+76,AlPhos,BTMG,1.101906378,100,1279.138163,0.964080978
+77,AlPhos,TMG,1.0995902,30,327.6697416,0.063736927
+78,AlPhos,TMG,1.641641707,100,1180.186503,0.994961147
+79,AlPhos,DBU,1.507245156,100,1214.58247,0.996941489
+80,AlPhos,TMG,1.626154521,100,1300.974411,0.98961563
+81,AlPhos,BTMG,1.585198648,100,1215.877544,0.947352946
+82,AlPhos,BTMG,1.594864494,100,1275.07693,0.971831102
+83,AlPhos,TMG,2.1991804,30,1369.512331,0.08429262
+84,AlPhos,DBU,1.702147547,100,1308.539844,0.994908646
+85,AlPhos,BTMG,1.101906378,88.5,1092.52949,0.927005687
+86,AlPhos,TMG,1.0995902,88.5,1393.362696,0.939708298
+87,tBuXPhos,TMG,2.186276382,63.1,1242.849087,0.315366703
+88,tBuXPhos,DBU,1.097966375,30,377.9346166,0.093450375
+89,AlPhos,TEA,2.091207793,100,1350.932269,0.207359999
+90,AlPhos,BTMG,1.643193721,65,341.4145279,0.945804957
+91,tBuBrettPhos,BTMG,1.100489813,100,526.4841132,1.000808176
+92,tBuBrettPhos,TEA,1.142837829,30,75.30730724,0.005499146
+93,tBuBrettPhos,BTMG,2.192175707,30,1240.719965,1.019671511
+94,AlPhos,DBU,1.091453389,100,321.2633753,0.95902087
+95,tBuBrettPhos,TMG,1.100280162,47.5,65.77076197,0.043402107
\ No newline at end of file
diff --git a/summit/benchmarks/experiment_emulator/data/reizman_suzuki_case1_train_test.csv b/summit/benchmarks/data/reizman_suzuki_case_1.csv
similarity index 100%
rename from summit/benchmarks/experiment_emulator/data/reizman_suzuki_case1_train_test.csv
rename to summit/benchmarks/data/reizman_suzuki_case_1.csv
diff --git a/summit/benchmarks/experiment_emulator/data/reizman_suzuki_case2_train_test.csv b/summit/benchmarks/data/reizman_suzuki_case_2.csv
similarity index 100%
rename from summit/benchmarks/experiment_emulator/data/reizman_suzuki_case2_train_test.csv
rename to summit/benchmarks/data/reizman_suzuki_case_2.csv
diff --git a/summit/benchmarks/experiment_emulator/data/reizman_suzuki_case3_train_test.csv b/summit/benchmarks/data/reizman_suzuki_case_3.csv
similarity index 100%
rename from summit/benchmarks/experiment_emulator/data/reizman_suzuki_case3_train_test.csv
rename to summit/benchmarks/data/reizman_suzuki_case_3.csv
diff --git a/summit/benchmarks/experiment_emulator/data/reizman_suzuki_case4_train_test.csv b/summit/benchmarks/data/reizman_suzuki_case_4.csv
similarity index 100%
rename from summit/benchmarks/experiment_emulator/data/reizman_suzuki_case4_train_test.csv
rename to summit/benchmarks/data/reizman_suzuki_case_4.csv
diff --git a/summit/benchmarks/experiment_emulator/__init__.py b/summit/benchmarks/experiment_emulator/__init__.py
deleted file mode 100644
index cf3af26e..00000000
--- a/summit/benchmarks/experiment_emulator/__init__.py
+++ /dev/null
@@ -1,6 +0,0 @@
-import os, sys
-
-sys.path.append(os.path.dirname(os.path.realpath(__file__)))
-
-# from .emulator import Emulator
-# from .bnn_emulator import BNNEmulator
diff --git a/summit/benchmarks/experiment_emulator/bnn_emulator.py b/summit/benchmarks/experiment_emulator/bnn_emulator.py
deleted file mode 100644
index c271b908..00000000
--- a/summit/benchmarks/experiment_emulator/bnn_emulator.py
+++ /dev/null
@@ -1,578 +0,0 @@
-# import os
-# import os.path as osp
-
-# import numpy as np
-
-# from summit.benchmarks.experiment_emulator.emulator import Emulator
-
-# import torch
-# import torch.nn as nn
-# import torch.nn.functional as F
-# import torch.optim as optim
-
-# from blitz.modules import BayesianLinear
-# from blitz.utils import variational_estimator
-
-# from sklearn.metrics import r2_score
-
-# # =======================================================================
-
-
-# class BNNEmulator(Emulator):
-#     """BNN Emulator
-
-#     A Bayesian Neural Network (BNN) emulator.
-
-#     Parameters
-#     ---------
-#     domain: summit.domain.Domain
-#         The domain of the experiment
-#     dataset: class:~summit.utils.dataset.DataSet, optional
-#         A DataSet with data for training where the data columns correspond to the domain and the data rows correspond to the training points.
-#         By default: None
-#     model_name: string, optional
-#         Name of the model that is used for saving model parameters. Should be unique.
-#         By default: "dataset_emulator_model_name"
-#     """
-
-#     # =======================================================================
-
-#     def __init__(self, domain, dataset, model_name, kwargs={}):
-#         super().__init__(domain, dataset, model_name, kwargs)
-#         self._model = self._setup_model()
-
-#         # Set model name for saving
-#         self.save_path = kwargs.get(
-#             "save_path",
-#             osp.join(osp.dirname(osp.realpath(__file__)), "trained_models/BNN"),
-#         )
-
-#         # Set up training hyperparameters
-#         self.set_training_hyperparameters()
-
-#     # =======================================================================
-
-#     def _setup_model(self, **kwargs):
-#         """ Setup the BNN model """
-
-#         @variational_estimator
-#         class BayesianRegressor(nn.Module):
-#             def __init__(self, input_dim):
-#                 super().__init__()
-
-#                 self.blinear1 = BayesianLinear(input_dim, 24)
-#                 self.blinear2 = BayesianLinear(24, 24)
-#                 self.blinear3 = BayesianLinear(24, 24)
-#                 self.blinear4 = BayesianLinear(24, 1)
-
-#             def forward(self, x):
-#                 x = F.leaky_relu(self.blinear1(x))
-#                 x = F.leaky_relu(self.blinear2(x))
-#                 x = F.dropout(x, p=0.1, training=self.training)
-#                 x = F.leaky_relu(self.blinear3(x))
-#                 x = F.dropout(x, p=0.1, training=self.training)
-#                 x = F.relu(self.blinear4(x))
-#                 y = x
-#                 return y.view(-1)
-
-#             # Training of model on given dataloader
-#             def _train(self, regressor, device, optimizer, criterion, X_train, loader):
-#                 regressor.train()
-
-#                 for i, (datapoints, labels) in enumerate(loader):
-#                     optimizer.zero_grad()
-#                     loss = regressor.sample_elbo(
-#                         inputs=datapoints.to(device),
-#                         labels=labels.to(device),
-#                         criterion=criterion,
-#                         sample_nbr=3,
-#                         complexity_cost_weight=1 / X_train.shape[0],
-#                     )
-#                     loss.backward()
-#                     optimizer.step()
-
-#             # Evaluate model for given dataloader
-#             def _evaluate_regression(
-#                 self,
-#                 regressor,
-#                 device,
-#                 loader,
-#                 fun_untransform_data,
-#                 out_transform,
-#                 get_predictions=False,
-#             ):
-#                 regressor.eval()
-#                 regressor.freeze_()
-
-#                 mae = 0
-#                 pred_data = []
-#                 real_data = []
-#                 for i, (datapoints, labels) in enumerate(loader):
-#                     data = datapoints.to(device)
-#                     pred = regressor(data)
-#                     tmp_pred_data = fun_untransform_data(
-#                         data=pred, reduce=out_transform[0], divide=out_transform[1]
-#                     )
-#                     tmp_real_data = fun_untransform_data(
-#                         data=labels, reduce=out_transform[0], divide=out_transform[1]
-#                     )
-#                     mae += (tmp_pred_data - tmp_real_data).abs().sum(0).item()
-
-#                     if get_predictions:
-#                         pred_data.extend(tmp_pred_data.tolist())
-#                         real_data.extend(tmp_real_data.tolist())
-
-#                 if get_predictions:
-#                     return pred_data, real_data
-
-#                 regressor.unfreeze_()
-
-#                 return mae / len(loader.dataset)
-
-#         regression_model = BayesianRegressor(self.input_dim)
-#         return regression_model
-
-#     # =======================================================================
-
-#     def set_training_hyperparameters(self, kwargs={}):
-#         # Setter method for hyperparameters of training
-#         self.epochs = kwargs.get(
-#             "epochs", 300
-#         )  # number of max epochs the model is trained
-#         self.initial_lr = kwargs.get("initial_lr", 0.001)  # initial learning rate
-#         self.min_lr = kwargs.get("min_lr", 0.00001)
-#         self.lr_decay = kwargs.get("lr_decay", 0.7)  # learning rate decay
-#         self.lr_decay_patience = kwargs.get(
-#             "lr_decay_patience", 3
-#         )  # number of epochs before learning rate is reduced by lr_decay
-#         self.early_stopping_epochs = kwargs.get(
-#             "early_stopping_epochs", 30
-#         )  # number of epochs before early stopping
-#         self.batch_size_train = kwargs.get("batch_size_train", 4)
-#         self.transform_input = kwargs.get("transform_input", "standardize")
-#         self.transform_output = kwargs.get("transform_output", "standardize")
-#         self.test_size = kwargs.get("test_size", 0.1)
-#         self.shuffle = kwargs.get("shuffle", False)
-
-#     # =======================================================================
-
-#     def train_model(self, dataset=None, verbose=True, kwargs={}):
-#         # Manual call of training -> overwrite dataset with new dataset for training
-#         if dataset is not None:
-#             self._dataset = dataset
-
-#         # #<cv_fold>-fold cross-validation
-#         cv_fold = kwargs.get("cv_fold", 10)
-
-#         # Data preprocess
-#         train_dataset, test_dataset = self._data_preprocess(
-#             transform_input=self.transform_input,
-#             transform_output=self.transform_output,
-#             test_size=self.test_size,
-#             shuffle=self.shuffle,
-#         )
-
-#         X_train_init, y_train_init = (
-#             torch.tensor(train_dataset[0]).float(),
-#             torch.tensor(train_dataset[1]).float(),
-#         )
-#         X_test, y_test = (
-#             torch.tensor(test_dataset[0]).float(),
-#             torch.tensor(test_dataset[1]).float(),
-#         )
-
-#         shuffle_train = kwargs.get("shuffle_train", False)
-#         if shuffle_train:
-#             perm = torch.randperm(len(y_train_init))
-#             train_data = torch.cat([X_train_init, y_train_init], axis=1)[perm]
-#             X_train, y_train = (
-#                 train_data[:, : -self.output_dim],
-#                 train_data[:, -self.output_dim :],
-#             )
-#         else:
-#             X_train, y_train = X_train_init, y_train_init
-
-#         if verbose:
-#             print("\n<---- Start training of BNN model ---->")
-#             print("  --- Length of train dataset: {} ---".format(X_train.shape[0]))
-#             print("  --- Length of test dataset: {} ---".format(X_test.shape[0]))
-#         for i, k in enumerate(self.output_models):
-#             if verbose:
-#                 print(
-#                     "\n  <-- Start {}-fold cross-validation training of BNN regressor on objective: {} -->\n".format(
-#                         cv_fold, k
-#                     )
-#                 )
-
-#             train_acc, val_acc, test_acc = [], [], []
-#             y_train_pred_l, y_train_real_l, y_test_pred_l, y_test_real_l = (
-#                 [],
-#                 [],
-#                 [],
-#                 [],
-#             )
-#             for j in range(cv_fold):
-#                 if verbose:
-#                     print("  ---------------- Split {} ----------------".format(j + 1))
-
-#                 # Set training details
-#                 device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
-#                 regressor = self._setup_model().to(device)
-#                 optimizer = optim.Adam(regressor.parameters(), lr=self.initial_lr)
-#                 scheduler = torch.optim.lr_scheduler.ReduceLROnPlateau(
-#                     optimizer,
-#                     factor=self.lr_decay,
-#                     patience=self.lr_decay_patience,
-#                     min_lr=self.min_lr,
-#                 )
-#                 criterion = torch.nn.MSELoss()
-#                 model_save_name = (
-#                     self.model_name + "_" + str(k) + "_" + str(j + 1) + "_BNN_model.pt"
-#                 )
-#                 model_save_dir = osp.join(self.save_path, model_save_name)
-#                 storable = self._check_file_path(model_save_dir)
-#                 if not storable:
-#                     self.output_models[k] = self._load_model(self.model_name)[k]
-#                     continue
-
-#                 # Setup train and val dataset for cross-validation
-#                 if cv_fold <= 1:
-#                     raise ValueError(
-#                         "{}-fold Cross-Validation not possible. Increase cv_fold.".format(
-#                             cv_fold
-#                         )
-#                     )
-#                 if len(X_train) < cv_fold:
-#                     raise ValueError(
-#                         "Too few data points ({}) for training provided. Decrease cv_fold.".format(
-#                             len(X_train)
-#                         )
-#                     )
-#                 n = len(X_train) // cv_fold
-#                 r = len(X_train) % cv_fold
-#                 val_mask = torch.zeros(len(X_train), dtype=torch.uint8)
-#                 # make sure every data point is included in the validation set once
-#                 if j < r:
-#                     val_mask[j * (n + 1) : (j + 1) * (n + 1)] = 1
-#                 else:
-#                     val_mask[j * n + r : (j + 1) * n + r] = 1
-#                 X_val_cv, y_val_cv = X_train[val_mask], y_train[val_mask]
-#                 X_train_cv, y_train_cv = X_train[1 - val_mask], y_train[1 - val_mask]
-
-#                 out_transform = self.data_transformation_dict[k]
-#                 y_train_obj, y_val_obj, y_test_obj = (
-#                     y_train_cv[:, i],
-#                     y_val_cv[:, i],
-#                     y_test[:, i],
-#                 )
-#                 ds_train = torch.utils.data.TensorDataset(X_train_cv, y_train_obj)
-#                 dataloader_train = torch.utils.data.DataLoader(
-#                     ds_train, batch_size=self.batch_size_train, shuffle=True
-#                 )
-#                 ds_val = torch.utils.data.TensorDataset(X_val_cv, y_val_obj)
-#                 dataloader_val = torch.utils.data.DataLoader(
-#                     ds_val, batch_size=16, shuffle=False
-#                 )
-#                 ds_test = torch.utils.data.TensorDataset(X_test, y_test_obj)
-#                 dataloader_test = torch.utils.data.DataLoader(
-#                     ds_test, batch_size=16, shuffle=False
-#                 )
-
-#                 max_iter_stop = (
-#                     self.early_stopping_epochs
-#                 )  # maximum number of consecutive iteration w/o improvement after which training is stopped
-#                 tmp_iter_stop = 0
-#                 best_train_mae, best_val_mae, best_test_mae = (
-#                     float("inf"),
-#                     float("inf"),
-#                     float("inf"),
-#                 )
-#                 for epoch in range(self.epochs):
-
-#                     lr = scheduler.optimizer.param_groups[0]["lr"]
-
-#                     # train model
-#                     self._model._train(
-#                         regressor,
-#                         device,
-#                         optimizer,
-#                         criterion,
-#                         X_train_cv,
-#                         dataloader_train,
-#                     )
-
-#                     train_mae = self._model._evaluate_regression(
-#                         regressor,
-#                         device,
-#                         dataloader_train,
-#                         self._untransform_data,
-#                         out_transform,
-#                     )
-#                     val_mae = self._model._evaluate_regression(
-#                         regressor,
-#                         device,
-#                         dataloader_val,
-#                         self._untransform_data,
-#                         out_transform,
-#                     )
-#                     scheduler.step(val_mae)
-
-#                     if verbose:
-#                         print(
-#                             "   -- Epoch: {:03d}, LR: {:7f}, Train MAE: {:4f}, Val MAE: {:4f}".format(
-#                                 epoch, lr, train_mae, val_mae
-#                             )
-#                         )
-
-#                     # if prediction accuracy was improved in current epoch, reset <tmp_iter_stop> and save model
-#                     if best_val_mae > val_mae:
-#                         best_val_mae = val_mae
-#                         tmp_iter_stop = 0
-#                         torch.save(regressor.state_dict(), model_save_dir)
-#                         test_mae = self._model._evaluate_regression(
-#                             regressor,
-#                             device,
-#                             dataloader_test,
-#                             self._untransform_data,
-#                             out_transform,
-#                         )
-#                         best_train_mae, best_test_mae = train_mae, test_mae
-#                         if verbose:
-#                             print(
-#                                 "      -> Val MAE improved, current Test MAE: {:4f}".format(
-#                                     test_mae
-#                                 )
-#                             )
-#                     # if prediction accuracy was not imporved in current epoch, increase <tmp_iter_stop> and stop training if <max_iter_stop> is reached
-#                     else:
-#                         tmp_iter_stop += 1
-#                         if tmp_iter_stop >= max_iter_stop:
-#                             break
-
-#                 train_acc.append(best_train_mae)
-#                 val_acc.append(best_val_mae)
-#                 test_acc.append(best_test_mae)
-
-#                 y_train_obj = y_train_init[:, i]
-#                 ds_train_all = torch.utils.data.TensorDataset(X_train_init, y_train_obj)
-
-#                 # load final model from epoch with lowest prediction accuracy
-#                 regressor.load_state_dict(torch.load(model_save_dir))
-
-#                 # get final model predictions for training and test data
-#                 y_train_pred, y_train_real = self._model._evaluate_regression(
-#                     regressor=regressor,
-#                     device=device,
-#                     loader=torch.utils.data.DataLoader(ds_train_all, shuffle=False),
-#                     fun_untransform_data=self._untransform_data,
-#                     out_transform=out_transform,
-#                     get_predictions=True,
-#                 )
-#                 y_test_pred, y_test_real = self._model._evaluate_regression(
-#                     regressor=regressor,
-#                     device=device,
-#                     loader=torch.utils.data.DataLoader(ds_test, shuffle=False),
-#                     fun_untransform_data=self._untransform_data,
-#                     out_transform=out_transform,
-#                     get_predictions=True,
-#                 )
-#                 y_train_pred_l.append(y_train_pred), y_train_real_l.append(y_train_real)
-#                 y_test_pred_l.append(y_test_pred), y_test_real_l.append(y_test_real)
-
-#             train_acc, val_acc, test_acc = (
-#                 torch.tensor(train_acc),
-#                 torch.tensor(val_acc),
-#                 torch.tensor(test_acc),
-#             )
-#             y_train_pred_l, y_train_real_l, y_test_pred_l, y_test_real_l = (
-#                 torch.tensor(y_train_pred_l),
-#                 torch.tensor(y_train_real_l),
-#                 torch.tensor(y_test_pred_l),
-#                 torch.tensor(y_test_real_l),
-#             )
-
-#             X_train_final = np.asarray(X_train_init.tolist())
-#             X_test_final = np.asarray(X_test.tolist())
-#             for ind, inp_var in enumerate(self.input_names_transformable):
-#                 tmp_inp_transform = self.data_transformation_dict[inp_var]
-#                 X_train_final[:, ind] = self._untransform_data(
-#                     data=X_train_final[:, ind],
-#                     reduce=tmp_inp_transform[0],
-#                     divide=tmp_inp_transform[1],
-#                 )
-#                 X_test_final[:, ind] = self._untransform_data(
-#                     data=X_test_final[:, ind],
-#                     reduce=tmp_inp_transform[0],
-#                     divide=tmp_inp_transform[1],
-#                 )
-
-#             self.output_models[k] = {
-#                 "model_save_dirs": [
-#                     self.model_name + "_" + str(k) + "_" + str(j + 1)
-#                     for j in range(cv_fold)
-#                 ],
-#                 "Final train MAE": train_acc.mean().tolist(),
-#                 "Final validation MAE": val_acc.mean().tolist(),
-#                 "Final test MAE": test_acc.mean().tolist(),
-#                 "data_transformation_dict": self.data_transformation_dict,
-#                 "X variable names": self.input_names,
-#                 "X_train": X_train_final.tolist(),
-#                 "y_train_real": y_train_real_l.mean(axis=0).tolist(),
-#                 "y_train_pred_average": y_train_pred_l.mean(axis=0).tolist(),
-#                 "X_test": X_test_final.tolist(),
-#                 "y_test_real": y_test_real_l.mean(axis=0).tolist(),
-#                 "y_test_pred_average": y_test_pred_l.mean(axis=0).tolist(),
-#             }
-
-#             if verbose:
-#                 print(
-#                     "\n  <-- Finished training of BNN model on objective: {} -->\n"
-#                     "   -- Final Train MAE: {:4f}, Final Val MAE: {:4f}, Final Test MAE: {:4f} --\n"
-#                     "   -- Model saved at: {} --\n".format(
-#                         k,
-#                         train_acc.mean(),
-#                         val_acc.mean(),
-#                         test_acc.mean(),
-#                         model_save_dir,
-#                     )
-#                 )
-
-#         self._save_model()
-
-#         if verbose:
-#             print("<---- End training of BNN regressor ---->\n")
-
-#     # =======================================================================
-
-#     def validate_model(
-#         self, dataset=None, parity_plots=False, get_pred=False, kwargs={}
-#     ):
-#         self.output_models = self._load_model(self.model_name)
-
-#         self._model.freeze_()  # freeze the model, in order to predict using only their weight distribution means
-#         self._model.eval()  # set to evaluation mode (may be redundant)
-
-#         val_dict = {}
-#         lst_parity_plots = None
-#         if parity_plots:
-#             lst_parity_plots = []
-
-#         if dataset is not None:
-#             for i, (k, v) in enumerate(self.output_models.items()):
-#                 model_load_dirs = v["model_save_dirs"]
-#                 self.data_transformation_dict = v["data_transformation_dict"]
-#                 out_transform = self.data_transformation_dict[k]
-
-#                 X_val = self._data_preprocess(
-#                     inference=True, infer_dataset=dataset, validate=True
-#                 )
-#                 X_val = torch.tensor(X_val).float()
-#                 y_val = torch.tensor(dataset[(k, "DATA")].to_numpy()).float()
-
-#                 device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
-#                 prediction_l = []
-#                 for m in model_load_dirs:
-#                     model_load_dir = osp.join(self.save_path, m + "_BNN_model.pt")
-#                     self._model.load_state_dict(
-#                         torch.load(model_load_dir, map_location=torch.device(device))
-#                     )
-#                     data = X_val.to(device)
-#                     predictions = self._model(data).detach()
-#                     predictions = self._untransform_data(
-#                         data=predictions,
-#                         reduce=out_transform[0],
-#                         divide=out_transform[1],
-#                     )
-#                     prediction_l.append(predictions)
-#                 prediction_l = torch.tensor(prediction_l)
-#                 predictions = prediction_l.mean(axis=0)
-#                 val_dict[k] = {
-#                     "MAE": (predictions - y_val).abs().mean().item(),
-#                     "RMSE": ((((predictions - y_val) ** 2).mean()) ** (1 / 2)).item(),
-#                     "r2": r2_score(y_val, predictions)
-#                     if y_val.shape[0] > 1
-#                     else "Too few data points to calculate r2.",
-#                 }
-
-#                 if parity_plots:
-#                     parity_plot = self.create_parity_plot(
-#                         datasets_pred=[predictions],
-#                         datasets_real=[y_val],
-#                         kwargs=kwargs,
-#                     )
-#                     lst_parity_plots.append(parity_plot)
-#         else:
-#             for i, (k, v) in enumerate(self.output_models.items()):
-#                 y_train_real, y_train_pred, y_test_real, y_test_pred = (
-#                     torch.tensor(v["y_train_real"]).float(),
-#                     torch.tensor(v["y_train_pred_average"]).float(),
-#                     torch.tensor(v["y_test_real"]).float(),
-#                     torch.tensor(v["y_test_pred_average"]).float(),
-#                 )
-#                 val_dict[k] = {
-#                     "Train": {
-#                         "MAE": (y_train_real - y_train_pred).abs().mean().item(),
-#                         "RMSE": (
-#                             (((y_train_real - y_train_pred) ** 2).mean()) ** (1 / 2)
-#                         ).item(),
-#                         "r2": r2_score(y_train_real, y_train_pred)
-#                         if y_train_pred.shape[0] > 1
-#                         else "Too few data points to calculate r2.",
-#                     },
-#                     "Test": {
-#                         "MAE": (y_test_real - y_test_pred).abs().mean().item(),
-#                         "RMSE": (
-#                             (((y_test_real - y_test_pred) ** 2).mean()) ** (1 / 2)
-#                         ).item(),
-#                         "r2": r2_score(y_test_real, y_test_pred)
-#                         if y_test_pred.shape[0] > 1
-#                         else "Too few data points to calculate r2.",
-#                     },
-#                 }
-#                 if parity_plots:
-#                     parity_plot = self.create_parity_plot(
-#                         datasets_pred=[y_train_pred, y_test_pred],
-#                         datasets_real=[y_train_real, y_test_real],
-#                         kwargs=kwargs,
-#                     )
-#                     lst_parity_plots.append(parity_plot)
-#         if get_pred:
-#             return predictions
-#         return val_dict, lst_parity_plots
-
-#     # =======================================================================
-
-#     def infer_model(self, dataset):
-
-#         self.output_models = self._load_model(self.model_name)
-
-#         self._model.eval()  # set to evaluation mode (may be redundant)
-#         self._model.freeze_()  # freeze the model, in order to predict using only their weight distribution means
-
-#         infer_dict = {}
-#         for i, (k, v) in enumerate(self.output_models.items()):
-#             model_load_dirs = v["model_save_dirs"]
-#             self.data_transformation_dict = v["data_transformation_dict"]
-#             out_transform = self.data_transformation_dict[k]
-
-#             X_infer = self._data_preprocess(inference=True, infer_dataset=dataset)
-#             X_infer = torch.tensor(X_infer).float()
-
-#             device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
-#             prediction_l = []
-#             for m in model_load_dirs:
-#                 model_load_dir = osp.join(self.save_path, m + "_BNN_model.pt")
-#                 self._model.load_state_dict(
-#                     torch.load(model_load_dir, map_location=torch.device(device))
-#                 )
-#                 data = X_infer.to(device)
-#                 predictions = self._model(data).item()
-#                 predictions = self._untransform_data(
-#                     data=predictions, reduce=out_transform[0], divide=out_transform[1]
-#                 )
-#                 prediction_l.append(predictions)
-#             prediction_l = torch.tensor(prediction_l)
-#             predictions = prediction_l.mean(axis=0).item()
-#             infer_dict[k] = predictions
-
-#         return infer_dict
diff --git a/summit/benchmarks/experiment_emulator/data/baumgartner_aniline_cn_crosscoupling.csv b/summit/benchmarks/experiment_emulator/data/baumgartner_aniline_cn_crosscoupling.csv
deleted file mode 100644
index 53a7b3be..00000000
--- a/summit/benchmarks/experiment_emulator/data/baumgartner_aniline_cn_crosscoupling.csv
+++ /dev/null
@@ -1,98 +0,0 @@
-catalyst,base,base_equivalents,temperature,t_res,yield
-DATA,DATA,DATA,DATA,DATA,DATA
-tBuXPhos,DBU,2.18301549894049,30,328.717801570892,0.042832637648038
-tBuXPhos,BTMG,2.19088155603542,100,73.3311939239501,0.95968958853156
-tBuXPhos,TMG,1.09313819095541,47.5,75.1212968826293,0.031579429501285
-tBuXPhos,TMG,2.18627638191082,100,673.259508132934,0.766767922957078
-tBuXPhos,TEA,1.10876657088889,30,107.541151046752,0.072298978989668
-tBuXPhos,DBU,2.18301549894049,100,1088.51225948333,1.00869576600246
-tBuXPhos,DBU,1.09796637520676,100,1208.71113443374,1.0012137649806
-tBuXPhos,TEA,1.10876657088889,65,1061.64572238922,0.089740380763736
-tBuXPhos,BTMG,1.64316116702656,65,325.582622528076,0.91544691571872
-tBuXPhos,TEA,1.66314985633333,100,74.2942495346069,0.034514933659981
-tBuXPhos,BTMG,2.19088155603542,30,1290.76382732391,0.85455167620384
-tBuXPhos,BTMG,1.09544077801771,100,74.5662651062011,0.916912821722727
-tBuXPhos,BTMG,1.09544077801771,30,1256.02684068679,0.844733710048249
-tBuXPhos,TEA,2.21753314177777,65,1278.54612874984,0.087103149507884
-tBuXPhos,TMG,1.64740544270745,30,1119.23001670837,0.072638335760068
-tBuXPhos,TEA,2.21753314177777,30,74.0462350845336,0.011725953659552
-tBuXPhos,TMG,1.09313819095541,100,320.116309642791,0.25665356147935
-tBuXPhos,TMG,2.18627638191082,65,75.6613273620605,0.103883459712673
-tBuXPhos,DBU,1.09796637520676,100,1275.49295377731,1.02720318199391
-tBuXPhos,TEA,1.10876657088889,100,1065.21892690658,0.129264494933606
-tBuXPhos,TMG,2.18627638191082,100,1218.13267326354,0.89505248003316
-tBuXPhos,BTMG,2.19088155603542,100,1250.71853733062,1.00429073048366
-tBuXPhos,TMG,2.18627638191082,100,1290.1377916336,0.857250109532139
-tBuXPhos,DBU,1.09796637520676,100,1427.9566745758,1.02467154125893
-tBuXPhos,BTMG,1.09544077801771,100,1178.9814338684,1.00604039759223
-tBuXPhos,TEA,1.10876657088889,100,1400.80012130737,0.121821068910021
-tBuXPhos,BTMG,2.19088155603542,63.1,1163.43954467773,0.950525899329829
-tBuXPhos,DBU,2.18462989478322,63.1,1322.17462396621,0.833077140654568
-tBuXPhos,BTMG,1.57706267596803,100,503.98282623291,0.984074395272132
-tBuXPhos,DBU,1.53828968922606,100,493.421221733093,0.988433340519029
-tBuXPhos,TMG,2.06463160113265,100,551.720556735992,0.968792781124083
-tBuXPhos,TMG,2.18789318925998,100,456.421105861663,0.799241630269048
-tBuXPhos,DBU,1.09877834944718,100,460.241323947906,0.983315173979014
-tBuXPhos,BTMG,2.19250176902873,100,454.191978454589,0.988162074228893
-tBuBrettPhos,DBU,2.18944381215695,30,369.07010936737,0.366718886194757
-tBuBrettPhos,BTMG,2.19217570734463,100,74.5392632484436,1.03160028485775
-tBuBrettPhos,TMG,2.1864541690596,100,682.144016742706,0.979220428380853
-tBuBrettPhos,DBU,2.18944381215695,100,1250.1225028038,0.991085896376093
-tBuBrettPhos,TEA,1.14283782885996,30,73.8412232398986,0.170684679751242
-tBuBrettPhos,DBU,1.10063932178701,100,1273.82285833358,1.02399265478708
-tBuBrettPhos,TEA,1.14283782885996,65,1250.9315495491,0.023792025741625
-tBuBrettPhos,DBU,1.10063932178701,30,357.990475654602,0.514844459552494
-tBuBrettPhos,BTMG,1.64633276013432,65,320.097308635711,0.96728558881148
-tBuBrettPhos,TEA,1.65076575279773,100,74.5202622413635,0.02220432435262
-tBuBrettPhos,BTMG,1.10048981292401,100,75.7603335380554,1.01016224766721
-tBuBrettPhos,BTMG,1.10048981292401,30,1292.05090093612,1.02509762796796
-tBuBrettPhos,TEA,2.15869367673549,65,1061.79473114013,0.029545128286587
-tBuBrettPhos,TMG,1.65042024374177,30,1271.98775339126,0.075288426185652
-tBuBrettPhos,TEA,2.15869367673549,30,73.6222109794616,0.005340242004793
-tBuBrettPhos,TMG,1.10028016249451,100,326.534676551818,0.932317343758291
-tBuBrettPhos,TMG,2.1864541690596,65,74.1492409706115,0.039293957067321
-tBuBrettPhos,TEA,2.15869367673549,100,391.348383903503,0.066095339846277
-tBuBrettPhos,DBU,2.18944381215695,100,477.487310886383,1.03031512703677
-tBuBrettPhos,TMG,2.1864541690596,100,472.896048069,1.00336702855683
-tBuBrettPhos,DBU,1.14797864745526,100,532.961483478546,1.0259500031919
-tBuBrettPhos,TMG,1.98896798604777,100,476.994282722473,1.00621134623021
-tBuBrettPhos,TEA,1.14283782885996,100,448.690663814544,0.056448625545936
-tBuBrettPhos,DBU,1.10063932178701,57.1,1277.32905912399,0.421916561848111
-tBuBrettPhos,TMG,2.1864541690596,62.7,1072.45134067535,0.353419248066313
-tBuBrettPhos,BTMG,1.68154843414789,100,386.23709154129,0.998151429939476
-tBuBrettPhos,DBU,1.55036291563546,100,348.003904342651,1.02673546415045
-tBuBrettPhos,TMG,1.5939956200241,100,416.220806121826,0.924062878206402
-AlPhos,DBU,1.09145338882669,30,1257.92394924163,0.973793101036851
-AlPhos,TMG,1.09959019999812,65,75.2393035888671,0.208090936691246
-AlPhos,TEA,1.11531082302537,65,1071.11226415634,0.073308685966617
-AlPhos,BTMG,2.19414690973636,100,1263.4492650032,0.9427134690009
-AlPhos,DBU,2.19590027037751,100,73.5412063598632,0.979344250290655
-AlPhos,BTMG,1.10190637757685,30,75.1162962913513,0.929228973867738
-AlPhos,TEA,2.23062164605073,100,319.77228975296,0.232825162787732
-AlPhos,TEA,2.23062164605073,30,1365.50710248947,0.146225010098877
-AlPhos,DBU,2.19590027037751,65,1070.6502380371,0.986319855502312
-AlPhos,TMG,2.19918039999623,30,381.769835948944,0.04545397407633
-AlPhos,TEA,1.11531082302537,100,75.6613278388977,0.056712652877236
-AlPhos,TMG,2.19918039999623,65,75.4353146553039,0.156546245418694
-AlPhos,DBU,1.65017357596417,30,89.5111198425292,0.567666468585633
-AlPhos,BTMG,2.19414690973636,30,75.0472927093505,0.959137709355724
-AlPhos,BTMG,1.10190637757685,100,1279.13816261291,0.96408097822914
-AlPhos,TMG,1.09959019999812,30,327.669741630554,0.063736927306224
-AlPhos,TMG,1.64164170703944,100,1180.1865029335,0.994961147142112
-AlPhos,DBU,1.50724515599877,100,1214.58246994018,0.996941489366245
-AlPhos,TMG,1.62615452112397,100,1300.97441148757,0.989615629596472
-AlPhos,BTMG,1.58519864844389,100,1215.87754392623,0.94735294578709
-AlPhos,BTMG,1.59486449386123,100,1275.07693004608,0.971831102069182
-AlPhos,TMG,2.19918039999623,30,1369.51233148574,0.084292620472884
-AlPhos,DBU,1.70214754686067,100,1308.5398440361,0.99490864634812
-AlPhos,BTMG,1.10190637757685,88.5,1092.52948951721,0.927005687007816
-AlPhos,TMG,1.09959019999812,88.5,1393.36269569396,0.939708297977867
-tBuXPhos,TMG,2.18627638191082,63.1,1242.84908723831,0.31536670318976
-tBuXPhos,DBU,1.09796637520676,30,377.934616565704,0.093450374738737
-AlPhos,TEA,2.09120779317256,100,1350.93226861953,0.207359998748906
-AlPhos,BTMG,1.64319372094794,65,341.414527893066,0.9458049572347
-tBuBrettPhos,BTMG,1.10048981292401,100,526.4841132164,1.00080817597436
-tBuBrettPhos,TEA,1.14283782885996,30,75.3073072433471,0.005499146204924
-tBuBrettPhos,BTMG,2.19217570734463,30,1240.71996498107,1.01967151097374
-AlPhos,DBU,1.09145338882669,100,321.263375282287,0.959020869551022
-tBuBrettPhos,TMG,1.10028016249451,47.5,65.7707619667053,0.043402107312367
diff --git a/summit/benchmarks/experiment_emulator/data/baumgartner_aniline_cn_crosscoupling_descriptors.csv b/summit/benchmarks/experiment_emulator/data/baumgartner_aniline_cn_crosscoupling_descriptors.csv
deleted file mode 100644
index 53a7b3be..00000000
--- a/summit/benchmarks/experiment_emulator/data/baumgartner_aniline_cn_crosscoupling_descriptors.csv
+++ /dev/null
@@ -1,98 +0,0 @@
-catalyst,base,base_equivalents,temperature,t_res,yield
-DATA,DATA,DATA,DATA,DATA,DATA
-tBuXPhos,DBU,2.18301549894049,30,328.717801570892,0.042832637648038
-tBuXPhos,BTMG,2.19088155603542,100,73.3311939239501,0.95968958853156
-tBuXPhos,TMG,1.09313819095541,47.5,75.1212968826293,0.031579429501285
-tBuXPhos,TMG,2.18627638191082,100,673.259508132934,0.766767922957078
-tBuXPhos,TEA,1.10876657088889,30,107.541151046752,0.072298978989668
-tBuXPhos,DBU,2.18301549894049,100,1088.51225948333,1.00869576600246
-tBuXPhos,DBU,1.09796637520676,100,1208.71113443374,1.0012137649806
-tBuXPhos,TEA,1.10876657088889,65,1061.64572238922,0.089740380763736
-tBuXPhos,BTMG,1.64316116702656,65,325.582622528076,0.91544691571872
-tBuXPhos,TEA,1.66314985633333,100,74.2942495346069,0.034514933659981
-tBuXPhos,BTMG,2.19088155603542,30,1290.76382732391,0.85455167620384
-tBuXPhos,BTMG,1.09544077801771,100,74.5662651062011,0.916912821722727
-tBuXPhos,BTMG,1.09544077801771,30,1256.02684068679,0.844733710048249
-tBuXPhos,TEA,2.21753314177777,65,1278.54612874984,0.087103149507884
-tBuXPhos,TMG,1.64740544270745,30,1119.23001670837,0.072638335760068
-tBuXPhos,TEA,2.21753314177777,30,74.0462350845336,0.011725953659552
-tBuXPhos,TMG,1.09313819095541,100,320.116309642791,0.25665356147935
-tBuXPhos,TMG,2.18627638191082,65,75.6613273620605,0.103883459712673
-tBuXPhos,DBU,1.09796637520676,100,1275.49295377731,1.02720318199391
-tBuXPhos,TEA,1.10876657088889,100,1065.21892690658,0.129264494933606
-tBuXPhos,TMG,2.18627638191082,100,1218.13267326354,0.89505248003316
-tBuXPhos,BTMG,2.19088155603542,100,1250.71853733062,1.00429073048366
-tBuXPhos,TMG,2.18627638191082,100,1290.1377916336,0.857250109532139
-tBuXPhos,DBU,1.09796637520676,100,1427.9566745758,1.02467154125893
-tBuXPhos,BTMG,1.09544077801771,100,1178.9814338684,1.00604039759223
-tBuXPhos,TEA,1.10876657088889,100,1400.80012130737,0.121821068910021
-tBuXPhos,BTMG,2.19088155603542,63.1,1163.43954467773,0.950525899329829
-tBuXPhos,DBU,2.18462989478322,63.1,1322.17462396621,0.833077140654568
-tBuXPhos,BTMG,1.57706267596803,100,503.98282623291,0.984074395272132
-tBuXPhos,DBU,1.53828968922606,100,493.421221733093,0.988433340519029
-tBuXPhos,TMG,2.06463160113265,100,551.720556735992,0.968792781124083
-tBuXPhos,TMG,2.18789318925998,100,456.421105861663,0.799241630269048
-tBuXPhos,DBU,1.09877834944718,100,460.241323947906,0.983315173979014
-tBuXPhos,BTMG,2.19250176902873,100,454.191978454589,0.988162074228893
-tBuBrettPhos,DBU,2.18944381215695,30,369.07010936737,0.366718886194757
-tBuBrettPhos,BTMG,2.19217570734463,100,74.5392632484436,1.03160028485775
-tBuBrettPhos,TMG,2.1864541690596,100,682.144016742706,0.979220428380853
-tBuBrettPhos,DBU,2.18944381215695,100,1250.1225028038,0.991085896376093
-tBuBrettPhos,TEA,1.14283782885996,30,73.8412232398986,0.170684679751242
-tBuBrettPhos,DBU,1.10063932178701,100,1273.82285833358,1.02399265478708
-tBuBrettPhos,TEA,1.14283782885996,65,1250.9315495491,0.023792025741625
-tBuBrettPhos,DBU,1.10063932178701,30,357.990475654602,0.514844459552494
-tBuBrettPhos,BTMG,1.64633276013432,65,320.097308635711,0.96728558881148
-tBuBrettPhos,TEA,1.65076575279773,100,74.5202622413635,0.02220432435262
-tBuBrettPhos,BTMG,1.10048981292401,100,75.7603335380554,1.01016224766721
-tBuBrettPhos,BTMG,1.10048981292401,30,1292.05090093612,1.02509762796796
-tBuBrettPhos,TEA,2.15869367673549,65,1061.79473114013,0.029545128286587
-tBuBrettPhos,TMG,1.65042024374177,30,1271.98775339126,0.075288426185652
-tBuBrettPhos,TEA,2.15869367673549,30,73.6222109794616,0.005340242004793
-tBuBrettPhos,TMG,1.10028016249451,100,326.534676551818,0.932317343758291
-tBuBrettPhos,TMG,2.1864541690596,65,74.1492409706115,0.039293957067321
-tBuBrettPhos,TEA,2.15869367673549,100,391.348383903503,0.066095339846277
-tBuBrettPhos,DBU,2.18944381215695,100,477.487310886383,1.03031512703677
-tBuBrettPhos,TMG,2.1864541690596,100,472.896048069,1.00336702855683
-tBuBrettPhos,DBU,1.14797864745526,100,532.961483478546,1.0259500031919
-tBuBrettPhos,TMG,1.98896798604777,100,476.994282722473,1.00621134623021
-tBuBrettPhos,TEA,1.14283782885996,100,448.690663814544,0.056448625545936
-tBuBrettPhos,DBU,1.10063932178701,57.1,1277.32905912399,0.421916561848111
-tBuBrettPhos,TMG,2.1864541690596,62.7,1072.45134067535,0.353419248066313
-tBuBrettPhos,BTMG,1.68154843414789,100,386.23709154129,0.998151429939476
-tBuBrettPhos,DBU,1.55036291563546,100,348.003904342651,1.02673546415045
-tBuBrettPhos,TMG,1.5939956200241,100,416.220806121826,0.924062878206402
-AlPhos,DBU,1.09145338882669,30,1257.92394924163,0.973793101036851
-AlPhos,TMG,1.09959019999812,65,75.2393035888671,0.208090936691246
-AlPhos,TEA,1.11531082302537,65,1071.11226415634,0.073308685966617
-AlPhos,BTMG,2.19414690973636,100,1263.4492650032,0.9427134690009
-AlPhos,DBU,2.19590027037751,100,73.5412063598632,0.979344250290655
-AlPhos,BTMG,1.10190637757685,30,75.1162962913513,0.929228973867738
-AlPhos,TEA,2.23062164605073,100,319.77228975296,0.232825162787732
-AlPhos,TEA,2.23062164605073,30,1365.50710248947,0.146225010098877
-AlPhos,DBU,2.19590027037751,65,1070.6502380371,0.986319855502312
-AlPhos,TMG,2.19918039999623,30,381.769835948944,0.04545397407633
-AlPhos,TEA,1.11531082302537,100,75.6613278388977,0.056712652877236
-AlPhos,TMG,2.19918039999623,65,75.4353146553039,0.156546245418694
-AlPhos,DBU,1.65017357596417,30,89.5111198425292,0.567666468585633
-AlPhos,BTMG,2.19414690973636,30,75.0472927093505,0.959137709355724
-AlPhos,BTMG,1.10190637757685,100,1279.13816261291,0.96408097822914
-AlPhos,TMG,1.09959019999812,30,327.669741630554,0.063736927306224
-AlPhos,TMG,1.64164170703944,100,1180.1865029335,0.994961147142112
-AlPhos,DBU,1.50724515599877,100,1214.58246994018,0.996941489366245
-AlPhos,TMG,1.62615452112397,100,1300.97441148757,0.989615629596472
-AlPhos,BTMG,1.58519864844389,100,1215.87754392623,0.94735294578709
-AlPhos,BTMG,1.59486449386123,100,1275.07693004608,0.971831102069182
-AlPhos,TMG,2.19918039999623,30,1369.51233148574,0.084292620472884
-AlPhos,DBU,1.70214754686067,100,1308.5398440361,0.99490864634812
-AlPhos,BTMG,1.10190637757685,88.5,1092.52948951721,0.927005687007816
-AlPhos,TMG,1.09959019999812,88.5,1393.36269569396,0.939708297977867
-tBuXPhos,TMG,2.18627638191082,63.1,1242.84908723831,0.31536670318976
-tBuXPhos,DBU,1.09796637520676,30,377.934616565704,0.093450374738737
-AlPhos,TEA,2.09120779317256,100,1350.93226861953,0.207359998748906
-AlPhos,BTMG,1.64319372094794,65,341.414527893066,0.9458049572347
-tBuBrettPhos,BTMG,1.10048981292401,100,526.4841132164,1.00080817597436
-tBuBrettPhos,TEA,1.14283782885996,30,75.3073072433471,0.005499146204924
-tBuBrettPhos,BTMG,2.19217570734463,30,1240.71996498107,1.01967151097374
-AlPhos,DBU,1.09145338882669,100,321.263375282287,0.959020869551022
-tBuBrettPhos,TMG,1.10028016249451,47.5,65.7707619667053,0.043402107312367
diff --git a/summit/benchmarks/experiment_emulator/data/reizman_2016_suzuki.xlsx b/summit/benchmarks/experiment_emulator/data/reizman_2016_suzuki.xlsx
deleted file mode 100644
index db45a9dd..00000000
Binary files a/summit/benchmarks/experiment_emulator/data/reizman_2016_suzuki.xlsx and /dev/null differ
diff --git a/summit/benchmarks/experiment_emulator/data/reizman_suzuki_case1.csv b/summit/benchmarks/experiment_emulator/data/reizman_suzuki_case1.csv
deleted file mode 100644
index 8e621c48..00000000
--- a/summit/benchmarks/experiment_emulator/data/reizman_suzuki_case1.csv
+++ /dev/null
@@ -1,98 +0,0 @@
-96,4,,,,
- Catalyst, tres (s), T  (ºC),Cat. Loading (mol%),TON,Yield (%)
-P1-L3,600,30,0.498,1.1,0.6
-P1-L6,600,30,2.515,0.2,0.6
-P1-L4,60,30,2.508,0.2,0.6
-P1-L1,60,30,0.513,1.1,0.6
-P1-L2,600,30,2.513,0.2,0.6
-P1-L5,60,30,0.508,1.1,0.6
-P1-L7,600,30,0.506,1.1,0.6
-P2-L1,60,30,2.509,0.2,0.6
-P2-L1,600,110,0.496,8.5,4.3
-P1-L4,600,110,0.512,84.7,43.4
-P1-L6,60,110,0.498,1.1,0.6
-P1-L1,600,110,2.509,24,60.2
-P1-L5,600,110,2.512,16.7,42
-P1-L7,60,110,2.499,33.8,84.6
-P1-L2,60,110,0.508,16.9,8.5
-P1-L3,60,110,2.489,21.8,54.4
-P1-L7,189.7,65.3,1.123,0.5,0.6
-P1-L1,189.7,65.3,1.106,22.5,24.9
-P1-L6,600,65.3,2.515,0.2,0.6
-P2-L1,189.7,65.3,2.509,8.4,21.1
-P1-L4,189.7,65.3,2.508,21.2,53.1
-P1-L5,189.7,65.3,1.106,0.5,0.6
-P1-L3,600,65.3,1.106,5.1,5.6
-P1-L2,600,65.3,1.129,6.7,7.5
-P1-L4,600,110,1.106,82.6,91.3
-P1-L1,600,110,2.509,27.4,68.6
-P1-L2,189.7,110,2.513,21.1,52.9
-P1-L6,189.7,110,1.127,6.6,7.4
-P1-L7,600,110,2.499,30,75
-P1-L3,189.7,110,2.489,21.6,53.8
-P1-L5,600,110,2.512,18.9,47.6
-P2-L1,600,110,1.131,15,17
-P1-L4,600,30,0.512,1.1,0.6
-P1-L5,600,30,0.508,1.1,0.6
-P1-L1,600,30,0.513,1.1,0.6
-P2-L1,600,30,0.496,1.1,0.6
-P1-L2,60,110,2.513,16.6,41.9
-P1-L3,60,110,2.489,31.2,77.5
-P1-L6,60,110,2.515,3.4,8.5
-P1-L7,60,110,2.499,34.2,85.4
-P1-L4,60,67.5,2.508,13.4,33.4
-P1-L5,60,66.7,2.512,0.2,0.6
-P1-L3,60,67,2.489,9.8,24.4
-P1-L7,60,66.8,2.499,1.4,3.6
-P1-L1,60,66.3,2.509,4.9,12.4
-P2-L1,60,67,2.509,4.5,11.2
-P1-L7,155.6,110,2.499,32.5,81.3
-P1-L5,109.3,110,2.482,15.8,39.1
-P2-L1,104.5,110,2.509,11.3,28.4
-P1-L1,109.2,110,2.482,29.8,74.1
-P1-L3,166.5,110,2.489,24.5,60.9
-P1-L4,60,110,0.512,20.1,10.3
-P1-L7,60,110,0.506,1.1,0.6
-P1-L3,60,110,0.498,43.7,21.7
-P1-L1,60,110,0.513,40,20.5
-P1-L4,60,110,0.512,17,8.7
-P1-L3,600,110,0.968,24.5,23.7
-P1-L1,600,110,0.971,42.6,41.4
-P1-L5,600,110,0.957,40.6,38.8
-P1-L4,600,110,1.268,72.4,91.8
-P1-L7,600,110,0.814,46.6,38
-P1-L4,161.7,110,2.104,39.9,84
-P1-L1,146.1,110,2.509,27.7,69.6
-P1-L3,185.5,110,2.489,25.2,62.8
-P1-L7,176.5,110,2.499,27.5,68.6
-P1-L1,60,110,2.266,37.1,83.9
-P1-L4,60,110,1.915,34.4,65.7
-P1-L7,60,110,2.303,35,80.7
-P1-L3,60,110,2.323,27.7,64.4
-P1-L4,600,110,2.508,30.8,82.1
-P1-L4,600,110,2.508,31.9,80
-P1-L4,600,67.3,1.214,24.4,29.6
-P1-L4,600,68.7,1.268,16.1,20.4
-P1-L4,199.3,110,1.241,57.8,71.6
-P1-L1,202.8,110,1.592,44.6,70.9
-P1-L4,600,110,1.16,65.1,75.5
-P1-L4,600,110,1.16,71.4,82.7
-P1-L4,600,110,1.106,65.3,72.2
-P1-L4,600,110,1.106,83.9,92.8
-P1-L4,600,110,1.187,60.7,72.1
-P1-L4,600,110,1.106,73,80.7
-P1-L4,600,66.3,0.998,20.2,20.1
-P1-L4,600,67.6,0.998,18,17.9
-P1-L4,600,110,1.241,70.5,87.5
-P1-L4,600,110,1.268,63.2,80.2
-P1-L4,600,110,1.187,65.8,78.1
-P1-L4,189.1,110,2.508,39.4,98.7
-P1-L4,600,110,1.268,65.6,83.1
-P1-L4,199.8,110,2.508,33.5,83.9
-P1-L4,199.6,110,2.508,33.2,83.2
-P1-L4,600,110,1.241,62,76.9
-P1-L4,600,110,1.025,73.3,75
-P1-L4,600,110,1.079,81.2,87.6
-P1-L4,600,110,1.133,67,75.9
-P1-L4,600,110,1.052,65.4,68.7
-P1-L4,600,110,1.106,71.2,78.7
diff --git a/summit/benchmarks/experiment_emulator/data/reizman_suzuki_case2.csv b/summit/benchmarks/experiment_emulator/data/reizman_suzuki_case2.csv
deleted file mode 100644
index 24d2a7d9..00000000
--- a/summit/benchmarks/experiment_emulator/data/reizman_suzuki_case2.csv
+++ /dev/null
@@ -1,98 +0,0 @@
-96,4,,,,
- Catalyst, tres (s), T  (ºC),Cat. Loading (mol%),TON,Yield (%)
-P1-L6,600,110,2.49,0,0.1
-P1-L5,60,110,0.51,0.2,0.1
-P1-L4,60,110,0.498,0.2,0.1
-P1-L7,600,110,2.489,2.3,5.7
-P1-L1,60,110,2.516,2.5,6.4
-P1-L2,60,110,2.516,4.4,11
-P1-L3,600,110,0.512,0.2,0.1
-P2-L1,600,110,0.507,0.2,0.1
-P1-L5,600,30,2.492,0,0.1
-P1-L4,600,30,2.516,0.2,0.5
-P1-L7,60,30,0.509,0.2,0.1
-P1-L6,60,30,0.492,0.2,0.1
-P1-L1,600,30,0.509,0.2,0.1
-P1-L3,60,30,2.505,0,0.1
-P2-L1,60,30,2.509,0,0.1
-P1-L2,600,30,0.492,0.2,0.1
-P2-L1,60,65.3,1.121,0.3,0.4
-P1-L4,189.7,65.3,2.516,0.4,1
-P1-L5,60,65.3,2.492,0,0.1
-P1-L1,189.7,65.3,1.131,5.2,5.9
-P1-L6,60,65.3,1.122,0.1,0.1
-P1-L2,189.7,65.3,1.128,7.8,8.9
-P1-L7,60,65.3,1.131,0.1,0.1
-P1-L3,60,65.3,2.505,4.7,11.8
-P1-L6,189.7,110,2.49,0,0.1
-P1-L5,189.7,110,1.111,7.2,8.2
-P1-L2,60,110,2.516,4.6,11.5
-P1-L3,189.7,110,1.131,9.2,10.5
-P2-L1,189.7,110,2.509,2.1,5.2
-P1-L1,60,110,2.516,5.4,13.5
-P1-L4,60,110,1.106,0.3,0.4
-P1-L7,189.7,110,2.489,4.6,11.7
-P1-L2,339.6,110,2.516,6.4,16.1
-P1-L4,351.3,110,2.516,1,2.4
-P1-L5,370.2,110,2.492,11.1,28
-P1-L1,340.3,110,2.516,6.5,16.3
-P1-L7,600,33.8,2.489,0,0.1
-P2-L1,600,33.4,2.509,0.5,1.2
-P1-L3,600,30,2.047,0.1,0.1
-P1-L6,600,30,2.49,0,0.1
-P1-L7,149,110,2.489,11.2,28.1
-P1-L5,156.7,110,2.492,6.5,16.4
-P1-L3,162.3,110,2.505,6.7,16.9
-P1-L1,172.3,107.8,2.516,7.9,19.9
-P1-L2,177.6,95.1,2.516,5.2,13
-P1-L1,222.1,110,0.792,10.9,8.5
-P1-L2,192.5,110,2.169,5.4,11.6
-P1-L7,155.6,110,1.923,2.8,5.4
-P1-L5,184.7,110,2.011,9.1,18.6
-P1-L3,262.1,56.1,0.754,7,5.5
-P1-L3,203.4,81.9,2.505,7.2,18
-P1-L2,190,93.8,2.516,5.6,14.2
-P1-L5,184.5,110,2.492,7.2,18.1
-P1-L1,213.2,110,2.516,9.8,24.6
-P1-L7,157.7,110,2.489,2.7,6.8
-P1-L1,261,110,2.516,10.3,26
-P1-L5,206.5,110,2.492,9.7,24.5
-P1-L7,166.9,110,2.489,4.3,10.8
-P1-L3,198.4,100.7,2.505,6.9,17.3
-P1-L2,600,110,1.938,8.3,15.9
-P1-L3,600,110,1.993,9.4,18.5
-P1-L1,600,110,1.781,13.3,24
-P1-L5,600,110,1.951,15.5,30.6
-P1-L5,600,110,1.951,15.3,30.2
-P1-L1,600,110,1.385,14.7,20.2
-P1-L3,375.4,97.2,1.94,8.8,16.9
-P1-L3,600,103.3,2.505,8.9,22.3
-P1-L1,600,110,2.516,13,32.6
-P1-L5,600,110,2.011,19.7,40.1
-P1-L5,600,110,2.492,16.7,42
-P1-L1,60,30,2.516,0,0.1
-P1-L1,60,30,2.516,0.2,0.4
-P1-L5,600,110,2.492,18.9,47.6
-P1-L1,600,47.1,2.516,16.6,41.9
-P1-L5,600,71,2.492,0,0.1
-P1-L5,600,110,2.492,16.7,42
-P1-L2,600,39.8,2.516,0.4,1.1
-P1-L3,600,38.1,2.505,1.8,4.6
-P1-L1,600,61,2.516,5.6,14.2
-P1-L3,600,69.4,2.505,9.7,24.4
-P1-L1,600,63,2.516,6.3,15.7
-P1-L1,600,110,2.516,5.6,14
-P1-L5,600,110,2.492,18.1,45.4
-P1-L5,600,110,2.492,15.2,38.4
-P1-L3,600,110,2.505,10,25
-P1-L5,600,110,1.711,15.1,26.2
-P1-L1,600,110,2.516,6.8,17.2
-P1-L5,600,110,2.492,16.3,41.1
-P1-L1,600,110,2.516,6.8,17.1
-P1-L1,600,110,2.516,7,17.7
-P1-L5,600,110,2.492,18,45.2
-P1-L5,600,110,1.771,19.4,34.8
-P1-L1,600,30,2.488,1,2.5
-P1-L1,600,30,2.488,1.3,3.2
-P1-L5,600,110,2.492,17.5,44
-P1-L5,600,110,1.921,20.3,38.9
diff --git a/summit/benchmarks/experiment_emulator/data/reizman_suzuki_case3.csv b/summit/benchmarks/experiment_emulator/data/reizman_suzuki_case3.csv
deleted file mode 100644
index e611e44b..00000000
--- a/summit/benchmarks/experiment_emulator/data/reizman_suzuki_case3.csv
+++ /dev/null
@@ -1,98 +0,0 @@
-96,4,,,,
- Catalyst, tres (s), T  (ºC),Cat. Loading (mol%),TON,Yield (%)
-P1-L4,60,30,2.513,0.1,0.2
-P1-L2,600,30,2.494,0.1,0.2
-P1-L1,60,30,0.51,0.3,0.2
-P1-L5,600,30,2.511,0.1,0.2
-P1-L6,60,30,0.499,0.3,0.2
-P1-L7,600,30,0.501,0.3,0.2
-P1-L3,60,30,2.512,0.1,0.2
-P2-L1,600,30,0.509,0.3,0.2
-P2-L1,60,110,2.515,32.8,82.6
-P1-L5,60,110,0.508,0.3,0.2
-P1-L4,600,110,0.514,0.3,0.2
-P1-L6,600,110,2.496,0.1,0.2
-P1-L3,600,110,0.503,50.6,25.4
-P1-L7,60,110,2.504,16.9,42.2
-P1-L2,60,110,0.51,46.3,23.6
-P1-L1,600,110,2.493,36.6,91.3
-P1-L3,189.7,110,1.117,77.4,86.5
-P2-L1,189.7,110,2.515,34.3,86.4
-P1-L6,189.7,110,2.496,0.1,0.2
-P1-L5,60,110,1.106,4,4.4
-P1-L1,189.7,110,2.493,31.6,78.8
-P1-L4,189.7,110,1.114,2.6,2.9
-P1-L2,60,110,2.494,34.7,86.7
-P1-L6,60,65.3,1.109,0.1,0.2
-P1-L7,60,110,2.504,19.9,49.9
-P1-L2,189.7,65.3,1.106,3.9,4.3
-P1-L5,189.7,65.3,2.511,2,5.1
-P1-L1,60,65.3,1.105,6.9,7.6
-P1-L3,60,65.3,2.512,8.8,22.1
-P1-L7,189.7,65.3,1.113,0.7,0.8
-P1-L4,60,65.3,2.513,0.3,0.7
-P2-L1,60,65.3,1.13,6.1,6.9
-P1-L4,600,105.1,2.513,1.6,4.1
-P1-L1,600,110,2.352,32.6,76.6
-P1-L2,600,110,2.438,33,80.3
-P1-L3,600,110,2.317,37.7,87.4
-P2-L1,600,110,2.345,34.3,80.3
-P1-L7,600,110,2.393,20.9,49.9
-P1-L5,600,71.7,1.196,0.1,0.2
-P1-L5,600,48.3,0.748,0.2,0.2
-P1-L7,124.3,110,1.113,9.8,10.9
-P1-L2,202.9,110,1.219,51.4,62.6
-P2-L1,160.9,110,1.074,55.6,59.7
-P1-L1,123.2,110,1.105,77.6,85.8
-P1-L3,600,83.8,1.061,48.6,51.7
-P2-L1,60,110,1.413,31.1,43.9
-P1-L7,60,110,1.419,24.8,35.1
-P1-L2,60,110,1.672,53.1,88.8
-P1-L3,60,110,1.312,59.8,78.4
-P1-L1,60,110,1.417,61.8,87.5
-P1-L2,186.8,110,2.494,30.3,75.4
-P1-L1,149.9,110,2.493,32,79.8
-P2-L1,186.8,103.6,2.515,33.2,83.4
-P1-L3,179.9,110,2.512,34.4,86.5
-P1-L1,60,110,1.502,56.6,85
-P1-L2,60,110,1.927,43.6,84.2
-P1-L3,137.9,110,1.312,60.6,79.4
-P1-L3,60,110,1.647,49.5,81.4
-P1-L1,177.6,110,1.048,77.4,81.1
-P1-L2,188.8,110,1.446,49.5,71.5
-P1-L3,211.9,110,1.368,59.9,82
-P1-L2,239.7,110,1.332,51.2,68.2
-P1-L1,253.3,110,1.048,83,87
-P1-L1,108.9,110,1.275,65.3,83.3
-P1-L3,92.2,110,1.787,50.5,90.2
-P1-L2,66.6,110,2.409,35.8,86.4
-P1-L3,192.1,110,1.731,48.1,83.3
-P1-L1,221.3,110,1.077,75.9,81.7
-P1-L2,192.7,110,1.871,41.5,77.7
-P1-L1,180.1,110,1.303,65.1,84.9
-P1-L2,144,110,1.899,44.5,84.6
-P1-L3,146.6,110,2.038,43,87.7
-P1-L1,60,110,2.493,34.4,85.9
-P1-L3,101.5,110,1.926,46.9,90.4
-P1-L2,60,110,2.126,38.3,81.4
-P1-L1,218.5,110,1.105,80.8,89.4
-P1-L2,135.7,110,1.814,40.5,73.5
-P1-L1,600,110,0.935,85.6,79.9
-P1-L3,147.9,110,1.591,52.1,82.9
-P1-L2,162.9,110,1.701,40,68
-P1-L3,162.1,110,1.675,53.8,90.1
-P1-L1,600,110,1.218,74.3,90.6
-P1-L3,600,110,1.424,49.3,70.1
-P1-L2,600,110,1.417,66.4,94.1
-P1-L3,60,110,1.926,45.4,87.6
-P1-L1,600,110,1.09,80.1,87.3
-P1-L2,60,110,1.757,44.3,77.9
-P1-L3,600,110,1.787,45.3,81
-P1-L2,600,110,1.616,52.3,84.5
-P1-L1,600,110,1.303,64.4,84
-P1-L1,600,110,1.218,65.4,79.6
-P1-L2,600,110,1.587,47.2,75
-P1-L3,600,110,1.787,43.6,78
-P1-L3,60,40.2,0.503,0.3,0.2
-P1-L3,60,40.1,0.503,0.3,0.2
-P1-L3,229.2,110,1.619,49.6,80.1
diff --git a/summit/benchmarks/experiment_emulator/data/reizman_suzuki_case4.csv b/summit/benchmarks/experiment_emulator/data/reizman_suzuki_case4.csv
deleted file mode 100644
index f1a79c40..00000000
--- a/summit/benchmarks/experiment_emulator/data/reizman_suzuki_case4.csv
+++ /dev/null
@@ -1,99 +0,0 @@
-97,4,,,,
- Catalyst, tres (s), T  (ºC),Cat. Loading (mol%),TON,Yield (%)
-P1-L6,600,110,2.504,11.7,29.4
-P1-L5,600,110,2.499,21.4,53.6
-P1-L7,60,110,2.491,9.5,23.7
-P1-L3,60,110,0.502,129.2,64.8
-P2-L1,600,110,0.506,99.3,50.3
-P1-L2,600,110,0.511,107.8,55.1
-P1-L4,60,110,0.489,32.4,15.8
-P1-L1,60,110,2.501,37.6,94.1
-P1-L1,600,30,0.5,2.9,1.5
-P1-L6,60,30,0.501,0.2,0.1
-P2-L1,60,30,2.508,1.6,4
-P1-L7,600,30,0.503,0.2,0.1
-P1-L5,60,30,0.5,0.2,0.1
-P1-L4,600,30,2.492,4.6,11.5
-P1-L2,60,30,2.507,0,0.1
-P1-L3,600,30,2.51,2.7,6.9
-P2-L1,600,65.3,2.508,38.1,95.5
-P1-L1,600,65.3,1.12,65.3,73.1
-P1-L6,189.7,65.3,1.127,1.3,1.4
-P1-L4,600,65.3,2.492,29.7,74.1
-P1-L2,189.7,65.3,2.507,36.4,91.3
-P1-L7,600,65.3,1.126,0.7,0.8
-P1-L3,189.7,65.3,1.123,60.8,68.3
-P1-L5,189.7,65.3,1.131,1.3,1.5
-P1-L1,189.7,110,2.501,34.9,87.2
-P1-L4,189.7,110,1.124,50.6,56.9
-P1-L6,600,110,2.504,16.1,40.4
-P1-L3,600,110,2.51,32.8,82.2
-P1-L7,189.7,110,2.491,11.6,28.8
-P1-L2,600,110,1.12,72.2,80.9
-P1-L5,600,110,2.499,25.7,64.3
-P2-L1,189.7,110,1.109,80.6,89.4
-P1-L5,114.7,110,1.079,31.4,33.9
-P1-L6,114.7,110,1.077,21.4,23
-P1-L7,250.1,110,0.982,26.8,26.3
-P2-L1,150.3,71.6,1.037,27.7,28.7
-P1-L2,145.8,81.2,1.071,74.9,80.2
-P1-L4,226.1,69.5,1.148,8.1,9.2
-P1-L3,326.4,109.2,0.932,96.1,89.6
-P1-L1,168.9,89.8,0.858,100.7,86.4
-P1-L1,600,61.9,2.501,37.8,94.4
-P1-L2,227.6,101.6,2.507,33.6,84.1
-P1-L4,600,83.7,2.492,35.9,89.4
-P1-L5,60,108.5,2.499,19.4,48.4
-P1-L3,600,75.7,2.51,36.1,90.5
-P2-L1,182.6,104,2.508,34.1,85.5
-P1-L2,600,61.5,1.387,59.5,82.6
-P1-L1,600,106.8,1.215,72.5,88.1
-P1-L3,600,84.7,1.793,48.3,86.5
-P2-L1,600,96.5,1.977,41.3,81.8
-P1-L5,600,110,1.236,34.8,43
-P1-L2,600,73.7,2.507,35.1,88
-P1-L3,134.4,110,1.53,55.8,85.3
-P2-L1,196.1,91.7,2.05,42.1,86.2
-P1-L1,227.9,106.5,0.786,108.5,85.3
-P2-L1,260.4,88.2,2.098,40,83.9
-P1-L2,600,80.8,1.996,47.6,95
-P1-L3,169.1,98.5,2.056,39.4,81
-P1-L1,236.9,105.3,0.739,106.8,78.9
-P1-L1,60,70.4,1.715,39.1,67
-P1-L3,60,82.1,2.295,40,91.8
-P1-L2,60,85.6,2.507,34.5,86.6
-P1-L1,600,97.7,0.715,115.4,82.5
-P1-L2,600,72.8,1.314,66.2,87
-P1-L3,319.6,94.9,1.171,71.4,83.6
-P1-L1,299.9,73.5,2.501,39.9,99.8
-P1-L3,237.1,95.6,1.554,51.4,79.9
-P1-L2,600,87,1.801,46.9,84.6
-P1-L2,196,110,1.412,59.9,84.5
-P1-L1,202.8,108.8,1.358,49.5,67.3
-P1-L2,205.1,76.3,1.655,50,82.7
-P1-L1,222.9,74.7,1.572,51.9,81.6
-P1-L1,167.6,73.2,2.287,38.4,87.9
-P1-L2,200.4,75.8,1.947,50.7,98.7
-P1-L2,600,84.2,2.507,35.5,88.9
-P1-L3,600,98.2,2.51,33,82.8
-P1-L1,600,97.7,2.501,33.5,83.8
-P1-L2,600,70.7,1.144,69.3,79.3
-P1-L3,149.9,93,2.51,33.6,84.2
-P1-L1,600,96.7,0.739,105.3,77.8
-P1-L3,216.2,105.7,1.386,61.7,85.6
-P1-L1,600,97.3,0.715,118.5,84.7
-P1-L1,600,88.6,0.977,87.6,85.6
-P1-L2,600,77.4,1.193,66.2,78.9
-P1-L2,600,77.2,1.314,67.3,88.4
-P1-L3,126.4,97.6,2.51,28.9,72.6
-P1-L2,276.4,69.3,2.507,39.7,99.5
-P1-L1,60,110,0.643,129.4,83.2
-P1-L1,60,110,0.667,105.1,70.1
-P1-L2,258.2,71.6,2.507,33.7,84.5
-P1-L2,211.7,104.7,1.193,65.2,77.8
-P1-L1,113.3,110,1.12,81.4,91.1
-P1-L2,600,58.7,2.507,34.4,86.3
-P1-L1,60,110,1.096,86.3,94.5
-P1-L1,154.1,110,1.096,80.9,88.6
-P1-L2,600,72.4,2.507,33.7,84.4
-P1-L1,60,110,0.977,55.5,54.2
diff --git a/summit/benchmarks/experiment_emulator/emulator.py b/summit/benchmarks/experiment_emulator/emulator.py
deleted file mode 100644
index cefa3f6d..00000000
--- a/summit/benchmarks/experiment_emulator/emulator.py
+++ /dev/null
@@ -1,366 +0,0 @@
-from abc import ABC, abstractmethod
-
-import os
-import os.path as osp
-import numpy as np
-import json
-
-from sklearn.model_selection import train_test_split as sklearn_train_test_split
-import sklearn.preprocessing
-
-import matplotlib.pyplot as plt
-
-class Emulator(ABC):
-    """Base class for emulator training
-
-    Parameters
-    ---------
-    domain: summit.domain.Domain
-        The domain of the experiment
-    dataset: summit.utils.dataset.Dataset
-        The data points obtained from an experiment the emulator
-        is trained on.
-    model_name: string, optional
-        Name of the model that is used for saving model parameters. Should be unique.
-        By default: "dataset_emulator_model_name"
-
-    Notes
-    -----
-    Developers that subclass `Experiment` need to implement
-    `_run`, which runs the experiments.
-
-    """
-
-    def __init__(self, domain, dataset, model_name, kwargs={}):
-
-        self._domain = domain
-        self._dataset = dataset
-        self.model_name = str(model_name)
-        self._cat_to_descr = kwargs.get("cat_to_descr", False)
-
-        self._domain_preprocess()
-
-    @property
-    def domain(self):
-        """The  domain for the experiment"""
-        return self._domain
-
-    @property
-    def dataset(self):
-        """Dataset of all experiments trained on"""
-        return self._dataset
-
-    @property
-    def model(self):
-        """Model that is trained"""
-        return self._model
-
-    @abstractmethod
-    def _setup_model(self, **kwargs):
-        """ Setup model structure.
-
-        Arguments
-        ---------
-
-        Returns
-        -------
-        model
-            Should return a regression model that can be trained on experimental data.
-        """
-
-        raise NotImplementedError("_steup_model be implemented by subclasses of Emulator")
-
-    @abstractmethod
-    def train_model(self, verbose=True, parity_plot=False):
-        """ Train model on a given Summit Dataset.
-
-        Arguments
-        ---------
-
-        Returns
-        -------
-        model
-            Should return a regression model that is trained on experimental data.
-        """
-
-        raise NotImplementedError("_train_model be implemented by subclasses of Emulator")
-
-    @abstractmethod
-    def validate_model(self):
-        """ Validate a model on a given Summit Dataset.
-
-        Arguments
-        ---------
-
-        Returns
-        -------
-        model
-            Should return evaluation values w.r.t. the accuracy of the
-             regression model.
-        """
-
-        raise NotImplementedError("_validate_model be implemented by subclasses of Emulator")
-
-    @abstractmethod
-    def infer_model(self):
-        raise NotImplementedError("_infer_model be implemented by subclasses of Emulator")
-
-    @abstractmethod
-    def _save_model(self, **kwargs):
-        raise NotImplementedError("_save_model be implemented by subclasses of Emulator")
-
-    def _domain_preprocess(self, **kwargs):
-
-        self.input_dim = 0
-        self.output_dim = 0
-        self.out_mean = np.asarray([])
-        self.output_models = {}
-        input_names_continuous, input_names_categorical, input_names_descriptors = [], [], []
-
-        for i, v in enumerate(self._domain.variables):
-            if not v.is_objective:
-                if v.variable_type == "continuous":
-                    self.input_dim += 1
-                    input_names_continuous.append(v.name)
-                elif v.variable_type == "descriptors" or (v.variable_type == "categorical" and self._cat_to_descr == True):
-                    if v.ds is None:
-                        raise ValueError("No descriptors are defined for categorical variable {}".format(v.name))
-                    self.input_dim += v.num_descriptors
-                    input_names_descriptors.extend(v.ds.data_columns)
-                elif v.variable_type == "categorical":
-                    self.input_dim += len(v.levels)
-                    input_names_categorical.append(v.name)
-                    # create one-hot tensor for categorical inputs
-                else:
-                    raise TypeError("Unknown variable type: {}.".format(v.variable_type))
-            else:
-                if v.variable_type == "continuous":
-                    self.output_dim += 1
-                    self.output_models[v.name] = ""
-                elif v.variable_type == "categorical":
-                    raise TypeError(
-                        "{} is a categorical variable. BNN regressor not trainable for categorical outputs.".format(v.name))
-                elif v.variable_type == "descriptors":
-                    raise TypeError(
-                        "{} is a descriptor variable. BNN regressor not trainable for descriptor outputs.".format(
-                            v.name))
-                else:
-                    raise TypeError("Unknown variable type: {}.".format(v.variable_type))
-        self.input_names = []
-        self.input_names_transformable = input_names_continuous + input_names_descriptors
-        self.input_names = self.input_names_transformable + input_names_categorical
-
-    def _data_preprocess(
-            self, inference=False, infer_dataset=None, validate=False, transform_input="standardize",
-            transform_output="standardize", test_size=0.1, shuffle=False, kwargs={}
-    ):
-        if not inference:
-            np_dataset = self._dataset.data_to_numpy()
-            data_column_names = self._dataset.data_columns
-        else:
-            np_dataset = infer_dataset.data_to_numpy()
-            if not validate:
-                data_column_names = [c[0] for c in infer_dataset.data_columns]
-            else:
-                data_column_names = infer_dataset.data_columns
-
-        self.input_data_continuous = []
-        self.input_data_categorical = []
-        self.input_data_descriptors = []
-        self.output_data = []
-        if not inference:
-            self.data_transformation_dict = {}
-
-        # this loop makes sure that the inputs are always in the same order and only
-        # data with the same column names as in the domain is considered
-        for v in self._domain.variables:
-            v_in_dataset = False
-            for i, c_name in enumerate(data_column_names):
-                if c_name == v.name:
-                    v_in_dataset = True
-                    if not v.is_objective:
-                        if v.variable_type == "continuous":
-                            # Standardize continuous inputs
-                            tmp_cont_inp = np.asarray(np_dataset[:, i], dtype=float)
-                            if not inference:
-                                tmp_cont_inp, _reduce, _divide = self._transform_data(data=tmp_cont_inp, transformation_type=transform_input)
-                                self.data_transformation_dict[v.name] = [_reduce, _divide]
-                            else:
-                                tmp_cont_inp, _, _ = self._transform_data(data=tmp_cont_inp, reduce=self.data_transformation_dict[v.name][0], divide=self.data_transformation_dict[v.name][1])
-                            self.input_data_continuous.append(tmp_cont_inp)
-                        elif v.variable_type == "descriptors" or (v.variable_type == "categorical" and self._cat_to_descr == True):
-                            tmp_descr_inp = []
-                            for ent in np_dataset[:, i]:
-                                tmp_descr_inp.append(v.ds.loc[[ent], :].values[0].tolist())
-                            tmp_descr_inp = np.asarray(tmp_descr_inp)
-                            for i in range(len(tmp_descr_inp[0])):
-                                if not inference:
-                                    tmp_descr_inp[:, i], _reduce, _divide = self._transform_data(data=tmp_descr_inp[:, i], transformation_type=transform_input)
-                                    self.data_transformation_dict[v.ds.data_columns[i]] = [_reduce, _divide]
-                                else:
-                                    tmp_descr_inp[:, i], _, _ = self._transform_data(data=tmp_descr_inp[:, i], reduce=self.data_transformation_dict[v.ds.data_columns[i]][0], divide=self.data_transformation_dict[v.ds.data_columns[i]][1])
-                            self.input_data_descriptors.append(np.asarray(tmp_descr_inp))
-                        elif v.variable_type == "categorical":
-                            # create one-hot tensor for categorical inputs
-                            one_hot_enc = sklearn.preprocessing.OneHotEncoder(categories=[v.levels])
-                            tmp_disc_inp_one_hot = one_hot_enc.fit_transform(np_dataset[:, i].reshape(-1, 1)).toarray()
-                            self.input_data_categorical.append(np.asarray(tmp_disc_inp_one_hot))
-                        else:
-                            raise TypeError("Unknown variable type: {}.".format(v.variable_type))
-                    elif not inference:
-                        if v.variable_type == "continuous":
-                            tmp_cont_out = np.asarray(np_dataset[:, i], dtype=float)
-                            if not inference:
-                                tmp_cont_out, _reduce, _divide = self._transform_data(data=tmp_cont_out, transformation_type=transform_output)
-                                self.data_transformation_dict[v.name] = [_reduce, _divide]
-                            self.output_data.append(tmp_cont_out)
-                        elif v.variable_type == "categorical":
-                            raise TypeError(
-                                "{} is a categorical variable. Regressor not trainable for categorical outputs.".format(
-                                    v.name))
-                        elif v.variable_type == "descriptors":
-                            raise TypeError(
-                                "{} is a descriptor variable. Regressor not trainable for descriptor outputs.".format(
-                                    v.name))
-                        else:
-                            raise TypeError("Unknown variable type: {}.".format(v.variable_type))
-                elif inference and v.is_objective:
-                    v_in_dataset = True
-            if v_in_dataset == False:
-                raise ValueError("Variable {} defined in the domain is missing in the given dataset.".format(v.name))
-
-        self.input_data_continuous = np.asarray(self.input_data_continuous).transpose()
-        if len(self.input_data_categorical) != 0:
-            self.input_data_categorical = np.concatenate([one_hot for one_hot in self.input_data_categorical], axis=1)
-        if len(self.input_data_descriptors) != 0:
-            self.input_data_descriptors = np.concatenate([d for d in self.input_data_descriptors], axis=1)
-        self.output_data = np.asarray(self.output_data).transpose()
-
-        # Set up training and test data
-        if not inference:
-            final_np_dataset = np.concatenate([inp for inp in [self.input_data_continuous, self.input_data_descriptors,
-                                                               self.input_data_categorical, self.output_data] if len(inp) != 0], axis=1)
-            X, y = final_np_dataset[:, :-self.output_dim], final_np_dataset[:, -self.output_dim:]
-            X_train, X_test, y_train, y_test = sklearn_train_test_split(X, y, test_size=test_size, shuffle=shuffle)
-            return [X_train.astype(dtype=float), y_train.astype(dtype=float)], [X_test.astype(dtype=float),
-                                                                                y_test.astype(dtype=float)]
-        else:
-            X = np.concatenate([inp for inp in [self.input_data_continuous, self.input_data_descriptors, self.input_data_categorical] if len(inp) != 0], axis=1)
-            return X.astype(dtype=float)
-
-    def _transform_data(self, data, transformation_type=None, reduce=None, divide=None, infer=False, kwargs={}):
-        """ Transform data according to transformation type (standardize, normalize)"""
-        if not infer:
-            if transformation_type == "standardize":
-                tmp_reduce = data.mean()
-                tmp_divide = data.std()
-            elif transformation_type == "normalize":
-                tmp_reduce = np.float64(0)
-                tmp_divide = data.mean()
-            elif transformation_type == "min_max":
-                min, max = kwargs.get("min", 0), kwargs.get("max", 1)
-                tmp_reduce = np.float64(min)
-                tmp_divide = np.float64(max - min)
-            else:
-                tmp_reduce = reduce if reduce else np.float64(0)
-                tmp_divide = divide if divide else np.float64(1)
-        else:
-            tmp_reduce, tmp_divide = reduce, divide
-        if tmp_divide == 0:
-            tmp_divide = 1
-            print("Warning: denumerator in data transformation is 0, hence it is ignored and set to 1.")
-        transf_data = (data - tmp_reduce) / tmp_divide
-        return transf_data, tmp_reduce, tmp_divide
-
-    def _untransform_data(self, data, reduce=None, divide=None):
-        """ Untransform data -> revert _transform_data"""
-        tmp_reduce, tmp_divide = reduce, divide
-        untransf_data = data * tmp_divide + tmp_reduce
-        return untransf_data
-
-    def _save_model(self):
-        filename = osp.join(self.save_path, self.model_name + ".json")
-        """Save a strategy to a JSON file"""
-        with open(filename, "w") as f:
-            json.dump(self.output_models, f)
-
-    def _load_model(self, model_name):
-        filename = osp.join(self.save_path, model_name + ".json")
-        """Load a strategy from a JSON file"""
-        with open(filename, "r") as f:
-            output_model = json.load(f)
-        return output_model
-
-    def _check_file_path(self, file_path):
-        """ Check whether a file with the path <file_path> already exist. If yes, it asks the user, whether the existing file should be overwritten. """
-        if osp.isfile(file_path):
-            print("Warning: The file {} already exist.".format(file_path))
-            valid_input = False
-            while not valid_input:
-                tmp_input = str(input("Do you want to overwrite this file? If yes, type \'y\' or \'yes\', else type \'n\' or \'no\': "))
-                if tmp_input in ["y", "yes"]:
-                    overwrite = True
-                    valid_input = True
-                elif tmp_input in ["n", "no"]:
-                    overwrite = False
-                    valid_input = True
-            if not overwrite:
-                return False
-        return True
-
-
-    def create_parity_plot(self, datasets_real=None, datasets_pred=None, **kwargs):
-        """  Make a parity plot of the training and test dataset
-
-        Parameters
-        ----------
-        ax: `matplotlib.pyplot.axes`, optional
-            An existing axis to apply the plot to
-        y_pred: np-array, optional
-            Prediction values for y.
-        y_real: np-array, optional (required if y_pred != None)
-            Real values for y.
-
-        Returns
-        -------
-        if ax is None returns a tuple with the first component
-        as the a new figure and the second component the axis
-
-        if ax is a matplotlib axis, returns only the axis
-
-        Raises
-        ------
-        ValueError
-            If there are no points to plot
-        """
-        if datasets_pred == None or datasets_real == None:
-            raise ValueError("No points to plot.")
-        if (len(datasets_pred) != len(datasets_real)):
-            raise ValueError("Number of datasets with real points does not correspond to number of datasets with prediction points.")
-
-
-        ax = kwargs.get("ax", None)
-
-        if ax is None:
-            fig, ax = plt.subplots(1)
-            return_fig = True
-        else:
-            return_fig = False
-
-        marker_symbols = ["o", "x", "s", "p", "h", "+", "8"]
-        for i in range(len(datasets_pred)):
-            y_pred, y_real = datasets_pred[i], datasets_real[i]
-            if len(y_pred) != len(y_real):
-                raise ValueError("Number of real data points does not correspond to number of prediction data points.")
-            marker_symbol = marker_symbols[i] if i < len(marker_symbols) else marker_symbols[0]
-            ax.scatter(np.asarray(y_real), np.asarray(y_pred), marker=marker_symbol)
-
-        ax.set_xlabel("Experimental y", fontsize=16)
-        ax.set_ylabel("Predicted y", fontsize=16)
-        x = np.linspace(*ax.get_xlim())
-        ax.plot(x,x, c="black", linestyle="--", label="_nolegend_", zorder=0)
-
-        if return_fig:
-            return fig, ax
-        else:
-            return ax
\ No newline at end of file
diff --git a/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_aniline_cn_crosscoupling.json b/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_aniline_cn_crosscoupling.json
deleted file mode 100644
index 57a086e8..00000000
--- a/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_aniline_cn_crosscoupling.json
+++ /dev/null
@@ -1,1 +0,0 @@
-{"yld": {"model_save_dirs": ["baumgartner_aniline_cn_crosscoupling_yield_1", "baumgartner_aniline_cn_crosscoupling_yield_2", "baumgartner_aniline_cn_crosscoupling_yield_3", "baumgartner_aniline_cn_crosscoupling_yield_4", "baumgartner_aniline_cn_crosscoupling_yield_5", "baumgartner_aniline_cn_crosscoupling_yield_6", "baumgartner_aniline_cn_crosscoupling_yield_7", "baumgartner_aniline_cn_crosscoupling_yield_8", "baumgartner_aniline_cn_crosscoupling_yield_9", "baumgartner_aniline_cn_crosscoupling_yield_10"], "Final train MAE": 0.05946772173047066, "Final validation MAE": 0.08153662830591202, "Final test MAE": 0.0885457918047905, "data_transformation_dict": {"base_equivalents": [1.655750163382321, 0.48225544522431946], "temperature": [75.16770833333334, 29.318799055923098], "t_res": [708.2517596781228, 499.5337487592789], "yld": [0.0, 0.6195367967928377]}, "X variable names": ["base_equivalents", "temperature", "t_res", "catalyst", "base"], "X_train": [[2.1830154990089214, 30.000000029612714, 328.7177996532079, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [2.190881533939659, 100.00000074728192, 73.33119084670807, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [1.0931382036876003, 47.49999933526172, 75.12129523845613, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0], [2.186276408728867, 100.00000074728192, 673.2595093294592, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0], [1.1087665627995458, 30.000000029612714, 107.54117492538069, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [2.1830154990089214, 100.00000074728192, 1088.5122480497832, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [1.0979663874949397, 100.00000074728192, 1208.7111390772784, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [1.1087665627995458, 65.00000038844732, 1061.6457353586754, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [1.6431611671834718, 65.00000038844732, 325.58263079425626, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [1.663149856553672, 100.00000074728192, 74.29427784739812, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [2.190881533939659, 30.000000029612714, 1290.7638529422197, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [1.095440766292996, 100.00000074728192, 74.56623841947192, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [1.095440766292996, 30.000000029612714, 1256.0268596533756, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [2.2175331269527585, 65.00000038844732, 1278.5461120766686, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [1.6474054426553346, 30.000000029612714, 1119.23000708598, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0], [2.2175331269527585, 30.000000029612714, 74.04625599876931, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [1.0931382036876003, 100.00000074728192, 320.1163245289786, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0], [2.186276408728867, 65.00000038844732, 75.6613456934897, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0], [1.0979663874949397, 100.00000074728192, 1275.4929720524074, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [1.1087665627995458, 100.00000074728192, 1065.2189173527026, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [2.186276408728867, 100.00000074728192, 1218.1326941266916, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0], [2.190881533939659, 100.00000074728192, 1250.7185370530228, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [2.186276408728867, 100.00000074728192, 1290.1378136397866, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0], [1.0979663874949397, 100.00000074728192, 1427.9566770060037, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [1.095440766292996, 100.00000074728192, 1178.9814478738244, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [1.1087665627995458, 100.00000074728192, 1400.8001008275799, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [2.190881533939659, 63.099999954551905, 1163.4395591969508, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [2.184629914346101, 63.099999954551905, 1322.1746142025263, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [1.5770626791116562, 100.00000074728192, 503.98282605566556, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [1.5382896910347073, 100.00000074728192, 493.42121907671174, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [2.0646316043141293, 100.00000074728192, 551.7205559560774, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0], [2.187893181128536, 100.00000074728192, 456.4210934118258, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0], [1.0987783667778372, 100.00000074728192, 460.24132958220315, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [2.1925017556990682, 100.00000074728192, 454.19199332545793, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [2.189443840799847, 30.000000029612714, 369.07012073822864, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0], [2.1921757337142687, 100.00000074728192, 74.53926269379872, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0], [2.1864541657341574, 100.00000074728192, 682.144017429719, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0], [2.189443840799847, 100.00000074728192, 1250.1225104784908, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0], [1.1428378435929711, 30.000000029612714, 73.84122857384034, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0], [1.1006392963577998, 100.00000074728192, 1273.8228590232013, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0], [1.1428378435929711, 65.00000038844732, 1250.9315440524333, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0], [1.1006392963577998, 30.000000029612714, 357.990481570395, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0], [1.6463327600446387, 65.00000038844732, 320.09729860325547, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0], [1.65076575277254, 100.00000074728192, 74.52026654260726, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0], [1.100489824102381, 100.00000074728192, 75.76031623668803, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0], [1.100489824102381, 30.000000029612714, 1292.0508868472411, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0], [2.158693661053838, 65.00000038844732, 1061.7947271150426, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0], [1.6504202437017481, 30.000000029612714, 1271.9877355396013, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0], [2.158693661053838, 30.000000029612714, 73.62220711903683, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0], [1.100280160519492, 100.00000074728192, 326.5346714437048, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0], [2.1864541657341574, 65.00000038844732, 74.14921632920846, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0], [2.158693661053838, 100.00000074728192, 391.3483781023618, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0], [2.189443840799847, 100.00000074728192, 477.4873040288933, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0], [2.1864541657341574, 100.00000074728192, 472.8960414742221, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0], [1.1479786543714519, 100.00000074728192, 532.9614844728275, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0], [1.9889679725152491, 100.00000074728192, 476.99428244659794, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0], [1.1428378435929711, 100.00000074728192, 448.69067221096213, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0], [1.1006392963577998, 57.10000079177051, 1277.3290483210203, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0], [2.1864541657341574, 62.70000018512013, 1072.4513297372198, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0], [1.6815484333022594, 100.00000074728192, 386.2371033524563, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0], [1.5503629172270146, 100.00000074728192, 348.0038952338953, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0], [1.5939956220082636, 100.00000074728192, 416.22080108540035, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0], [1.0914533639223865, 30.000000029612714, 1257.923973711867, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0], [1.0995901735927478, 65.00000038844732, 75.23932148190931, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0], [1.11531080307775, 65.00000038844732, 1071.1122499508774, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0], [2.194146927827267, 100.00000074728192, 1263.449293098871, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0], [2.195900294872657, 100.00000074728192, 73.54122039295396, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0], [1.1019063611691182, 30.000000029612714, 75.11629311713921, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0], [2.2306216649984956, 100.00000074728192, 319.77227981578466, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0], [2.2306216649984956, 30.000000029612714, 1365.5070979347388, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0], [2.195900294872657, 65.00000038844732, 1070.6502385432937, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0], [2.199180406028491, 30.000000029612714, 381.76982194756795, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0], [1.11531080307775, 100.00000074728192, 75.6613456934897, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0], [2.199180406028491, 65.00000038844732, 75.43529744921716, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0], [1.6501735758546645, 30.000000029612714, 89.5111477368007, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0], [2.194146927827267, 30.000000029612714, 75.04727575277889, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0], [1.1019063611691182, 100.00000074728192, 1279.1381488639597, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0], [1.0995901735927478, 30.000000029612714, 327.66973613919424, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0], [1.6416417071506673, 100.00000074728192, 1180.1865124932185, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0], [1.507245151551849, 100.00000074728192, 1214.5824980710968, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0], [1.626154520272265, 100.00000074728192, 1300.9744330803082, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0], [1.5851986480005806, 100.00000074728192, 1215.8775710996633, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0], [1.5948644941683798, 100.00000074728192, 1275.0769027471567, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0], [2.199180406028491, 30.000000029612714, 1369.5123083829799, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0], [1.7021475479609411, 100.00000074728192, 1308.539843826778, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0], [1.1019063611691182, 88.49999973064601, 1092.5294874088104, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0], [1.0995901735927478, 88.49999973064601, 1393.362720567197, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0]], "y_train_real": [0.0428326390683651, 0.959689736366272, 0.031579431146383286, 0.7667679190635681, 0.07229898869991302, 1.0086957216262817, 1.0012139081954956, 0.08974038809537888, 0.915446937084198, 0.034514933824539185, 0.8545516729354858, 0.9169129133224487, 0.844733715057373, 0.08710314333438873, 0.07263834029436111, 0.01172595378011465, 0.2566535770893097, 0.10388346016407013, 1.0272033214569092, 0.1292644888162613, 0.8950525522232056, 1.0042906999588013, 0.8572500944137573, 1.0246715545654297, 1.0060404539108276, 0.12182106077671051, 0.9505259394645691, 0.8330773115158081, 0.9840744733810425, 0.9884334802627563, 0.9687927961349487, 0.7992416024208069, 0.9833153486251831, 0.9881621599197388, 0.3667188584804535, 1.0316002368927002, 0.9792205095291138, 0.9910858869552612, 0.17068468034267426, 1.023992657661438, 0.023792026564478874, 0.5148444771766663, 0.9672855138778687, 0.02220432460308075, 1.0101622343063354, 1.0250977277755737, 0.0295451320707798, 0.07528842240571976, 0.005340241361409426, 0.9323173761367798, 0.03929395601153374, 0.06609534472227097, 1.0303152799606323, 1.0033671855926514, 1.0259501934051514, 1.0062114000320435, 0.05644863098859787, 0.42191654443740845, 0.3534192740917206, 0.9981514811515808, 1.0267354249954224, 0.9240628480911255, 0.9737931489944458, 0.20809093117713928, 0.07330869883298874, 0.9427136182785034, 0.9793442487716675, 0.9292289018630981, 0.23282518982887268, 0.1462250053882599, 0.986319899559021, 0.04545397311449051, 0.05671264976263046, 0.15654624998569489, 0.5676664710044861, 0.9591377973556519, 0.9640809297561646, 0.0637369230389595, 0.994961142539978, 0.9969414472579956, 0.9896155595779419, 0.9473530054092407, 0.971831202507019, 0.08429262787103653, 0.9949086904525757, 0.9270056486129761, 0.9397083520889282], "y_train_pred_average": [0.17358125746250153, 0.981205940246582, 0.04061303287744522, 0.8076000213623047, 0.03334759920835495, 1.0225167274475098, 0.9825719594955444, 0.037342336028814316, 0.8538783192634583, 0.03899996727705002, 0.8118562698364258, 0.9391814470291138, 0.8509808778762817, 0.04605228826403618, 0.04281125217676163, 0.032408714294433594, 0.5241134762763977, 0.07366005331277847, 0.9902697801589966, 0.0763014554977417, 0.9021306037902832, 1.0230590105056763, 0.9128726124763489, 1.0075154304504395, 0.9728207588195801, 0.14549300074577332, 0.8854125738143921, 0.7768338322639465, 0.9574021100997925, 0.9290239214897156, 0.7660598158836365, 0.7562083601951599, 0.8990294337272644, 0.9888030886650085, 0.34567466378211975, 1.0309116840362549, 0.9202077984809875, 1.063469648361206, 0.03419175744056702, 1.0217924118041992, 0.0438525453209877, 0.4572896957397461, 0.9096487760543823, 0.04810698702931404, 1.0023181438446045, 0.904963493347168, 0.03935834392905235, 0.07422807067632675, 0.033084917813539505, 0.7690656781196594, 0.17261821031570435, 0.1196378841996193, 1.0257259607315063, 0.8957235217094421, 0.9819549322128296, 0.8817933201789856, 0.06345322728157043, 0.706016480922699, 0.41090336441993713, 1.0108522176742554, 0.9896125793457031, 0.8342944383621216, 0.7819968461990356, 0.2395428717136383, 0.06267346441745758, 1.0261918306350708, 0.9765969514846802, 0.9235756993293762, 0.18810373544692993, 0.04151565581560135, 0.8299003839492798, 0.04657192900776863, 0.06605986505746841, 0.24510273337364197, 0.5135495066642761, 0.858823299407959, 0.9960423707962036, 0.07537215948104858, 0.919610321521759, 1.0205541849136353, 0.9325739741325378, 0.9910930395126343, 0.9968533515930176, 0.16631945967674255, 1.0371735095977783, 0.9521616697311401, 0.8339263200759888], "X_test": [[2.186276408728867, 63.099999954551905, 1242.8490687893625, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0], [1.0979663874949397, 30.000000029612714, 377.9346240750374, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [2.0912078000722363, 100.00000074728192, 1350.932286045796, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0], [1.643193720516022, 65.00000038844732, 341.4145234093824, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0], [1.100489824102381, 100.00000074728192, 526.484109549109, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0], [1.1428378435929711, 30.000000029612714, 75.30732651219353, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0], [2.1921757337142687, 30.000000029612714, 1240.719951580269, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0], [1.0914533639223865, 100.00000074728192, 321.26338836072233, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0], [1.100280160519492, 47.49999933526172, 65.77078222155524, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0]], "y_test_real": [0.3153667449951172, 0.09345037490129471, 0.20735999941825867, 0.9458049535751343, 1.0008083581924438, 0.0054991464130580425, 1.0196715593338013, 0.9590209126472473, 0.043402109295129776], "y_test_pred_average": [0.36540645360946655, 0.291881263256073, 0.37779492139816284, 0.9195044636726379, 0.9992014169692993, 0.034194041043519974, 0.8190405964851379, 0.9497644305229187, 0.05876641720533371]}}
diff --git a/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_aniline_cn_crosscoupling_descriptors.json b/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_aniline_cn_crosscoupling_descriptors.json
deleted file mode 100644
index ae937610..00000000
--- a/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_aniline_cn_crosscoupling_descriptors.json
+++ /dev/null
@@ -1,1 +0,0 @@
-{"yield": {"model_save_dirs": ["baumgartner_aniline_cn_crosscoupling_descriptors_yield_1", "baumgartner_aniline_cn_crosscoupling_descriptors_yield_2", "baumgartner_aniline_cn_crosscoupling_descriptors_yield_3", "baumgartner_aniline_cn_crosscoupling_descriptors_yield_4", "baumgartner_aniline_cn_crosscoupling_descriptors_yield_5", "baumgartner_aniline_cn_crosscoupling_descriptors_yield_6", "baumgartner_aniline_cn_crosscoupling_descriptors_yield_7", "baumgartner_aniline_cn_crosscoupling_descriptors_yield_8", "baumgartner_aniline_cn_crosscoupling_descriptors_yield_9", "baumgartner_aniline_cn_crosscoupling_descriptors_yield_10"], "Final train MAE": 0.06416404247283936, "Final validation MAE": 0.07631564140319824, "Final test MAE": 0.08231036365032196, "data_transformation_dict": {"area_cat": [584.8769208333333, 152.79391097337884], "M2_cat": [92.80863749999999, 25.14805182469099], "M3_cat": [48.980116666666675, 22.25487933876649], "Macc3_cat": [2.9686833333333333, 0.8581368090552667], "Mdon3_cat": [0.0, 1], "area": [187.6954333333333, 26.222344582994587], "M2": [51.211955208333336, 22.843782243433107], "M3": [62.89051354166667, 36.78739499893731], "Macc3": [5.650322916666667, 3.6635598946891563], "Mdon3": [0.008060416666666667, 0.007573645081886851], "base_equivalents": [1.655750163382321, 0.48225544522431946], "temperature": [75.16770833333334, 29.318799055923098], "t_res": [708.2517596781228, 499.5337487592789], "yield": [0.0, 0.6195367967928377]}, "X variable names": ["base_equivalents", "temperature", "t_res", "area_cat", "M2_cat", "M3_cat", "Macc3_cat", "Mdon3_cat", "area", "M2", "M3", "Macc3", "Mdon3"], "X_train": [[2.1830154990089214, 30.000000029612714, 328.7177996532079, 460.7542992670404, 67.20569914447202, 30.841299680417844, 2.30429998648071, 0.0, 192.46929998407708, 59.83670021716571, 82.06609921736707, 7.420000023439264, -2.7528855063574387e-10], [2.190881533939659, 100.00000074728192, 73.33119084670807, 460.7542992670404, 67.20569914447202, 30.841299680417844, 2.30429998648071, 0.0, 227.35230129849597, 30.553999449713764, 14.367601651829084, 1.1195999294004233, 0.012699999808657839], [1.0931382036876003, 47.49999933526172, 75.12129523845613, 460.7542992670404, 67.20569914447202, 30.841299680417844, 2.30429998648071, 0.0, 165.5447004514203, 81.48470067620681, 107.0287015607372, 10.214999943455618, 0.016900000291398584], [2.186276408728867, 100.00000074728192, 673.2595093294592, 460.7542992670404, 67.20569914447202, 30.841299680417844, 2.30429998648071, 0.0, 165.5447004514203, 81.48470067620681, 107.0287015607372, 10.214999943455618, 0.016900000291398584], [1.1087665627995458, 30.000000029612714, 107.54117492538069, 460.7542992670404, 67.20569914447202, 30.841299680417844, 2.30429998648071, 0.0, 162.29919997473294, 25.816499378220207, 40.94689896007756, 3.027800049111197, -2.7528855063574387e-10], [2.1830154990089214, 100.00000074728192, 1088.5122480497832, 460.7542992670404, 67.20569914447202, 30.841299680417844, 2.30429998648071, 0.0, 192.46929998407708, 59.83670021716571, 82.06609921736707, 7.420000023439264, -2.7528855063574387e-10], [1.0979663874949397, 100.00000074728192, 1208.7111390772784, 460.7542992670404, 67.20569914447202, 30.841299680417844, 2.30429998648071, 0.0, 192.46929998407708, 59.83670021716571, 82.06609921736707, 7.420000023439264, -2.7528855063574387e-10], [1.1087665627995458, 65.00000038844732, 1061.6457353586754, 460.7542992670404, 67.20569914447202, 30.841299680417844, 2.30429998648071, 0.0, 162.29919997473294, 25.816499378220207, 40.94689896007756, 3.027800049111197, -2.7528855063574387e-10], [1.6431611671834718, 65.00000038844732, 325.58263079425626, 460.7542992670404, 67.20569914447202, 30.841299680417844, 2.30429998648071, 0.0, 227.35230129849597, 30.553999449713764, 14.367601651829084, 1.1195999294004233, 0.012699999808657839], [1.663149856553672, 100.00000074728192, 74.29427784739812, 460.7542992670404, 67.20569914447202, 30.841299680417844, 2.30429998648071, 0.0, 162.29919997473294, 25.816499378220207, 40.94689896007756, 3.027800049111197, -2.7528855063574387e-10], [2.190881533939659, 30.000000029612714, 1290.7638529422197, 460.7542992670404, 67.20569914447202, 30.841299680417844, 2.30429998648071, 0.0, 227.35230129849597, 30.553999449713764, 14.367601651829084, 1.1195999294004233, 0.012699999808657839], [1.095440766292996, 100.00000074728192, 74.56623841947192, 460.7542992670404, 67.20569914447202, 30.841299680417844, 2.30429998648071, 0.0, 227.35230129849597, 30.553999449713764, 14.367601651829084, 1.1195999294004233, 0.012699999808657839], [1.095440766292996, 30.000000029612714, 1256.0268596533756, 460.7542992670404, 67.20569914447202, 30.841299680417844, 2.30429998648071, 0.0, 227.35230129849597, 30.553999449713764, 14.367601651829084, 1.1195999294004233, 0.012699999808657839], [2.2175331269527585, 65.00000038844732, 1278.5461120766686, 460.7542992670404, 67.20569914447202, 30.841299680417844, 2.30429998648071, 0.0, 162.29919997473294, 25.816499378220207, 40.94689896007756, 3.027800049111197, -2.7528855063574387e-10], [1.6474054426553346, 30.000000029612714, 1119.23000708598, 460.7542992670404, 67.20569914447202, 30.841299680417844, 2.30429998648071, 0.0, 165.5447004514203, 81.48470067620681, 107.0287015607372, 10.214999943455618, 0.016900000291398584], [2.2175331269527585, 30.000000029612714, 74.04625599876931, 460.7542992670404, 67.20569914447202, 30.841299680417844, 2.30429998648071, 0.0, 162.29919997473294, 25.816499378220207, 40.94689896007756, 3.027800049111197, -2.7528855063574387e-10], [1.0931382036876003, 100.00000074728192, 320.1163245289786, 460.7542992670404, 67.20569914447202, 30.841299680417844, 2.30429998648071, 0.0, 165.5447004514203, 81.48470067620681, 107.0287015607372, 10.214999943455618, 0.016900000291398584], [2.186276408728867, 65.00000038844732, 75.6613456934897, 460.7542992670404, 67.20569914447202, 30.841299680417844, 2.30429998648071, 0.0, 165.5447004514203, 81.48470067620681, 107.0287015607372, 10.214999943455618, 0.016900000291398584], [1.0979663874949397, 100.00000074728192, 1275.4929720524074, 460.7542992670404, 67.20569914447202, 30.841299680417844, 2.30429998648071, 0.0, 192.46929998407708, 59.83670021716571, 82.06609921736707, 7.420000023439264, -2.7528855063574387e-10], [1.1087665627995458, 100.00000074728192, 1065.2189173527026, 460.7542992670404, 67.20569914447202, 30.841299680417844, 2.30429998648071, 0.0, 162.29919997473294, 25.816499378220207, 40.94689896007756, 3.027800049111197, -2.7528855063574387e-10], [2.186276408728867, 100.00000074728192, 1218.1326941266916, 460.7542992670404, 67.20569914447202, 30.841299680417844, 2.30429998648071, 0.0, 165.5447004514203, 81.48470067620681, 107.0287015607372, 10.214999943455618, 0.016900000291398584], [2.190881533939659, 100.00000074728192, 1250.7185370530228, 460.7542992670404, 67.20569914447202, 30.841299680417844, 2.30429998648071, 0.0, 227.35230129849597, 30.553999449713764, 14.367601651829084, 1.1195999294004233, 0.012699999808657839], [2.186276408728867, 100.00000074728192, 1290.1378136397866, 460.7542992670404, 67.20569914447202, 30.841299680417844, 2.30429998648071, 0.0, 165.5447004514203, 81.48470067620681, 107.0287015607372, 10.214999943455618, 0.016900000291398584], [1.0979663874949397, 100.00000074728192, 1427.9566770060037, 460.7542992670404, 67.20569914447202, 30.841299680417844, 2.30429998648071, 0.0, 192.46929998407708, 59.83670021716571, 82.06609921736707, 7.420000023439264, -2.7528855063574387e-10], [1.095440766292996, 100.00000074728192, 1178.9814478738244, 460.7542992670404, 67.20569914447202, 30.841299680417844, 2.30429998648071, 0.0, 227.35230129849597, 30.553999449713764, 14.367601651829084, 1.1195999294004233, 0.012699999808657839], [1.1087665627995458, 100.00000074728192, 1400.8001008275799, 460.7542992670404, 67.20569914447202, 30.841299680417844, 2.30429998648071, 0.0, 162.29919997473294, 25.816499378220207, 40.94689896007756, 3.027800049111197, -2.7528855063574387e-10], [2.190881533939659, 63.099999954551905, 1163.4395591969508, 460.7542992670404, 67.20569914447202, 30.841299680417844, 2.30429998648071, 0.0, 227.35230129849597, 30.553999449713764, 14.367601651829084, 1.1195999294004233, 0.012699999808657839], [2.184629914346101, 63.099999954551905, 1322.1746142025263, 460.7542992670404, 67.20569914447202, 30.841299680417844, 2.30429998648071, 0.0, 192.46929998407708, 59.83670021716571, 82.06609921736707, 7.420000023439264, -2.7528855063574387e-10], [1.5770626791116562, 100.00000074728192, 503.98282605566556, 460.7542992670404, 67.20569914447202, 30.841299680417844, 2.30429998648071, 0.0, 227.35230129849597, 30.553999449713764, 14.367601651829084, 1.1195999294004233, 0.012699999808657839], [1.5382896910347073, 100.00000074728192, 493.42121907671174, 460.7542992670404, 67.20569914447202, 30.841299680417844, 2.30429998648071, 0.0, 192.46929998407708, 59.83670021716571, 82.06609921736707, 7.420000023439264, -2.7528855063574387e-10], [2.0646316043141293, 100.00000074728192, 551.7205559560774, 460.7542992670404, 67.20569914447202, 30.841299680417844, 2.30429998648071, 0.0, 165.5447004514203, 81.48470067620681, 107.0287015607372, 10.214999943455618, 0.016900000291398584], [2.187893181128536, 100.00000074728192, 456.4210934118258, 460.7542992670404, 67.20569914447202, 30.841299680417844, 2.30429998648071, 0.0, 165.5447004514203, 81.48470067620681, 107.0287015607372, 10.214999943455618, 0.016900000291398584], [1.0987783667778372, 100.00000074728192, 460.24132958220315, 460.7542992670404, 67.20569914447202, 30.841299680417844, 2.30429998648071, 0.0, 192.46929998407708, 59.83670021716571, 82.06609921736707, 7.420000023439264, -2.7528855063574387e-10], [2.1925017556990682, 100.00000074728192, 454.19199332545793, 460.7542992670404, 67.20569914447202, 30.841299680417844, 2.30429998648071, 0.0, 227.35230129849597, 30.553999449713764, 14.367601651829084, 1.1195999294004233, 0.012699999808657839], [2.189443840799847, 30.000000029612714, 369.07012073822864, 518.8408019013419, 89.87380005511716, 39.44240001612706, 2.55480000044118, 0.0, 192.46929998407708, 59.83670021716571, 82.06609921736707, 7.420000023439264, -2.7528855063574387e-10], [2.1921757337142687, 100.00000074728192, 74.53926269379872, 518.8408019013419, 89.87380005511716, 39.44240001612706, 2.55480000044118, 0.0, 227.35230129849597, 30.553999449713764, 14.367601651829084, 1.1195999294004233, 0.012699999808657839], [2.1864541657341574, 100.00000074728192, 682.144017429719, 518.8408019013419, 89.87380005511716, 39.44240001612706, 2.55480000044118, 0.0, 165.5447004514203, 81.48470067620681, 107.0287015607372, 10.214999943455618, 0.016900000291398584], [2.189443840799847, 100.00000074728192, 1250.1225104784908, 518.8408019013419, 89.87380005511716, 39.44240001612706, 2.55480000044118, 0.0, 192.46929998407708, 59.83670021716571, 82.06609921736707, 7.420000023439264, -2.7528855063574387e-10], [1.1428378435929711, 30.000000029612714, 73.84122857384034, 518.8408019013419, 89.87380005511716, 39.44240001612706, 2.55480000044118, 0.0, 162.29919997473294, 25.816499378220207, 40.94689896007756, 3.027800049111197, -2.7528855063574387e-10], [1.1006392963577998, 100.00000074728192, 1273.8228590232013, 518.8408019013419, 89.87380005511716, 39.44240001612706, 2.55480000044118, 0.0, 192.46929998407708, 59.83670021716571, 82.06609921736707, 7.420000023439264, -2.7528855063574387e-10], [1.1428378435929711, 65.00000038844732, 1250.9315440524333, 518.8408019013419, 89.87380005511716, 39.44240001612706, 2.55480000044118, 0.0, 162.29919997473294, 25.816499378220207, 40.94689896007756, 3.027800049111197, -2.7528855063574387e-10], [1.1006392963577998, 30.000000029612714, 357.990481570395, 518.8408019013419, 89.87380005511716, 39.44240001612706, 2.55480000044118, 0.0, 192.46929998407708, 59.83670021716571, 82.06609921736707, 7.420000023439264, -2.7528855063574387e-10], [1.6463327600446387, 65.00000038844732, 320.09729860325547, 518.8408019013419, 89.87380005511716, 39.44240001612706, 2.55480000044118, 0.0, 227.35230129849597, 30.553999449713764, 14.367601651829084, 1.1195999294004233, 0.012699999808657839], [1.65076575277254, 100.00000074728192, 74.52026654260726, 518.8408019013419, 89.87380005511716, 39.44240001612706, 2.55480000044118, 0.0, 162.29919997473294, 25.816499378220207, 40.94689896007756, 3.027800049111197, -2.7528855063574387e-10], [1.100489824102381, 100.00000074728192, 75.76031623668803, 518.8408019013419, 89.87380005511716, 39.44240001612706, 2.55480000044118, 0.0, 227.35230129849597, 30.553999449713764, 14.367601651829084, 1.1195999294004233, 0.012699999808657839], [1.100489824102381, 30.000000029612714, 1292.0508868472411, 518.8408019013419, 89.87380005511716, 39.44240001612706, 2.55480000044118, 0.0, 227.35230129849597, 30.553999449713764, 14.367601651829084, 1.1195999294004233, 0.012699999808657839], [2.158693661053838, 65.00000038844732, 1061.7947271150426, 518.8408019013419, 89.87380005511716, 39.44240001612706, 2.55480000044118, 0.0, 162.29919997473294, 25.816499378220207, 40.94689896007756, 3.027800049111197, -2.7528855063574387e-10], [1.6504202437017481, 30.000000029612714, 1271.9877355396013, 518.8408019013419, 89.87380005511716, 39.44240001612706, 2.55480000044118, 0.0, 165.5447004514203, 81.48470067620681, 107.0287015607372, 10.214999943455618, 0.016900000291398584], [2.158693661053838, 30.000000029612714, 73.62220711903683, 518.8408019013419, 89.87380005511716, 39.44240001612706, 2.55480000044118, 0.0, 162.29919997473294, 25.816499378220207, 40.94689896007756, 3.027800049111197, -2.7528855063574387e-10], [1.100280160519492, 100.00000074728192, 326.5346714437048, 518.8408019013419, 89.87380005511716, 39.44240001612706, 2.55480000044118, 0.0, 165.5447004514203, 81.48470067620681, 107.0287015607372, 10.214999943455618, 0.016900000291398584], [2.1864541657341574, 65.00000038844732, 74.14921632920846, 518.8408019013419, 89.87380005511716, 39.44240001612706, 2.55480000044118, 0.0, 165.5447004514203, 81.48470067620681, 107.0287015607372, 10.214999943455618, 0.016900000291398584], [2.158693661053838, 100.00000074728192, 391.3483781023618, 518.8408019013419, 89.87380005511716, 39.44240001612706, 2.55480000044118, 0.0, 162.29919997473294, 25.816499378220207, 40.94689896007756, 3.027800049111197, -2.7528855063574387e-10], [2.189443840799847, 100.00000074728192, 477.4873040288933, 518.8408019013419, 89.87380005511716, 39.44240001612706, 2.55480000044118, 0.0, 192.46929998407708, 59.83670021716571, 82.06609921736707, 7.420000023439264, -2.7528855063574387e-10], [2.1864541657341574, 100.00000074728192, 472.8960414742221, 518.8408019013419, 89.87380005511716, 39.44240001612706, 2.55480000044118, 0.0, 165.5447004514203, 81.48470067620681, 107.0287015607372, 10.214999943455618, 0.016900000291398584], [1.1479786543714519, 100.00000074728192, 532.9614844728275, 518.8408019013419, 89.87380005511716, 39.44240001612706, 2.55480000044118, 0.0, 192.46929998407708, 59.83670021716571, 82.06609921736707, 7.420000023439264, -2.7528855063574387e-10], [1.9889679725152491, 100.00000074728192, 476.99428244659794, 518.8408019013419, 89.87380005511716, 39.44240001612706, 2.55480000044118, 0.0, 165.5447004514203, 81.48470067620681, 107.0287015607372, 10.214999943455618, 0.016900000291398584], [1.1428378435929711, 100.00000074728192, 448.69067221096213, 518.8408019013419, 89.87380005511716, 39.44240001612706, 2.55480000044118, 0.0, 162.29919997473294, 25.816499378220207, 40.94689896007756, 3.027800049111197, -2.7528855063574387e-10], [1.1006392963577998, 57.10000079177051, 1277.3290483210203, 518.8408019013419, 89.87380005511716, 39.44240001612706, 2.55480000044118, 0.0, 192.46929998407708, 59.83670021716571, 82.06609921736707, 7.420000023439264, -2.7528855063574387e-10], [2.1864541657341574, 62.70000018512013, 1072.4513297372198, 518.8408019013419, 89.87380005511716, 39.44240001612706, 2.55480000044118, 0.0, 165.5447004514203, 81.48470067620681, 107.0287015607372, 10.214999943455618, 0.016900000291398584], [1.6815484333022594, 100.00000074728192, 386.2371033524563, 518.8408019013419, 89.87380005511716, 39.44240001612706, 2.55480000044118, 0.0, 227.35230129849597, 30.553999449713764, 14.367601651829084, 1.1195999294004233, 0.012699999808657839], [1.5503629172270146, 100.00000074728192, 348.0038952338953, 518.8408019013419, 89.87380005511716, 39.44240001612706, 2.55480000044118, 0.0, 192.46929998407708, 59.83670021716571, 82.06609921736707, 7.420000023439264, -2.7528855063574387e-10], [1.5939956220082636, 100.00000074728192, 416.22080108540035, 518.8408019013419, 89.87380005511716, 39.44240001612706, 2.55480000044118, 0.0, 165.5447004514203, 81.48470067620681, 107.0287015607372, 10.214999943455618, 0.016900000291398584], [1.0914533639223865, 30.000000029612714, 1257.923973711867, 819.9330052745763, 129.0807988956296, 83.20170058195961, 4.295900009570747, 0.0, 192.46929998407708, 59.83670021716571, 82.06609921736707, 7.420000023439264, -2.7528855063574387e-10], [1.0995901735927478, 65.00000038844732, 75.23932148190931, 819.9330052745763, 129.0807988956296, 83.20170058195961, 4.295900009570747, 0.0, 165.5447004514203, 81.48470067620681, 107.0287015607372, 10.214999943455618, 0.016900000291398584], [1.11531080307775, 65.00000038844732, 1071.1122499508774, 819.9330052745763, 129.0807988956296, 83.20170058195961, 4.295900009570747, 0.0, 162.29919997473294, 25.816499378220207, 40.94689896007756, 3.027800049111197, -2.7528855063574387e-10], [2.194146927827267, 100.00000074728192, 1263.449293098871, 819.9330052745763, 129.0807988956296, 83.20170058195961, 4.295900009570747, 0.0, 227.35230129849597, 30.553999449713764, 14.367601651829084, 1.1195999294004233, 0.012699999808657839], [2.195900294872657, 100.00000074728192, 73.54122039295396, 819.9330052745763, 129.0807988956296, 83.20170058195961, 4.295900009570747, 0.0, 192.46929998407708, 59.83670021716571, 82.06609921736707, 7.420000023439264, -2.7528855063574387e-10], [1.1019063611691182, 30.000000029612714, 75.11629311713921, 819.9330052745763, 129.0807988956296, 83.20170058195961, 4.295900009570747, 0.0, 227.35230129849597, 30.553999449713764, 14.367601651829084, 1.1195999294004233, 0.012699999808657839], [2.2306216649984956, 100.00000074728192, 319.77227981578466, 819.9330052745763, 129.0807988956296, 83.20170058195961, 4.295900009570747, 0.0, 162.29919997473294, 25.816499378220207, 40.94689896007756, 3.027800049111197, -2.7528855063574387e-10], [2.2306216649984956, 30.000000029612714, 1365.5070979347388, 819.9330052745763, 129.0807988956296, 83.20170058195961, 4.295900009570747, 0.0, 162.29919997473294, 25.816499378220207, 40.94689896007756, 3.027800049111197, -2.7528855063574387e-10], [2.195900294872657, 65.00000038844732, 1070.6502385432937, 819.9330052745763, 129.0807988956296, 83.20170058195961, 4.295900009570747, 0.0, 192.46929998407708, 59.83670021716571, 82.06609921736707, 7.420000023439264, -2.7528855063574387e-10], [2.199180406028491, 30.000000029612714, 381.76982194756795, 819.9330052745763, 129.0807988956296, 83.20170058195961, 4.295900009570747, 0.0, 165.5447004514203, 81.48470067620681, 107.0287015607372, 10.214999943455618, 0.016900000291398584], [1.11531080307775, 100.00000074728192, 75.6613456934897, 819.9330052745763, 129.0807988956296, 83.20170058195961, 4.295900009570747, 0.0, 162.29919997473294, 25.816499378220207, 40.94689896007756, 3.027800049111197, -2.7528855063574387e-10], [2.199180406028491, 65.00000038844732, 75.43529744921716, 819.9330052745763, 129.0807988956296, 83.20170058195961, 4.295900009570747, 0.0, 165.5447004514203, 81.48470067620681, 107.0287015607372, 10.214999943455618, 0.016900000291398584], [1.6501735758546645, 30.000000029612714, 89.5111477368007, 819.9330052745763, 129.0807988956296, 83.20170058195961, 4.295900009570747, 0.0, 192.46929998407708, 59.83670021716571, 82.06609921736707, 7.420000023439264, -2.7528855063574387e-10], [2.194146927827267, 30.000000029612714, 75.04727575277889, 819.9330052745763, 129.0807988956296, 83.20170058195961, 4.295900009570747, 0.0, 227.35230129849597, 30.553999449713764, 14.367601651829084, 1.1195999294004233, 0.012699999808657839], [1.1019063611691182, 100.00000074728192, 1279.1381488639597, 819.9330052745763, 129.0807988956296, 83.20170058195961, 4.295900009570747, 0.0, 227.35230129849597, 30.553999449713764, 14.367601651829084, 1.1195999294004233, 0.012699999808657839], [1.0995901735927478, 30.000000029612714, 327.66973613919424, 819.9330052745763, 129.0807988956296, 83.20170058195961, 4.295900009570747, 0.0, 165.5447004514203, 81.48470067620681, 107.0287015607372, 10.214999943455618, 0.016900000291398584], [1.6416417071506673, 100.00000074728192, 1180.1865124932185, 819.9330052745763, 129.0807988956296, 83.20170058195961, 4.295900009570747, 0.0, 165.5447004514203, 81.48470067620681, 107.0287015607372, 10.214999943455618, 0.016900000291398584], [1.507245151551849, 100.00000074728192, 1214.5824980710968, 819.9330052745763, 129.0807988956296, 83.20170058195961, 4.295900009570747, 0.0, 192.46929998407708, 59.83670021716571, 82.06609921736707, 7.420000023439264, -2.7528855063574387e-10], [1.626154520272265, 100.00000074728192, 1300.9744330803082, 819.9330052745763, 129.0807988956296, 83.20170058195961, 4.295900009570747, 0.0, 165.5447004514203, 81.48470067620681, 107.0287015607372, 10.214999943455618, 0.016900000291398584], [1.5851986480005806, 100.00000074728192, 1215.8775710996633, 819.9330052745763, 129.0807988956296, 83.20170058195961, 4.295900009570747, 0.0, 227.35230129849597, 30.553999449713764, 14.367601651829084, 1.1195999294004233, 0.012699999808657839], [1.5948644941683798, 100.00000074728192, 1275.0769027471567, 819.9330052745763, 129.0807988956296, 83.20170058195961, 4.295900009570747, 0.0, 227.35230129849597, 30.553999449713764, 14.367601651829084, 1.1195999294004233, 0.012699999808657839], [2.199180406028491, 30.000000029612714, 1369.5123083829799, 819.9330052745763, 129.0807988956296, 83.20170058195961, 4.295900009570747, 0.0, 165.5447004514203, 81.48470067620681, 107.0287015607372, 10.214999943455618, 0.016900000291398584], [1.7021475479609411, 100.00000074728192, 1308.539843826778, 819.9330052745763, 129.0807988956296, 83.20170058195961, 4.295900009570747, 0.0, 192.46929998407708, 59.83670021716571, 82.06609921736707, 7.420000023439264, -2.7528855063574387e-10], [1.1019063611691182, 88.49999973064601, 1092.5294874088104, 819.9330052745763, 129.0807988956296, 83.20170058195961, 4.295900009570747, 0.0, 227.35230129849597, 30.553999449713764, 14.367601651829084, 1.1195999294004233, 0.012699999808657839], [1.0995901735927478, 88.49999973064601, 1393.362720567197, 819.9330052745763, 129.0807988956296, 83.20170058195961, 4.295900009570747, 0.0, 165.5447004514203, 81.48470067620681, 107.0287015607372, 10.214999943455618, 0.016900000291398584]], "y_train_real": [0.0428326390683651, 0.959689736366272, 0.031579431146383286, 0.7667679190635681, 0.07229898869991302, 1.0086957216262817, 1.0012139081954956, 0.08974038809537888, 0.915446937084198, 0.034514933824539185, 0.8545516729354858, 0.9169129133224487, 0.844733715057373, 0.08710314333438873, 0.07263834029436111, 0.01172595378011465, 0.2566535770893097, 0.10388346016407013, 1.0272033214569092, 0.1292644888162613, 0.8950525522232056, 1.0042906999588013, 0.8572500944137573, 1.0246715545654297, 1.0060404539108276, 0.12182106077671051, 0.9505259394645691, 0.8330773115158081, 0.9840744733810425, 0.9884334802627563, 0.9687927961349487, 0.7992416024208069, 0.9833153486251831, 0.9881621599197388, 0.3667188584804535, 1.0316002368927002, 0.9792205095291138, 0.9910858869552612, 0.17068468034267426, 1.023992657661438, 0.023792026564478874, 0.5148444771766663, 0.9672855138778687, 0.02220432460308075, 1.0101622343063354, 1.0250977277755737, 0.0295451320707798, 0.07528842240571976, 0.005340241361409426, 0.9323173761367798, 0.03929395601153374, 0.06609534472227097, 1.0303152799606323, 1.0033671855926514, 1.0259501934051514, 1.0062114000320435, 0.05644863098859787, 0.42191654443740845, 0.3534192740917206, 0.9981514811515808, 1.0267354249954224, 0.9240628480911255, 0.9737931489944458, 0.20809093117713928, 0.07330869883298874, 0.9427136182785034, 0.9793442487716675, 0.9292289018630981, 0.23282518982887268, 0.1462250053882599, 0.986319899559021, 0.04545397311449051, 0.05671264976263046, 0.15654624998569489, 0.5676664710044861, 0.9591377973556519, 0.9640809297561646, 0.0637369230389595, 0.994961142539978, 0.9969414472579956, 0.9896155595779419, 0.9473530054092407, 0.971831202507019, 0.08429262787103653, 0.9949086904525757, 0.9270056486129761, 0.9397083520889282], "y_train_pred_average": [0.1906973421573639, 0.9826298952102661, 0.04802817851305008, 0.8302221298217773, 0.06320283561944962, 1.0648605823516846, 1.0034520626068115, 0.04917696863412857, 0.9106467366218567, 0.05692478269338608, 0.8663638830184937, 0.9620910882949829, 0.8902267217636108, 0.04928886517882347, 0.04642721265554428, 0.039869505912065506, 0.644274890422821, 0.14524966478347778, 1.0107589960098267, 0.0776745080947876, 0.9124687314033508, 0.9954760670661926, 0.9236717224121094, 1.0275393724441528, 0.9610064625740051, 0.10779052972793579, 0.8995168805122375, 0.6550189256668091, 0.9635473489761353, 0.9564570188522339, 0.7980262041091919, 0.7915783524513245, 0.926205039024353, 0.9789830446243286, 0.29021304845809937, 0.9944497346878052, 0.8901746869087219, 1.1135095357894897, 0.07500015944242477, 1.0512359142303467, 0.05351673811674118, 0.37084415555000305, 0.9263713955879211, 0.05856988951563835, 0.9755986332893372, 0.9285279512405396, 0.049819864332675934, 0.05871276929974556, 0.046295661479234695, 0.730789303779602, 0.18548333644866943, 0.0812222957611084, 1.03415846824646, 0.8603822588920593, 0.9783535003662109, 0.8446375131607056, 0.06155068427324295, 0.586084246635437, 0.36421290040016174, 0.9767918586730957, 0.9814063906669617, 0.7943035364151001, 0.7550450563430786, 0.25677305459976196, 0.13912607729434967, 0.9780383110046387, 0.9859384298324585, 0.9855071306228638, 0.19871313869953156, 0.1381821185350418, 0.8557704091072083, 0.06680969893932343, 0.12292586266994476, 0.2569275200366974, 0.5520986914634705, 0.9364452362060547, 0.9658292531967163, 0.09993265569210052, 0.9347739219665527, 1.115053415298462, 0.9569784998893738, 0.957981288433075, 0.9638883471488953, 0.185922771692276, 1.1297192573547363, 0.9297520518302917, 0.8478044271469116], "X_test": [[2.186276408728867, 63.099999954551905, 1242.8490687893625, 460.7542992670404, 67.20569914447202, 30.841299680417844, 2.30429998648071, 0.0, 165.5447004514203, 81.48470067620681, 107.0287015607372, 10.214999943455618, 0.016900000291398584], [1.0979663874949397, 30.000000029612714, 377.9346240750374, 460.7542992670404, 67.20569914447202, 30.841299680417844, 2.30429998648071, 0.0, 192.46929998407708, 59.83670021716571, 82.06609921736707, 7.420000023439264, -2.7528855063574387e-10], [2.0912078000722363, 100.00000074728192, 1350.932286045796, 819.9330052745763, 129.0807988956296, 83.20170058195961, 4.295900009570747, 0.0, 162.29919997473294, 25.816499378220207, 40.94689896007756, 3.027800049111197, -2.7528855063574387e-10], [1.643193720516022, 65.00000038844732, 341.4145234093824, 819.9330052745763, 129.0807988956296, 83.20170058195961, 4.295900009570747, 0.0, 227.35230129849597, 30.553999449713764, 14.367601651829084, 1.1195999294004233, 0.012699999808657839], [1.100489824102381, 100.00000074728192, 526.484109549109, 518.8408019013419, 89.87380005511716, 39.44240001612706, 2.55480000044118, 0.0, 227.35230129849597, 30.553999449713764, 14.367601651829084, 1.1195999294004233, 0.012699999808657839], [1.1428378435929711, 30.000000029612714, 75.30732651219353, 518.8408019013419, 89.87380005511716, 39.44240001612706, 2.55480000044118, 0.0, 162.29919997473294, 25.816499378220207, 40.94689896007756, 3.027800049111197, -2.7528855063574387e-10], [2.1921757337142687, 30.000000029612714, 1240.719951580269, 518.8408019013419, 89.87380005511716, 39.44240001612706, 2.55480000044118, 0.0, 227.35230129849597, 30.553999449713764, 14.367601651829084, 1.1195999294004233, 0.012699999808657839], [1.0914533639223865, 100.00000074728192, 321.26338836072233, 819.9330052745763, 129.0807988956296, 83.20170058195961, 4.295900009570747, 0.0, 192.46929998407708, 59.83670021716571, 82.06609921736707, 7.420000023439264, -2.7528855063574387e-10], [1.100280160519492, 47.49999933526172, 65.77078222155524, 518.8408019013419, 89.87380005511716, 39.44240001612706, 2.55480000044118, 0.0, 165.5447004514203, 81.48470067620681, 107.0287015607372, 10.214999943455618, 0.016900000291398584]], "y_test_real": [0.3153667449951172, 0.09345037490129471, 0.20735999941825867, 0.9458049535751343, 1.0008083581924438, 0.0054991464130580425, 1.0196715593338013, 0.9590209126472473, 0.043402109295129776], "y_test_pred_average": [0.35168829560279846, 0.2850775718688965, 0.3828805088996887, 0.9104016423225403, 0.970429539680481, 0.07498714327812195, 0.9025710225105286, 0.9997428059577942, 0.05424542352557182]}}
\ No newline at end of file
diff --git a/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_aniline_cn_crosscoupling_descriptors_yield_10_BNN_model.pt b/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_aniline_cn_crosscoupling_descriptors_yield_10_BNN_model.pt
deleted file mode 100644
index 025270eb..00000000
Binary files a/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_aniline_cn_crosscoupling_descriptors_yield_10_BNN_model.pt and /dev/null differ
diff --git a/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_aniline_cn_crosscoupling_descriptors_yield_1_BNN_model.pt b/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_aniline_cn_crosscoupling_descriptors_yield_1_BNN_model.pt
deleted file mode 100644
index 16432a0b..00000000
Binary files a/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_aniline_cn_crosscoupling_descriptors_yield_1_BNN_model.pt and /dev/null differ
diff --git a/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_aniline_cn_crosscoupling_descriptors_yield_2_BNN_model.pt b/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_aniline_cn_crosscoupling_descriptors_yield_2_BNN_model.pt
deleted file mode 100644
index cec8b702..00000000
Binary files a/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_aniline_cn_crosscoupling_descriptors_yield_2_BNN_model.pt and /dev/null differ
diff --git a/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_aniline_cn_crosscoupling_descriptors_yield_3_BNN_model.pt b/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_aniline_cn_crosscoupling_descriptors_yield_3_BNN_model.pt
deleted file mode 100644
index 4119d465..00000000
Binary files a/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_aniline_cn_crosscoupling_descriptors_yield_3_BNN_model.pt and /dev/null differ
diff --git a/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_aniline_cn_crosscoupling_descriptors_yield_4_BNN_model.pt b/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_aniline_cn_crosscoupling_descriptors_yield_4_BNN_model.pt
deleted file mode 100644
index c3b9d9f3..00000000
Binary files a/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_aniline_cn_crosscoupling_descriptors_yield_4_BNN_model.pt and /dev/null differ
diff --git a/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_aniline_cn_crosscoupling_descriptors_yield_5_BNN_model.pt b/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_aniline_cn_crosscoupling_descriptors_yield_5_BNN_model.pt
deleted file mode 100644
index 6a4e6a1a..00000000
Binary files a/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_aniline_cn_crosscoupling_descriptors_yield_5_BNN_model.pt and /dev/null differ
diff --git a/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_aniline_cn_crosscoupling_descriptors_yield_6_BNN_model.pt b/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_aniline_cn_crosscoupling_descriptors_yield_6_BNN_model.pt
deleted file mode 100644
index 90713812..00000000
Binary files a/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_aniline_cn_crosscoupling_descriptors_yield_6_BNN_model.pt and /dev/null differ
diff --git a/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_aniline_cn_crosscoupling_descriptors_yield_7_BNN_model.pt b/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_aniline_cn_crosscoupling_descriptors_yield_7_BNN_model.pt
deleted file mode 100644
index 5566f505..00000000
Binary files a/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_aniline_cn_crosscoupling_descriptors_yield_7_BNN_model.pt and /dev/null differ
diff --git a/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_aniline_cn_crosscoupling_descriptors_yield_8_BNN_model.pt b/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_aniline_cn_crosscoupling_descriptors_yield_8_BNN_model.pt
deleted file mode 100644
index 257d0133..00000000
Binary files a/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_aniline_cn_crosscoupling_descriptors_yield_8_BNN_model.pt and /dev/null differ
diff --git a/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_aniline_cn_crosscoupling_descriptors_yield_9_BNN_model.pt b/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_aniline_cn_crosscoupling_descriptors_yield_9_BNN_model.pt
deleted file mode 100644
index 8e135f03..00000000
Binary files a/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_aniline_cn_crosscoupling_descriptors_yield_9_BNN_model.pt and /dev/null differ
diff --git a/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_aniline_cn_crosscoupling_yield_10_BNN_model.pt b/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_aniline_cn_crosscoupling_yield_10_BNN_model.pt
deleted file mode 100644
index 29464143..00000000
Binary files a/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_aniline_cn_crosscoupling_yield_10_BNN_model.pt and /dev/null differ
diff --git a/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_aniline_cn_crosscoupling_yield_1_BNN_model.pt b/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_aniline_cn_crosscoupling_yield_1_BNN_model.pt
deleted file mode 100644
index 62d2b0cc..00000000
Binary files a/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_aniline_cn_crosscoupling_yield_1_BNN_model.pt and /dev/null differ
diff --git a/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_aniline_cn_crosscoupling_yield_2_BNN_model.pt b/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_aniline_cn_crosscoupling_yield_2_BNN_model.pt
deleted file mode 100644
index 1e89948e..00000000
Binary files a/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_aniline_cn_crosscoupling_yield_2_BNN_model.pt and /dev/null differ
diff --git a/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_aniline_cn_crosscoupling_yield_3_BNN_model.pt b/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_aniline_cn_crosscoupling_yield_3_BNN_model.pt
deleted file mode 100644
index 6083893a..00000000
Binary files a/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_aniline_cn_crosscoupling_yield_3_BNN_model.pt and /dev/null differ
diff --git a/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_aniline_cn_crosscoupling_yield_4_BNN_model.pt b/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_aniline_cn_crosscoupling_yield_4_BNN_model.pt
deleted file mode 100644
index 3c1a078a..00000000
Binary files a/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_aniline_cn_crosscoupling_yield_4_BNN_model.pt and /dev/null differ
diff --git a/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_aniline_cn_crosscoupling_yield_5_BNN_model.pt b/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_aniline_cn_crosscoupling_yield_5_BNN_model.pt
deleted file mode 100644
index 3417f8d6..00000000
Binary files a/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_aniline_cn_crosscoupling_yield_5_BNN_model.pt and /dev/null differ
diff --git a/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_aniline_cn_crosscoupling_yield_6_BNN_model.pt b/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_aniline_cn_crosscoupling_yield_6_BNN_model.pt
deleted file mode 100644
index 66c7d3ff..00000000
Binary files a/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_aniline_cn_crosscoupling_yield_6_BNN_model.pt and /dev/null differ
diff --git a/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_aniline_cn_crosscoupling_yield_7_BNN_model.pt b/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_aniline_cn_crosscoupling_yield_7_BNN_model.pt
deleted file mode 100644
index ea0dbdab..00000000
Binary files a/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_aniline_cn_crosscoupling_yield_7_BNN_model.pt and /dev/null differ
diff --git a/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_aniline_cn_crosscoupling_yield_8_BNN_model.pt b/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_aniline_cn_crosscoupling_yield_8_BNN_model.pt
deleted file mode 100644
index 4264ecac..00000000
Binary files a/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_aniline_cn_crosscoupling_yield_8_BNN_model.pt and /dev/null differ
diff --git a/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_aniline_cn_crosscoupling_yield_9_BNN_model.pt b/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_aniline_cn_crosscoupling_yield_9_BNN_model.pt
deleted file mode 100644
index 35ae9f14..00000000
Binary files a/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_aniline_cn_crosscoupling_yield_9_BNN_model.pt and /dev/null differ
diff --git a/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_aniline_cn_crosscoupling_yield_BNN_model.pt b/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_aniline_cn_crosscoupling_yield_BNN_model.pt
deleted file mode 100644
index 2f93d6e6..00000000
Binary files a/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_aniline_cn_crosscoupling_yield_BNN_model.pt and /dev/null differ
diff --git a/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_aniline_crosscoupling_descriptors_ParityPlot_yield.png b/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_aniline_crosscoupling_descriptors_ParityPlot_yield.png
deleted file mode 100644
index e4e6b42d..00000000
Binary files a/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_aniline_crosscoupling_descriptors_ParityPlot_yield.png and /dev/null differ
diff --git a/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_aniline_crosscoupling_one-hot_ParityPlot_yield.png b/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_aniline_crosscoupling_one-hot_ParityPlot_yield.png
deleted file mode 100644
index e210b5f6..00000000
Binary files a/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_aniline_crosscoupling_one-hot_ParityPlot_yield.png and /dev/null differ
diff --git a/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_primary_amine.json b/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_primary_amine.json
deleted file mode 100644
index deaa5941..00000000
--- a/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_primary_amine.json
+++ /dev/null
@@ -1,1 +0,0 @@
-{"yld": {"model_save_dirs": ["baumgartner_primary_amine_yld_1", "baumgartner_primary_amine_yld_2"], "Final train MAE": 0.3909957706928253, "Final validation MAE": 0.3844578266143799, "Final test MAE": 0.37007373571395874, "data_transformation_dict": {"base_equivalents": [1.5954670972338725, 0.37627394661613595], "temperature": [74.98152173913044, 28.352148639334523], "t_res": [762.7667147335799, 613.8769307068764], "yld": [0.455340900535041, 0.4038752609291666]}, "X variable names": ["base_equivalents", "temperature", "t_res", "catalyst", "base"], "X_train": [[1.9698005789877109, 29.999998343656564, 80.44761361977623, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [1.9698005789877109, 64.99999976151535, 1490.9082463013133, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [1.0870458360901027, 99.9999994894544, 520.4667699135597, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [1.0878430053676826, 99.9999994894544, 78.62448444569873, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0], [1.0960987222187493, 29.999998343656564, 76.3203442307505, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [1.5329496393893927, 99.9999994894544, 80.14157555908537, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [1.9614595696888997, 29.999998343656564, 527.9602018407707, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [1.5339424733099485, 29.999998343656564, 1414.287863681925, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [1.526227476487517, 64.99999976151535, 723.8964049837787, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0], [1.099093713928406, 99.9999994894544, 1430.9388369337912, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [1.099093713928406, 29.999998343656564, 477.3763072719751, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [1.0878430053676826, 29.999998343656564, 1389.5454694992768, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0], [1.9687608095504534, 64.99999976151535, 76.71639348576218, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [1.0960987222187493, 64.99999976151535, 1670.9435877734204, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [1.9614595696888997, 99.9999994894544, 1565.1485280393263, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [1.9687608095504534, 99.9999994894544, 515.8555074054773, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [1.0870458360901027, 47.4999994750659, 79.70359425989, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [1.964611958821189, 99.9999994894544, 78.91852101381346, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0], [1.964611958821189, 29.999998343656564, 1577.9032606342566, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0], [1.9698005789877109, 99.9999994894544, 790.5022143881135, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [1.9698005789877109, 99.9999994894544, 285.4553168990468, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [1.964611958821189, 99.9999994894544, 284.3192731749518, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0], [1.099093713928406, 99.9999994894544, 330.8009075625744, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [1.9687608095504534, 99.9999994894544, 290.4156289145372, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [1.9698005789877109, 99.9999994894544, 1361.740901803816, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [1.0960987222187493, 99.9999994894544, 309.58969644103274, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [1.477350435215588, 68.80000020274066, 430.2366032380677, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [1.4694076853542801, 95.59999937880607, 1656.5977792541617, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [1.9698005789877109, 74.50000001961875, 73.71323950808812, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [1.6044343390806242, 82.89999982758015, 1574.33406065002, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [1.64414805895084, 82.70000036025242, 1744.805822495286, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [1.9687608095504534, 99.9999994894544, 1619.513606272967, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [1.964611958821189, 99.9999994894544, 1410.233627766015, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0], [1.0878430053676826, 99.9999994894544, 1636.4245874707049, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0], [1.0870458360901027, 99.9999994894544, 1403.2952282805327, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [1.525619742566202, 29.999998343656564, 74.86128472475923, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0], [1.1018364840058417, 64.99999976151535, 1442.494517968602, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0], [1.9747161646396805, 99.9999994894544, 1561.7343229409203, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0], [1.969514581277051, 29.999998343656564, 428.513510895402, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0], [1.0905576511407606, 64.99999976151535, 80.50359619185383, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0], [1.9736737711644563, 29.999998343656564, 1441.8224343843394, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0], [1.969514581277051, 64.99999976151535, 79.18950593460227, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0], [1.9663543424585375, 99.9999994894544, 88.74305992435256, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0], [1.0988340014527596, 99.9999994894544, 1535.64783476958, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0], [1.9663543424585375, 64.99999976151535, 1370.282378706203, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0], [1.9747161646396805, 29.999998343656564, 76.51339262962722, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0], [1.0897585530831368, 29.999998343656564, 1668.9894666986647, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0], [1.0905576511407606, 29.999998343656564, 411.0234942707834, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0], [1.0988340014527596, 29.999998343656564, 77.36644994035748, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0], [1.1018364840058417, 99.9999994894544, 76.53937147026454, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0], [1.5300361274227432, 99.9999994894544, 1662.2730948258406, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0], [1.0897585530831368, 99.9999994894544, 515.2974745906045, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0], [1.5367750662254638, 64.99999976151535, 432.27173438771234, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0], [1.9736737711644563, 99.9999994894544, 525.6990730725396, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0], [1.8307436790857612, 99.9999994894544, 410.1924640897203, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0], [1.546313107818116, 99.9999994894544, 442.6373283919191, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0], [1.6346378024439618, 99.9999994894544, 404.46511765693396, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0], [1.4889996723459138, 99.9999994894544, 420.70306393258295, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0], [1.9663543424585375, 90.69999933239862, 346.1328143285596, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0], [1.9736737711644563, 90.69999933239862, 325.1366055557291, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0], [1.9747161646396805, 90.69999933239862, 277.19185018139586, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0], [1.9747161646396805, 48.10000041192871, 417.9648941294095, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0], [1.9663543424585375, 48.10000041192871, 359.26453283206223, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0], [1.9663543424585375, 81.5999999101104, 613.5710928164908, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0], [1.9747161646396805, 81.5999999101104, 514.0484046147789, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0], [1.9663543424585375, 92.30000014077972, 768.1449350488207, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0], [1.4571494134974932, 96.59999925032434, 567.7924787874388, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0], [1.9663543424585375, 91.59999989273297, 811.492413267177, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0], [1.5288124959064398, 94.29999988381627, 586.5305408702241, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0]], "y_train_real": [0.13503605127334595, 0.9498788118362427, 0.10580679774284363, 0.00515216588973999, 0.10224905610084534, 0.9871302843093872, 0.026321977376937866, 0.023406773805618286, 0.006430894136428833, 0.04498377442359924, 0.021403759717941284, 0.0009999871253967285, 0.03021577000617981, 0.8181260228157043, 0.017582058906555176, 0.2140020877122879, 0.008396625518798828, 0.005128741264343262, 0.0009999871253967285, 0.9440469741821289, 0.9971290826797485, 0.00660744309425354, 0.05303648114204407, 0.2077941596508026, 1.0063467025756836, 0.8253666162490845, 0.9053733348846436, 0.966742992401123, 0.936737060546875, 0.9774587154388428, 1.0013302564620972, 0.24430523812770844, 0.004451572895050049, 0.005091995000839233, 0.07242059707641602, 0.03848612308502197, 0.09256142377853394, 0.9992960691452026, 0.017580747604370117, 0.013171136379241943, 0.055968523025512695, 0.020224809646606445, 0.5128985047340393, 0.8411064743995667, 0.503900408744812, 0.2164921760559082, 0.057185351848602295, 0.011255800724029541, 0.1506812572479248, 0.26356762647628784, 0.15878736972808838, 0.27314209938049316, 0.9710001945495605, 0.576209545135498, 0.8715738654136658, 0.143173485994339, 0.3360029458999634, 0.984466552734375, 0.68105149269104, 0.3820013403892517, 0.9818918704986572, 0.6160035133361816, 0.13827547430992126, 0.6573428511619568, 0.9737497568130493, 0.9012389183044434, 0.9827636480331421, 0.9176665544509888, 0.9940835237503052], "y_train_pred_average": [0.47756946086883545, 0.4763370752334595, 0.47600430250167847, 0.47590601444244385, 0.47708839178085327, 0.4766328036785126, 0.4779050946235657, 0.47609513998031616, 0.4752982258796692, 0.47575974464416504, 0.4773569107055664, 0.47495168447494507, 0.47697776556015015, 0.4759897291660309, 0.47561901807785034, 0.4757777452468872, 0.47633683681488037, 0.47505372762680054, 0.47627830505371094, 0.47617295384407043, 0.4769439101219177, 0.47505664825439453, 0.4760473668575287, 0.4759546220302582, 0.47544723749160767, 0.4762899875640869, 0.47685903310775757, 0.47533178329467773, 0.47760605812072754, 0.47563332319259644, 0.4756008982658386, 0.47516119480133057, 0.4750075340270996, 0.4749888777732849, 0.4755585789680481, 0.47713059186935425, 0.4763195514678955, 0.47641775012016296, 0.47583454847335815, 0.4761141538619995, 0.4775392413139343, 0.475830614566803, 0.4758436381816864, 0.47585970163345337, 0.4764738380908966, 0.4779789447784424, 0.4764336943626404, 0.47506171464920044, 0.47717025876045227, 0.4761051535606384, 0.47567421197891235, 0.47595924139022827, 0.4778040051460266, 0.47658562660217285, 0.47574689984321594, 0.47529715299606323, 0.4767194390296936, 0.4769275486469269, 0.47631680965423584, 0.4772428274154663, 0.47737208008766174, 0.47803449630737305, 0.4774166941642761, 0.4768591821193695, 0.47782373428344727, 0.47612375020980835, 0.47695279121398926, 0.47616392374038696, 0.47705918550491333], "X_test": [[1.9580135798641503, 99.9999994894544, 74.95027140142122, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0], [1.9611604293607328, 64.99999976151535, 75.25228457130913, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0], [1.0971627808279523, 99.9999994894544, 78.42550848036672, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0], [1.9663399214635597, 99.9999994894544, 544.3111377782338, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0], [1.0971627808279523, 64.99999976151535, 1541.7131988499825, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0], [1.0941730371942282, 99.9999994894544, 492.2041513497636, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0], [1.085931808621164, 64.99999976151535, 76.56637482856081, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0], [1.9653019910956462, 29.999998343656564, 77.28039045700677, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0], [1.9611604293607328, 29.999998343656564, 395.0206016180275, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0], [1.5312475638908054, 64.99999976151535, 498.0054825934917, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0], [1.9653019910956462, 99.9999994894544, 1712.4179652828238, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0], [1.085931808621164, 29.999998343656564, 539.8538822282394, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0], [1.0941730371942282, 29.999998343656564, 1600.6005712100023, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0], [1.0851360747147791, 99.9999994894544, 1375.9336912927297, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0], [1.5235461245978672, 99.9999994894544, 1380.454924311533, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0], [1.9663399214635597, 29.999998343656564, 1674.8538057784174, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0], [1.5191484724568078, 29.999998343656564, 75.31829278047769, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0], [1.0851360747147791, 29.999998343656564, 75.18232465117035, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0], [1.9580135798641503, 64.99999976151535, 1623.838900289499, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0], [1.2966349926035408, 99.9999994894544, 1701.7533218919566, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0], [1.5223276850883092, 99.9999994894544, 1442.3384985651123, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0], [1.6710633153877237, 99.9999994894544, 1649.7383408082505, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0], [1.579475835604953, 99.9999994894544, 1595.40721801702, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0]], "y_test_real": [0.9858258962631226, 0.032566189765930176, 0.6475951075553894, 0.9194723963737488, 0.7126898765563965, 0.8214771151542664, 0.07626661658287048, 0.06396102905273438, 0.05241093039512634, 0.30662909150123596, 0.9744037389755249, 0.03258174657821655, 0.8406843543052673, 0.7521051168441772, 0.29173481464385986, 0.9312868118286133, 0.14424583315849304, 0.054334402084350586, 0.954395055770874, 0.42119404673576355, 0.9723033905029297, 0.932119607925415, 0.9787865877151489], "y_test_pred_average": [0.477138876914978, 0.4766072630882263, 0.47668224573135376, 0.4781463146209717, 0.47696900367736816, 0.477072536945343, 0.4766051173210144, 0.4775034189224243, 0.4768715500831604, 0.47684556245803833, 0.47626572847366333, 0.47565174102783203, 0.4769943356513977, 0.4764566719532013, 0.47619155049324036, 0.4781954884529114, 0.47796791791915894, 0.4766990542411804, 0.4782293438911438, 0.4757438898086548, 0.47699788212776184, 0.47661611437797546, 0.47644758224487305]}}
\ No newline at end of file
diff --git a/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_primary_amine_yld_10_BNN_model.pt b/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_primary_amine_yld_10_BNN_model.pt
deleted file mode 100644
index e8c0a72d..00000000
Binary files a/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_primary_amine_yld_10_BNN_model.pt and /dev/null differ
diff --git a/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_primary_amine_yld_1_BNN_model.pt b/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_primary_amine_yld_1_BNN_model.pt
deleted file mode 100644
index c5be1a6c..00000000
Binary files a/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_primary_amine_yld_1_BNN_model.pt and /dev/null differ
diff --git a/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_primary_amine_yld_2_BNN_model.pt b/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_primary_amine_yld_2_BNN_model.pt
deleted file mode 100644
index dd28ca56..00000000
Binary files a/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_primary_amine_yld_2_BNN_model.pt and /dev/null differ
diff --git a/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_primary_amine_yld_3_BNN_model.pt b/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_primary_amine_yld_3_BNN_model.pt
deleted file mode 100644
index 60c0b2d9..00000000
Binary files a/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_primary_amine_yld_3_BNN_model.pt and /dev/null differ
diff --git a/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_primary_amine_yld_4_BNN_model.pt b/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_primary_amine_yld_4_BNN_model.pt
deleted file mode 100644
index 5669b40f..00000000
Binary files a/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_primary_amine_yld_4_BNN_model.pt and /dev/null differ
diff --git a/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_primary_amine_yld_5_BNN_model.pt b/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_primary_amine_yld_5_BNN_model.pt
deleted file mode 100644
index 67c4a392..00000000
Binary files a/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_primary_amine_yld_5_BNN_model.pt and /dev/null differ
diff --git a/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_primary_amine_yld_6_BNN_model.pt b/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_primary_amine_yld_6_BNN_model.pt
deleted file mode 100644
index ae2c19f5..00000000
Binary files a/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_primary_amine_yld_6_BNN_model.pt and /dev/null differ
diff --git a/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_primary_amine_yld_7_BNN_model.pt b/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_primary_amine_yld_7_BNN_model.pt
deleted file mode 100644
index ac4f097a..00000000
Binary files a/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_primary_amine_yld_7_BNN_model.pt and /dev/null differ
diff --git a/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_primary_amine_yld_8_BNN_model.pt b/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_primary_amine_yld_8_BNN_model.pt
deleted file mode 100644
index 4ad9e739..00000000
Binary files a/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_primary_amine_yld_8_BNN_model.pt and /dev/null differ
diff --git a/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_primary_amine_yld_9_BNN_model.pt b/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_primary_amine_yld_9_BNN_model.pt
deleted file mode 100644
index 9142f5e2..00000000
Binary files a/summit/benchmarks/experiment_emulator/trained_models/BNN/baumgartner_primary_amine_yld_9_BNN_model.pt and /dev/null differ
diff --git a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case1.json b/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case1.json
deleted file mode 100644
index e5799447..00000000
--- a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case1.json
+++ /dev/null
@@ -1,1 +0,0 @@
-{"ton": {"model_save_dirs": ["reizman_suzuki_case1_ton_1", "reizman_suzuki_case1_ton_2", "reizman_suzuki_case1_ton_3", "reizman_suzuki_case1_ton_4", "reizman_suzuki_case1_ton_5", "reizman_suzuki_case1_ton_6", "reizman_suzuki_case1_ton_7", "reizman_suzuki_case1_ton_8", "reizman_suzuki_case1_ton_9", "reizman_suzuki_case1_ton_10"], "Final train MAE": 15.981582641601562, "Final validation MAE": 16.42268180847168, "Final test MAE": 19.511432647705078, "data_transformation_dict": {"t_res": [350.44895833333334, 248.13987780533836], "temperature": [91.80833333333332, 28.760196259568342], "catalyst_loading": [1.6334999999999997, 0.8044149400858573], "ton": [29.130208333333332, 24.764465973579913], "yield": [43.925000000000004, 33.20368014241795]}, "X variable names": ["t_res", "temperature", "catalyst_loading", "catalyst"], "X_train": [[600.0000072186151, 29.999999384783145, 0.49799995824841514, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [600.0000072186151, 29.999999384783145, 2.514999980812814, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0], [60.000008619390144, 29.999999384783145, 2.5080000259476627, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [60.000008619390144, 29.999999384783145, 0.5130000396192445, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [600.0000072186151, 29.999999384783145, 2.513000021106695, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [60.000008619390144, 29.999999384783145, 0.5080000444602124, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [600.0000072186151, 29.999999384783145, 0.5059999888603597, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [60.000008619390144, 29.999999384783145, 2.5090000058007225, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [600.0000072186151, 110.00000066851194, 0.4959999985422958, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [600.0000072186151, 110.00000066851194, 0.5119999638724513, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [60.000008619390144, 110.00000066851194, 0.49799995824841514, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0], [600.0000072186151, 110.00000066851194, 2.5090000058007225, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [60.000008619390144, 110.00000066851194, 2.4990000154826584, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [60.000008619390144, 110.00000066851194, 0.5080000444602124, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [60.000008619390144, 110.00000066851194, 2.4890000251645947, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [189.70000424574354, 65.30000042050203, 1.1229999764366767, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [189.70000424574354, 65.30000042050203, 1.1059999833065945, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [600.0000072186151, 65.30000042050203, 2.514999980812814, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0], [189.70000424574354, 65.30000042050203, 2.5090000058007225, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [189.70000424574354, 65.30000042050203, 2.5080000259476627, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [189.70000424574354, 65.30000042050203, 1.1059999833065945, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [600.0000072186151, 65.30000042050203, 1.128999999395635, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [600.0000072186151, 110.00000066851194, 1.1059999833065945, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [600.0000072186151, 110.00000066851194, 2.5090000058007225, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [600.0000072186151, 110.00000066851194, 2.4990000154826584, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [189.70000424574354, 110.00000066851194, 2.4890000251645947, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [600.0000072186151, 110.00000066851194, 2.5120000412536347, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [600.0000072186151, 110.00000066851194, 1.1310000070486212, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [600.0000072186151, 29.999999384783145, 0.5119999638724513, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [600.0000072186151, 29.999999384783145, 0.5080000444602124, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [600.0000072186151, 29.999999384783145, 0.5130000396192445, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [60.000008619390144, 110.00000066851194, 2.513000021106695, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [60.000008619390144, 110.00000066851194, 2.4890000251645947, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [60.000008619390144, 110.00000066851194, 2.514999980812814, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0], [60.000008619390144, 110.00000066851194, 2.4990000154826584, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [60.000008619390144, 67.49999939726058, 2.5080000259476627, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [60.000008619390144, 66.70000070438908, 2.5120000412536347, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [60.000008619390144, 66.99999978565558, 2.4890000251645947, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [60.000008619390144, 66.29999964371206, 2.5090000058007225, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [60.000008619390144, 66.99999978565558, 2.5090000058007225, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [155.60000138161993, 110.00000066851194, 2.4990000154826584, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [109.3000065578112, 110.00000066851194, 2.48199997440571, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [104.49999565831578, 110.00000066851194, 2.5090000058007225, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [109.19999462175937, 110.00000066851194, 2.48199997440571, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [166.50000086581326, 110.00000066851194, 2.4890000251645947, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [60.000008619390144, 110.00000066851194, 0.5119999638724513, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [60.000008619390144, 110.00000066851194, 0.5059999888603597, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [60.000008619390144, 110.00000066851194, 0.49799995824841514, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [60.000008619390144, 110.00000066851194, 0.5119999638724513, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [600.0000072186151, 110.00000066851194, 0.967999982666086, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [600.0000072186151, 110.00000066851194, 0.9710000181189985, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [600.0000072186151, 110.00000066851194, 0.9570000124949624, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [600.0000072186151, 110.00000066851194, 1.268000003862637, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [600.0000072186151, 110.00000066851194, 0.8140000166954217, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [161.70000475660711, 110.00000066851194, 2.1040000143442006, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [146.1000063089702, 110.00000066851194, 2.5090000058007225, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [185.500005801402, 110.00000066851194, 2.4890000251645947, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [176.49999645756506, 110.00000066851194, 2.4990000154826584, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [60.000008619390144, 110.00000066851194, 2.2660000109268092, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [60.000008619390144, 110.00000066851194, 1.9150000103400124, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [60.000008619390144, 110.00000066851194, 2.302999984693019, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [60.000008619390144, 110.00000066851194, 2.3230000132760136, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [600.0000072186151, 110.00000066851194, 2.5080000259476627, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [600.0000072186151, 110.00000066851194, 2.5080000259476627, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [600.0000072186151, 67.30000058116335, 1.2140000129929116, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [600.0000072186151, 68.69999915080912, 1.268000003862637, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [199.29999646415584, 110.00000066851194, 1.2409999964410576, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [202.80000009787022, 110.00000066851194, 1.5920000000245336, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [600.0000072186151, 110.00000066851194, 1.159999998149753, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [600.0000072186151, 110.00000066851194, 1.159999998149753, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [600.0000072186151, 110.00000066851194, 1.1059999833065945, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [600.0000072186151, 110.00000066851194, 1.1059999833065945, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [600.0000072186151, 110.00000066851194, 1.186999981597899, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [600.0000072186151, 110.00000066851194, 1.1059999833065945, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [600.0000072186151, 66.29999964371206, 0.9980000015671444, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [600.0000072186151, 67.59999966242984, 0.9980000015671444, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [600.0000072186151, 110.00000066851194, 1.2409999964410576, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [600.0000072186151, 110.00000066851194, 1.268000003862637, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [600.0000072186151, 110.00000066851194, 1.186999981597899, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [189.10000658087893, 110.00000066851194, 2.5080000259476627, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [600.0000072186151, 110.00000066851194, 1.268000003862637, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [199.7999969832579, 110.00000066851194, 2.5080000259476627, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [199.60000269173278, 110.00000066851194, 2.5080000259476627, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [600.0000072186151, 110.00000066851194, 1.2409999964410576, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [600.0000072186151, 110.00000066851194, 1.0249999850152904, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [600.0000072186151, 110.00000066851194, 1.078999999858449, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0]], "y_train_real": [1.1000022888183594, 0.20000076293945312, 0.20000076293945312, 1.1000022888183594, 0.20000076293945312, 1.1000022888183594, 1.1000022888183594, 0.20000076293945312, 8.500000953674316, 84.70000457763672, 1.1000022888183594, 24.0, 33.79999542236328, 16.899999618530273, 21.80000114440918, 0.5, 22.5, 0.20000076293945312, 8.400001525878906, 21.19999885559082, 0.5, 6.700003623962402, 82.59999084472656, 27.39999771118164, 30.0, 21.60000228881836, 18.899999618530273, 15.000001907348633, 1.1000022888183594, 1.1000022888183594, 1.1000022888183594, 16.600004196166992, 31.200000762939453, 3.4000015258789062, 34.20000457763672, 13.400001525878906, 0.20000076293945312, 9.800002098083496, 4.900001525878906, 4.500001430511475, 32.5, 15.80000114440918, 11.300002098083496, 29.799999237060547, 24.5, 20.10000228881836, 1.1000022888183594, 43.70000457763672, 17.0, 24.5, 42.60000228881836, 40.60000228881836, 72.40000915527344, 46.60000228881836, 39.89999771118164, 27.700000762939453, 25.19999885559082, 27.5, 37.10000228881836, 34.39999771118164, 35.0, 27.700000762939453, 30.799999237060547, 31.89999771118164, 24.399999618530273, 16.10000228881836, 57.79999542236328, 44.60000228881836, 65.09999084472656, 71.40000915527344, 65.29999542236328, 83.90000915527344, 60.70000457763672, 73.0, 20.19999885559082, 18.0, 70.5, 63.20000457763672, 65.79999542236328, 39.39999771118164, 65.59999084472656, 33.5, 33.20000457763672, 62.0, 73.29999542236328, 81.20000457763672], "y_train_pred_average": [29.13020896911621, 29.13020896911621, 29.13020896911621, 29.13020896911621, 29.13020896911621, 29.13020896911621, 29.13020896911621, 29.13020896911621, 29.87566566467285, 49.88694381713867, 29.13020896911621, 29.13020896911621, 29.515207290649414, 29.13020896911621, 29.13020896911621, 29.13020896911621, 29.13020896911621, 29.13020896911621, 29.13020896911621, 29.13020896911621, 29.13020896911621, 29.13020896911621, 48.939693450927734, 29.13020896911621, 29.2614688873291, 29.13020896911621, 29.13020896911621, 29.757537841796875, 29.13020896911621, 29.13020896911621, 29.13020896911621, 29.13020896911621, 29.13020896911621, 29.13020896911621, 29.515207290649414, 29.13020896911621, 29.13020896911621, 29.13020896911621, 29.13020896911621, 29.13020896911621, 29.39607810974121, 29.13020896911621, 29.13020896911621, 29.13020896911621, 29.13020896911621, 31.568355560302734, 29.13020896911621, 29.13020896911621, 31.568355560302734, 31.51290512084961, 37.640037536621094, 34.95102310180664, 47.85523223876953, 37.6793327331543, 34.23937225341797, 29.13020896911621, 29.13020896911621, 29.36728286743164, 29.636302947998047, 32.36605453491211, 29.54424476623535, 29.13020896911621, 34.13735580444336, 34.13735580444336, 29.13020896911621, 29.13020896911621, 38.52983856201172, 32.68470764160156, 48.606502532958984, 48.606502532958984, 48.939693450927734, 48.939693450927734, 48.43241500854492, 48.939693450927734, 29.13020896911621, 29.13020896911621, 48.056175231933594, 47.85523223876953, 48.43241500854492, 31.24160385131836, 47.85523223876953, 31.37626075744629, 31.37395668029785, 48.056175231933594, 49.26955032348633, 49.067806243896484], "X_test": [[600.0000072186151, 110.00000066851194, 1.1330000147016075, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [600.0000072186151, 110.00000066851194, 1.1059999833065945, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [60.000008619390144, 66.79999925531706, 2.4990000154826584, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [60.000008619390144, 110.00000066851194, 0.5130000396192445, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [600.0000072186151, 110.00000066851194, 2.5120000412536347, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [189.70000424574354, 110.00000066851194, 1.126999991742649, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0], [600.0000072186151, 110.00000066851194, 1.052000016410303, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [600.0000072186151, 65.30000042050203, 1.1059999833065945, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [600.0000072186151, 29.999999384783145, 0.4959999985422958, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [189.70000424574354, 110.00000066851194, 2.513000021106695, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0]], "y_test_real": [67.0, 71.20000457763672, 1.3999996185302734, 40.0, 16.69999885559082, 6.600002288818359, 65.40000915527344, 5.100002288818359, 1.1000022888183594, 21.100004196166992], "y_test_pred_average": [48.779510498046875, 48.939693450927734, 29.13020896911621, 29.76827621459961, 29.13020896911621, 29.207006454467773, 49.174530029296875, 29.13020896911621, 29.13020896911621, 29.13020896911621]}, "yield": {"model_save_dirs": ["reizman_suzuki_case1_yield_1", "reizman_suzuki_case1_yield_2", "reizman_suzuki_case1_yield_3", "reizman_suzuki_case1_yield_4", "reizman_suzuki_case1_yield_5", "reizman_suzuki_case1_yield_6", "reizman_suzuki_case1_yield_7", "reizman_suzuki_case1_yield_8", "reizman_suzuki_case1_yield_9", "reizman_suzuki_case1_yield_10"], "Final train MAE": 26.3870906829834, "Final validation MAE": 27.32716941833496, "Final test MAE": 25.878902435302734, "data_transformation_dict": {"t_res": [350.44895833333334, 248.13987780533836], "temperature": [91.80833333333332, 28.760196259568342], "catalyst_loading": [1.6334999999999997, 0.8044149400858573], "ton": [29.130208333333332, 24.764465973579913], "yield": [43.925000000000004, 33.20368014241795]}, "X variable names": ["t_res", "temperature", "catalyst_loading", "catalyst"], "X_train": [[600.0000072186151, 29.999999384783145, 0.49799995824841514, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [600.0000072186151, 29.999999384783145, 2.514999980812814, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0], [60.000008619390144, 29.999999384783145, 2.5080000259476627, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [60.000008619390144, 29.999999384783145, 0.5130000396192445, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [600.0000072186151, 29.999999384783145, 2.513000021106695, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [60.000008619390144, 29.999999384783145, 0.5080000444602124, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [600.0000072186151, 29.999999384783145, 0.5059999888603597, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [60.000008619390144, 29.999999384783145, 2.5090000058007225, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [600.0000072186151, 110.00000066851194, 0.4959999985422958, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [600.0000072186151, 110.00000066851194, 0.5119999638724513, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [60.000008619390144, 110.00000066851194, 0.49799995824841514, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0], [600.0000072186151, 110.00000066851194, 2.5090000058007225, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [60.000008619390144, 110.00000066851194, 2.4990000154826584, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [60.000008619390144, 110.00000066851194, 0.5080000444602124, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [60.000008619390144, 110.00000066851194, 2.4890000251645947, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [189.70000424574354, 65.30000042050203, 1.1229999764366767, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [189.70000424574354, 65.30000042050203, 1.1059999833065945, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [600.0000072186151, 65.30000042050203, 2.514999980812814, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0], [189.70000424574354, 65.30000042050203, 2.5090000058007225, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [189.70000424574354, 65.30000042050203, 2.5080000259476627, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [189.70000424574354, 65.30000042050203, 1.1059999833065945, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [600.0000072186151, 65.30000042050203, 1.128999999395635, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [600.0000072186151, 110.00000066851194, 1.1059999833065945, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [600.0000072186151, 110.00000066851194, 2.5090000058007225, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [600.0000072186151, 110.00000066851194, 2.4990000154826584, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [189.70000424574354, 110.00000066851194, 2.4890000251645947, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [600.0000072186151, 110.00000066851194, 2.5120000412536347, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [600.0000072186151, 110.00000066851194, 1.1310000070486212, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [600.0000072186151, 29.999999384783145, 0.5119999638724513, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [600.0000072186151, 29.999999384783145, 0.5080000444602124, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [600.0000072186151, 29.999999384783145, 0.5130000396192445, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [60.000008619390144, 110.00000066851194, 2.513000021106695, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [60.000008619390144, 110.00000066851194, 2.4890000251645947, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [60.000008619390144, 110.00000066851194, 2.514999980812814, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0], [60.000008619390144, 110.00000066851194, 2.4990000154826584, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [60.000008619390144, 67.49999939726058, 2.5080000259476627, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [60.000008619390144, 66.70000070438908, 2.5120000412536347, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [60.000008619390144, 66.99999978565558, 2.4890000251645947, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [60.000008619390144, 66.29999964371206, 2.5090000058007225, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [60.000008619390144, 66.99999978565558, 2.5090000058007225, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [155.60000138161993, 110.00000066851194, 2.4990000154826584, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [109.3000065578112, 110.00000066851194, 2.48199997440571, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [104.49999565831578, 110.00000066851194, 2.5090000058007225, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [109.19999462175937, 110.00000066851194, 2.48199997440571, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [166.50000086581326, 110.00000066851194, 2.4890000251645947, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [60.000008619390144, 110.00000066851194, 0.5119999638724513, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [60.000008619390144, 110.00000066851194, 0.5059999888603597, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [60.000008619390144, 110.00000066851194, 0.49799995824841514, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [60.000008619390144, 110.00000066851194, 0.5119999638724513, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [600.0000072186151, 110.00000066851194, 0.967999982666086, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [600.0000072186151, 110.00000066851194, 0.9710000181189985, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [600.0000072186151, 110.00000066851194, 0.9570000124949624, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [600.0000072186151, 110.00000066851194, 1.268000003862637, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [600.0000072186151, 110.00000066851194, 0.8140000166954217, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [161.70000475660711, 110.00000066851194, 2.1040000143442006, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [146.1000063089702, 110.00000066851194, 2.5090000058007225, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [185.500005801402, 110.00000066851194, 2.4890000251645947, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [176.49999645756506, 110.00000066851194, 2.4990000154826584, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [60.000008619390144, 110.00000066851194, 2.2660000109268092, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [60.000008619390144, 110.00000066851194, 1.9150000103400124, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [60.000008619390144, 110.00000066851194, 2.302999984693019, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [60.000008619390144, 110.00000066851194, 2.3230000132760136, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [600.0000072186151, 110.00000066851194, 2.5080000259476627, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [600.0000072186151, 110.00000066851194, 2.5080000259476627, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [600.0000072186151, 67.30000058116335, 1.2140000129929116, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [600.0000072186151, 68.69999915080912, 1.268000003862637, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [199.29999646415584, 110.00000066851194, 1.2409999964410576, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [202.80000009787022, 110.00000066851194, 1.5920000000245336, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [600.0000072186151, 110.00000066851194, 1.159999998149753, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [600.0000072186151, 110.00000066851194, 1.159999998149753, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [600.0000072186151, 110.00000066851194, 1.1059999833065945, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [600.0000072186151, 110.00000066851194, 1.1059999833065945, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [600.0000072186151, 110.00000066851194, 1.186999981597899, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [600.0000072186151, 110.00000066851194, 1.1059999833065945, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [600.0000072186151, 66.29999964371206, 0.9980000015671444, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [600.0000072186151, 67.59999966242984, 0.9980000015671444, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [600.0000072186151, 110.00000066851194, 1.2409999964410576, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [600.0000072186151, 110.00000066851194, 1.268000003862637, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [600.0000072186151, 110.00000066851194, 1.186999981597899, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [189.10000658087893, 110.00000066851194, 2.5080000259476627, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [600.0000072186151, 110.00000066851194, 1.268000003862637, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [199.7999969832579, 110.00000066851194, 2.5080000259476627, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [199.60000269173278, 110.00000066851194, 2.5080000259476627, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [600.0000072186151, 110.00000066851194, 1.2409999964410576, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [600.0000072186151, 110.00000066851194, 1.0249999850152904, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [600.0000072186151, 110.00000066851194, 1.078999999858449, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0]], "y_train_real": [0.5999984741210938, 0.5999984741210938, 0.5999984741210938, 0.5999984741210938, 0.5999984741210938, 0.5999984741210938, 0.5999984741210938, 0.5999984741210938, 4.299999237060547, 43.39999771118164, 0.5999984741210938, 60.20000457763672, 84.5999984741211, 8.5, 54.400001525878906, 0.5999984741210938, 24.899995803833008, 0.5999984741210938, 21.099994659423828, 53.099998474121094, 0.5999984741210938, 7.499997138977051, 91.29999542236328, 68.59999084472656, 75.0, 53.79999542236328, 47.60000228881836, 16.999998092651367, 0.5999984741210938, 0.5999984741210938, 0.5999984741210938, 41.89999771118164, 77.5, 8.5, 85.40000915527344, 33.39999771118164, 0.5999984741210938, 24.399995803833008, 12.399996757507324, 11.199996948242188, 81.29999542236328, 39.10000228881836, 28.39999771118164, 74.09999084472656, 60.900001525878906, 10.299995422363281, 0.5999984741210938, 21.69999885559082, 8.699996948242188, 23.699996948242188, 41.39999771118164, 38.79999542236328, 91.79999542236328, 38.0, 84.0, 69.59999084472656, 62.79999542236328, 68.59999084472656, 83.90000915527344, 65.70000457763672, 80.70000457763672, 64.40000915527344, 82.0999984741211, 80.0, 29.60000228881836, 20.399995803833008, 71.59999084472656, 70.90000915527344, 75.5, 82.70000457763672, 72.20000457763672, 92.79999542236328, 72.09999084472656, 80.70000457763672, 20.100000381469727, 17.899995803833008, 87.5, 80.20000457763672, 78.0999984741211, 98.70000457763672, 83.0999984741211, 83.90000915527344, 83.20000457763672, 76.90000915527344, 75.0, 87.5999984741211], "y_train_pred_average": [44.09299850463867, 44.08409881591797, 44.10075759887695, 44.10315704345703, 44.07347869873047, 44.10824966430664, 44.09206008911133, 44.097450256347656, 44.137794494628906, 49.04796600341797, 44.11836242675781, 52.902565002441406, 55.76628875732422, 44.12451171875, 50.93462371826172, 44.09393310546875, 44.10297393798828, 44.158546447753906, 44.092002868652344, 44.29167556762695, 44.11035919189453, 44.087059020996094, 55.5654296875, 52.902565002441406, 54.46875, 51.04574966430664, 46.624691009521484, 44.669979095458984, 44.11726379394531, 44.125465393066406, 44.11170196533203, 47.298133850097656, 50.93462371826172, 47.10075378417969, 55.76628875732422, 44.26178741455078, 44.11802673339844, 44.08427047729492, 44.1038932800293, 44.099647521972656, 55.77162551879883, 45.45485305786133, 45.11782455444336, 54.785377502441406, 51.047279357910156, 44.30303192138672, 44.134944915771484, 44.117881774902344, 44.30303192138672, 44.899559020996094, 46.06409454345703, 44.81569290161133, 56.282081604003906, 45.166099548339844, 56.842742919921875, 54.78148651123047, 51.0460319519043, 55.76972198486328, 54.265350341796875, 55.38812255859375, 55.163246154785156, 50.40911102294922, 58.21085739135742, 58.21085739135742, 44.126853942871094, 44.15659713745117, 52.584815979003906, 51.62956619262695, 55.866912841796875, 55.866912841796875, 55.5654296875, 55.5654296875, 55.98549270629883, 55.5654296875, 44.12959671020508, 44.130645751953125, 56.19010543823242, 56.282081604003906, 55.98549270629883, 58.10767364501953, 56.282081604003906, 58.13338088989258, 58.13289260864258, 56.19010543823242, 54.85315704345703, 55.351898193359375], "X_test": [[600.0000072186151, 110.00000066851194, 1.1330000147016075, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [600.0000072186151, 110.00000066851194, 1.1059999833065945, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [60.000008619390144, 66.79999925531706, 2.4990000154826584, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [60.000008619390144, 110.00000066851194, 0.5130000396192445, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [600.0000072186151, 110.00000066851194, 2.5120000412536347, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [189.70000424574354, 110.00000066851194, 1.126999991742649, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0], [600.0000072186151, 110.00000066851194, 1.052000016410303, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [600.0000072186151, 65.30000042050203, 1.1059999833065945, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [600.0000072186151, 29.999999384783145, 0.4959999985422958, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [189.70000424574354, 110.00000066851194, 2.513000021106695, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0]], "y_test_real": [75.90000915527344, 78.70000457763672, 3.599994659423828, 20.499998092651367, 42.0, 7.399996757507324, 68.70000457763672, 5.599998474121094, 0.5999984741210938, 52.900001525878906], "y_test_pred_average": [55.736412048339844, 55.5654296875, 44.12711715698242, 44.33151626586914, 46.624691009521484, 44.422706604003906, 55.10955810546875, 44.097843170166016, 44.09146499633789, 48.007469177246094]}}
\ No newline at end of file
diff --git a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case1_ton_10_BNN_model.pt b/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case1_ton_10_BNN_model.pt
deleted file mode 100644
index d2a9a43b..00000000
Binary files a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case1_ton_10_BNN_model.pt and /dev/null differ
diff --git a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case1_ton_1_BNN_model.pt b/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case1_ton_1_BNN_model.pt
deleted file mode 100644
index 39563bd3..00000000
Binary files a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case1_ton_1_BNN_model.pt and /dev/null differ
diff --git a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case1_ton_2_BNN_model.pt b/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case1_ton_2_BNN_model.pt
deleted file mode 100644
index 8e49f567..00000000
Binary files a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case1_ton_2_BNN_model.pt and /dev/null differ
diff --git a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case1_ton_3_BNN_model.pt b/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case1_ton_3_BNN_model.pt
deleted file mode 100644
index ad0b160d..00000000
Binary files a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case1_ton_3_BNN_model.pt and /dev/null differ
diff --git a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case1_ton_4_BNN_model.pt b/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case1_ton_4_BNN_model.pt
deleted file mode 100644
index 09af1d9e..00000000
Binary files a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case1_ton_4_BNN_model.pt and /dev/null differ
diff --git a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case1_ton_5_BNN_model.pt b/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case1_ton_5_BNN_model.pt
deleted file mode 100644
index 3b509372..00000000
Binary files a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case1_ton_5_BNN_model.pt and /dev/null differ
diff --git a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case1_ton_6_BNN_model.pt b/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case1_ton_6_BNN_model.pt
deleted file mode 100644
index c62a525b..00000000
Binary files a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case1_ton_6_BNN_model.pt and /dev/null differ
diff --git a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case1_ton_7_BNN_model.pt b/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case1_ton_7_BNN_model.pt
deleted file mode 100644
index 217a882b..00000000
Binary files a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case1_ton_7_BNN_model.pt and /dev/null differ
diff --git a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case1_ton_8_BNN_model.pt b/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case1_ton_8_BNN_model.pt
deleted file mode 100644
index 4c228202..00000000
Binary files a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case1_ton_8_BNN_model.pt and /dev/null differ
diff --git a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case1_ton_9_BNN_model.pt b/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case1_ton_9_BNN_model.pt
deleted file mode 100644
index d332d8bc..00000000
Binary files a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case1_ton_9_BNN_model.pt and /dev/null differ
diff --git a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case1_ton_BNN_model.pt b/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case1_ton_BNN_model.pt
deleted file mode 100644
index 73bfe7f6..00000000
Binary files a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case1_ton_BNN_model.pt and /dev/null differ
diff --git a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case1_yield_10_BNN_model.pt b/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case1_yield_10_BNN_model.pt
deleted file mode 100644
index 18f15604..00000000
Binary files a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case1_yield_10_BNN_model.pt and /dev/null differ
diff --git a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case1_yield_1_BNN_model.pt b/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case1_yield_1_BNN_model.pt
deleted file mode 100644
index 9b359174..00000000
Binary files a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case1_yield_1_BNN_model.pt and /dev/null differ
diff --git a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case1_yield_2_BNN_model.pt b/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case1_yield_2_BNN_model.pt
deleted file mode 100644
index c600e4eb..00000000
Binary files a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case1_yield_2_BNN_model.pt and /dev/null differ
diff --git a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case1_yield_3_BNN_model.pt b/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case1_yield_3_BNN_model.pt
deleted file mode 100644
index 0b4c8c50..00000000
Binary files a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case1_yield_3_BNN_model.pt and /dev/null differ
diff --git a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case1_yield_4_BNN_model.pt b/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case1_yield_4_BNN_model.pt
deleted file mode 100644
index 8fec06e3..00000000
Binary files a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case1_yield_4_BNN_model.pt and /dev/null differ
diff --git a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case1_yield_5_BNN_model.pt b/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case1_yield_5_BNN_model.pt
deleted file mode 100644
index dd10d1b9..00000000
Binary files a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case1_yield_5_BNN_model.pt and /dev/null differ
diff --git a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case1_yield_6_BNN_model.pt b/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case1_yield_6_BNN_model.pt
deleted file mode 100644
index 871d8fff..00000000
Binary files a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case1_yield_6_BNN_model.pt and /dev/null differ
diff --git a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case1_yield_7_BNN_model.pt b/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case1_yield_7_BNN_model.pt
deleted file mode 100644
index 1a5501ff..00000000
Binary files a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case1_yield_7_BNN_model.pt and /dev/null differ
diff --git a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case1_yield_8_BNN_model.pt b/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case1_yield_8_BNN_model.pt
deleted file mode 100644
index fa095c24..00000000
Binary files a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case1_yield_8_BNN_model.pt and /dev/null differ
diff --git a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case1_yield_9_BNN_model.pt b/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case1_yield_9_BNN_model.pt
deleted file mode 100644
index 60c9de03..00000000
Binary files a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case1_yield_9_BNN_model.pt and /dev/null differ
diff --git a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case1_yield_BNN_model.pt b/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case1_yield_BNN_model.pt
deleted file mode 100644
index cd0878b2..00000000
Binary files a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case1_yield_BNN_model.pt and /dev/null differ
diff --git a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case2.json b/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case2.json
deleted file mode 100644
index 2dba4fe8..00000000
--- a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case2.json
+++ /dev/null
@@ -1,1 +0,0 @@
-{"ton": {"model_save_dirs": ["reizman_suzuki_case2_ton_1", "reizman_suzuki_case2_ton_2", "reizman_suzuki_case2_ton_3", "reizman_suzuki_case2_ton_4", "reizman_suzuki_case2_ton_5", "reizman_suzuki_case2_ton_6", "reizman_suzuki_case2_ton_7", "reizman_suzuki_case2_ton_8", "reizman_suzuki_case2_ton_9", "reizman_suzuki_case2_ton_10"], "Final train MAE": 4.880047798156738, "Final validation MAE": 4.85185432434082, "Final test MAE": 5.535890579223633, "data_transformation_dict": {"t_res": [370.73854166666666, 229.53388020153642], "temperature": [87.55104166666666, 31.489369882257048], "catalyst_loading": [2.091572916666667, 0.668394106933297], "ton": [6.491666666666667, 5.998570431546355], "yield": [14.362499999999999, 13.76398720393186]}, "X variable names": ["t_res", "temperature", "catalyst_loading", "catalyst"], "X_train": [[600.000000113451, 110.00000060945052, 2.48999999617914, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0], [59.99999398957942, 110.00000060945052, 0.5099999965352804, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [59.99999398957942, 110.00000060945052, 0.49800005255404023, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [600.000000113451, 110.00000060945052, 2.4889999875675723, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [59.99999398957942, 110.00000060945052, 2.5159999810435423, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [59.99999398957942, 110.00000060945052, 2.5159999810435423, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [600.000000113451, 110.00000060945052, 0.5119999340796293, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [600.000000113451, 110.00000060945052, 0.5069999308611837, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [600.000000113451, 29.999999357537796, 2.4920000134022757, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [600.000000113451, 29.999999357537796, 2.5159999810435423, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [59.99999398957942, 29.999999357537796, 0.5090000277631059, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [59.99999398957942, 29.999999357537796, 0.491999921205847, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0], [600.000000113451, 29.999999357537796, 0.5090000277631059, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [59.99999398957942, 29.999999357537796, 2.505000005834477, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [59.99999398957942, 29.999999357537796, 2.5090000004413544, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [600.000000113451, 29.999999357537796, 0.491999921205847, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [59.99999398957942, 65.29999941490856, 1.1210000392426678, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [189.70000237202538, 65.29999941490856, 2.5159999810435423, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [59.99999398957942, 65.29999941490856, 2.4920000134022757, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [189.70000237202538, 65.29999941490856, 1.1309999660007723, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [59.99999398957942, 65.29999941490856, 1.1220000080148425, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0], [59.99999398957942, 65.29999941490856, 1.1309999660007723, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [59.99999398957942, 65.29999941490856, 2.505000005834477, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [189.70000237202538, 110.00000060945052, 2.48999999617914, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0], [189.70000237202538, 110.00000060945052, 1.1110000328057767, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [59.99999398957942, 110.00000060945052, 2.5159999810435423, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [189.70000237202538, 110.00000060945052, 1.1309999660007723, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [189.70000237202538, 110.00000060945052, 2.5090000004413544, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [59.99999398957942, 110.00000060945052, 2.5159999810435423, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [189.70000237202538, 110.00000060945052, 2.4889999875675723, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [339.600001097554, 110.00000060945052, 2.5159999810435423, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [351.3000003637565, 110.00000060945052, 2.5159999810435423, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [340.30000064438235, 110.00000060945052, 2.5159999810435423, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [600.000000113451, 33.800000575997245, 2.4889999875675723, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [600.000000113451, 29.999999357537796, 2.047000000856449, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [148.999997937827, 110.00000060945052, 2.4889999875675723, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [156.70000321390305, 110.00000060945052, 2.4920000134022757, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [162.29999958852994, 110.00000060945052, 2.505000005834477, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [172.30000679593482, 107.79999990402662, 2.5159999810435423, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [177.59999994445678, 95.10000005486047, 2.5159999810435423, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [222.09999507793788, 110.00000060945052, 0.7920000346337945, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [192.50000055933884, 110.00000060945052, 2.169000000703719, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [155.60000050570855, 110.00000060945052, 1.9229999937458917, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [184.69999876832296, 110.00000060945052, 2.010999999595307, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [262.10000338562924, 56.10000021877951, 0.7540000261093656, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [203.4000037637731, 81.9000000453707, 2.505000005834477, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [190.00000559813031, 93.80000010724726, 2.5159999810435423, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [184.50000573844326, 110.00000060945052, 2.4920000134022757, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [213.2000042600129, 110.00000060945052, 2.5159999810435423, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [157.6999957258723, 110.00000060945052, 2.4889999875675723, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [261.00000067743474, 110.00000060945052, 2.5159999810435423, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [206.5000051771915, 110.00000060945052, 2.4920000134022757, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [198.40000016007068, 100.70000044280039, 2.505000005834477, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [600.000000113451, 110.00000060945052, 1.9380000034012284, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [600.000000113451, 110.00000060945052, 1.9929999989647362, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [600.000000113451, 110.00000060945052, 1.78100000592446, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [600.000000113451, 110.00000060945052, 1.9509999958334294, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [600.000000113451, 110.00000060945052, 1.9509999958334294, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [600.000000113451, 110.00000060945052, 1.3850000020117488, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [375.4000001531505, 97.20000025899147, 1.9400000007046672, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [600.000000113451, 103.30000033802682, 2.505000005834477, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [600.000000113451, 110.00000060945052, 2.5159999810435423, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [600.000000113451, 110.00000060945052, 2.010999999595307, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [600.000000113451, 110.00000060945052, 2.4920000134022757, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [59.99999398957942, 29.999999357537796, 2.5159999810435423, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [59.99999398957942, 29.999999357537796, 2.5159999810435423, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [600.000000113451, 110.00000060945052, 2.4920000134022757, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [600.000000113451, 47.09999920986721, 2.5159999810435423, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [600.000000113451, 70.99999936568503, 2.4920000134022757, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [600.000000113451, 110.00000060945052, 2.4920000134022757, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [600.000000113451, 39.799998746055174, 2.5159999810435423, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [600.000000113451, 38.100000077867605, 2.505000005834477, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [600.000000113451, 60.9999999130382, 2.5159999810435423, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [600.000000113451, 69.40000072956218, 2.505000005834477, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [600.000000113451, 63.000000554332644, 2.5159999810435423, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [600.000000113451, 110.00000060945052, 2.5159999810435423, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [600.000000113451, 110.00000060945052, 2.4920000134022757, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [600.000000113451, 110.00000060945052, 2.4920000134022757, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [600.000000113451, 110.00000060945052, 1.7109999807859186, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [600.000000113451, 110.00000060945052, 2.5159999810435423, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [600.000000113451, 110.00000060945052, 2.4920000134022757, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [600.000000113451, 110.00000060945052, 2.5159999810435423, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [600.000000113451, 110.00000060945052, 2.4920000134022757, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [600.000000113451, 110.00000060945052, 1.770999999487569, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [600.000000113451, 29.999999357537796, 2.4880000187953977, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [600.000000113451, 29.999999357537796, 2.4880000187953977, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]], "y_train_real": [0.0, 0.19999980926513672, 0.19999980926513672, 2.299999952316284, 2.5, 4.40000057220459, 0.19999980926513672, 0.19999980926513672, 0.0, 0.19999980926513672, 0.19999980926513672, 0.19999980926513672, 0.19999980926513672, 0.0, 0.0, 0.19999980926513672, 0.3000006675720215, 0.40000009536743164, 0.0, 5.200000286102295, 0.10000038146972656, 0.10000038146972656, 4.700000286102295, 0.0, 7.199999809265137, 4.599999904632568, 9.19999885559082, 2.1000001430511475, 5.40000057220459, 4.599999904632568, 6.40000057220459, 1.0, 6.5, 0.0, 0.10000038146972656, 11.199999809265137, 6.5, 6.699999809265137, 7.90000057220459, 5.200000286102295, 10.90000057220459, 5.40000057220459, 2.799999952316284, 9.09999942779541, 7.0, 7.199999809265137, 5.59999942779541, 7.199999809265137, 9.80000114440918, 2.700000524520874, 10.30000114440918, 9.69999885559082, 6.90000057220459, 8.30000114440918, 9.40000057220459, 13.30000114440918, 15.5, 15.30000114440918, 14.69999885559082, 8.80000114440918, 8.90000057220459, 13.0, 19.69999885559082, 16.69999885559082, 0.0, 0.19999980926513672, 18.899999618530273, 16.600000381469727, 0.0, 16.69999885559082, 0.40000009536743164, 1.7999999523162842, 5.59999942779541, 9.69999885559082, 6.299999713897705, 5.59999942779541, 18.10000228881836, 15.19999885559082, 15.100000381469727, 6.800000190734863, 16.30000114440918, 6.800000190734863, 18.0, 19.399999618530273, 1.0, 1.3000001907348633], "y_train_pred_average": [6.640603542327881, 6.641602993011475, 6.641408443450928, 6.643623352050781, 6.640899658203125, 6.6372528076171875, 6.64098596572876, 6.639642238616943, 6.6480913162231445, 6.6474714279174805, 6.642165184020996, 6.638857841491699, 6.644227027893066, 6.641094207763672, 6.6382317543029785, 6.644387245178223, 6.639062404632568, 6.638298988342285, 6.639723777770996, 6.64300537109375, 6.636676788330078, 6.639626979827881, 6.638965606689453, 6.637364387512207, 6.6411566734313965, 6.6372528076171875, 6.642218112945557, 6.638237953186035, 6.640899658203125, 6.640552520751953, 6.638535976409912, 6.639303684234619, 6.643212795257568, 6.647879600524902, 6.647500038146973, 6.640406608581543, 6.639676094055176, 6.6385016441345215, 6.64166259765625, 6.636737823486328, 6.645293235778809, 6.638084411621094, 6.641617774963379, 6.640206813812256, 6.641472816467285, 6.639960289001465, 6.6368207931518555, 6.639766693115234, 6.642154693603516, 6.640438079833984, 6.642482757568359, 6.639803409576416, 6.6383514404296875, 6.644687652587891, 6.645018577575684, 6.647757530212402, 6.644785404205322, 6.644785404205322, 6.647045135498047, 6.642704010009766, 6.643145561218262, 6.645679473876953, 6.6448655128479, 6.64370059967041, 6.640711784362793, 6.640711784362793, 6.64370059967041, 6.646849632263184, 6.646130561828613, 6.64370059967041, 6.646617889404297, 6.646839141845703, 6.64621114730835, 6.645713806152344, 6.646117210388184, 6.645679473876953, 6.64370059967041, 6.64370059967041, 6.643991947174072, 6.645679473876953, 6.64370059967041, 6.645679473876953, 6.64370059967041, 6.6441779136657715, 6.6478776931762695, 6.6478776931762695], "X_test": [[600.000000113451, 110.00000060945052, 2.4920000134022757, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [600.000000113451, 110.00000060945052, 1.9209999964424527, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [370.19999999236194, 110.00000060945052, 2.4920000134022757, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [189.70000237202538, 65.29999941490856, 1.1279999800054625, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [600.000000113451, 110.00000060945052, 2.5159999810435423, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [59.99999398957942, 110.00000060945052, 1.1060000295873311, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [600.000000113451, 110.00000060945052, 2.505000005834477, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [166.9000034511876, 110.00000060945052, 2.4889999875675723, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [600.000000113451, 33.40000044773836, 2.5090000004413544, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [600.000000113451, 29.999999357537796, 2.48999999617914, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0]], "y_test_real": [17.5, 20.30000114440918, 11.09999942779541, 7.800000190734863, 7.0, 0.3000006675720215, 10.0, 4.299999713897705, 0.5, 0.0], "y_test_pred_average": [6.64370059967041, 6.644713401794434, 6.640290260314941, 6.639106750488281, 6.645679473876953, 6.640379905700684, 6.642897129058838, 6.640472412109375, 6.64418888092041, 6.644731044769287]}, "yield": {"model_save_dirs": ["reizman_suzuki_case2_yield_1", "reizman_suzuki_case2_yield_2", "reizman_suzuki_case2_yield_3", "reizman_suzuki_case2_yield_4", "reizman_suzuki_case2_yield_5", "reizman_suzuki_case2_yield_6", "reizman_suzuki_case2_yield_7", "reizman_suzuki_case2_yield_8", "reizman_suzuki_case2_yield_9", "reizman_suzuki_case2_yield_10"], "Final train MAE": 11.06971549987793, "Final validation MAE": 11.385863304138184, "Final test MAE": 13.217106819152832, "data_transformation_dict": {"t_res": [370.73854166666666, 229.53388020153642], "temperature": [87.55104166666666, 31.489369882257048], "catalyst_loading": [2.091572916666667, 0.668394106933297], "ton": [6.491666666666667, 5.998570431546355], "yield": [14.362499999999999, 13.76398720393186]}, "X variable names": ["t_res", "temperature", "catalyst_loading", "catalyst"], "X_train": [[600.000000113451, 110.00000060945052, 2.48999999617914, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0], [59.99999398957942, 110.00000060945052, 0.5099999965352804, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [59.99999398957942, 110.00000060945052, 0.49800005255404023, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [600.000000113451, 110.00000060945052, 2.4889999875675723, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [59.99999398957942, 110.00000060945052, 2.5159999810435423, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [59.99999398957942, 110.00000060945052, 2.5159999810435423, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [600.000000113451, 110.00000060945052, 0.5119999340796293, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [600.000000113451, 110.00000060945052, 0.5069999308611837, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [600.000000113451, 29.999999357537796, 2.4920000134022757, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [600.000000113451, 29.999999357537796, 2.5159999810435423, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [59.99999398957942, 29.999999357537796, 0.5090000277631059, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [59.99999398957942, 29.999999357537796, 0.491999921205847, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0], [600.000000113451, 29.999999357537796, 0.5090000277631059, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [59.99999398957942, 29.999999357537796, 2.505000005834477, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [59.99999398957942, 29.999999357537796, 2.5090000004413544, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [600.000000113451, 29.999999357537796, 0.491999921205847, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [59.99999398957942, 65.29999941490856, 1.1210000392426678, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [189.70000237202538, 65.29999941490856, 2.5159999810435423, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [59.99999398957942, 65.29999941490856, 2.4920000134022757, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [189.70000237202538, 65.29999941490856, 1.1309999660007723, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [59.99999398957942, 65.29999941490856, 1.1220000080148425, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0], [59.99999398957942, 65.29999941490856, 1.1309999660007723, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [59.99999398957942, 65.29999941490856, 2.505000005834477, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [189.70000237202538, 110.00000060945052, 2.48999999617914, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0], [189.70000237202538, 110.00000060945052, 1.1110000328057767, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [59.99999398957942, 110.00000060945052, 2.5159999810435423, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [189.70000237202538, 110.00000060945052, 1.1309999660007723, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [189.70000237202538, 110.00000060945052, 2.5090000004413544, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [59.99999398957942, 110.00000060945052, 2.5159999810435423, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [189.70000237202538, 110.00000060945052, 2.4889999875675723, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [339.600001097554, 110.00000060945052, 2.5159999810435423, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [351.3000003637565, 110.00000060945052, 2.5159999810435423, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [340.30000064438235, 110.00000060945052, 2.5159999810435423, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [600.000000113451, 33.800000575997245, 2.4889999875675723, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [600.000000113451, 29.999999357537796, 2.047000000856449, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [148.999997937827, 110.00000060945052, 2.4889999875675723, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [156.70000321390305, 110.00000060945052, 2.4920000134022757, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [162.29999958852994, 110.00000060945052, 2.505000005834477, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [172.30000679593482, 107.79999990402662, 2.5159999810435423, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [177.59999994445678, 95.10000005486047, 2.5159999810435423, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [222.09999507793788, 110.00000060945052, 0.7920000346337945, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [192.50000055933884, 110.00000060945052, 2.169000000703719, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [155.60000050570855, 110.00000060945052, 1.9229999937458917, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [184.69999876832296, 110.00000060945052, 2.010999999595307, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [262.10000338562924, 56.10000021877951, 0.7540000261093656, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [203.4000037637731, 81.9000000453707, 2.505000005834477, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [190.00000559813031, 93.80000010724726, 2.5159999810435423, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [184.50000573844326, 110.00000060945052, 2.4920000134022757, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [213.2000042600129, 110.00000060945052, 2.5159999810435423, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [157.6999957258723, 110.00000060945052, 2.4889999875675723, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [261.00000067743474, 110.00000060945052, 2.5159999810435423, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [206.5000051771915, 110.00000060945052, 2.4920000134022757, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [198.40000016007068, 100.70000044280039, 2.505000005834477, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [600.000000113451, 110.00000060945052, 1.9380000034012284, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [600.000000113451, 110.00000060945052, 1.9929999989647362, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [600.000000113451, 110.00000060945052, 1.78100000592446, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [600.000000113451, 110.00000060945052, 1.9509999958334294, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [600.000000113451, 110.00000060945052, 1.9509999958334294, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [600.000000113451, 110.00000060945052, 1.3850000020117488, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [375.4000001531505, 97.20000025899147, 1.9400000007046672, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [600.000000113451, 103.30000033802682, 2.505000005834477, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [600.000000113451, 110.00000060945052, 2.5159999810435423, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [600.000000113451, 110.00000060945052, 2.010999999595307, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [600.000000113451, 110.00000060945052, 2.4920000134022757, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [59.99999398957942, 29.999999357537796, 2.5159999810435423, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [59.99999398957942, 29.999999357537796, 2.5159999810435423, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [600.000000113451, 110.00000060945052, 2.4920000134022757, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [600.000000113451, 47.09999920986721, 2.5159999810435423, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [600.000000113451, 70.99999936568503, 2.4920000134022757, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [600.000000113451, 110.00000060945052, 2.4920000134022757, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [600.000000113451, 39.799998746055174, 2.5159999810435423, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [600.000000113451, 38.100000077867605, 2.505000005834477, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [600.000000113451, 60.9999999130382, 2.5159999810435423, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [600.000000113451, 69.40000072956218, 2.505000005834477, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [600.000000113451, 63.000000554332644, 2.5159999810435423, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [600.000000113451, 110.00000060945052, 2.5159999810435423, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [600.000000113451, 110.00000060945052, 2.4920000134022757, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [600.000000113451, 110.00000060945052, 2.4920000134022757, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [600.000000113451, 110.00000060945052, 1.7109999807859186, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [600.000000113451, 110.00000060945052, 2.5159999810435423, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [600.000000113451, 110.00000060945052, 2.4920000134022757, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [600.000000113451, 110.00000060945052, 2.5159999810435423, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [600.000000113451, 110.00000060945052, 2.4920000134022757, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [600.000000113451, 110.00000060945052, 1.770999999487569, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [600.000000113451, 29.999999357537796, 2.4880000187953977, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [600.000000113451, 29.999999357537796, 2.4880000187953977, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]], "y_train_real": [0.09999942779541016, 0.09999942779541016, 0.09999942779541016, 5.700000286102295, 6.40000057220459, 11.0, 0.09999942779541016, 0.09999942779541016, 0.09999942779541016, 0.4999990463256836, 0.09999942779541016, 0.09999942779541016, 0.09999942779541016, 0.09999942779541016, 0.09999942779541016, 0.09999942779541016, 0.39999961853027344, 1.0, 0.09999942779541016, 5.900000095367432, 0.09999942779541016, 0.09999942779541016, 11.80000114440918, 0.09999942779541016, 8.19999885559082, 11.5, 10.5, 5.200000286102295, 13.5, 11.69999885559082, 16.10000228881836, 2.3999996185302734, 16.30000114440918, 0.09999942779541016, 0.09999942779541016, 28.10000228881836, 16.39999771118164, 16.89999771118164, 19.89999771118164, 13.0, 8.5, 11.59999942779541, 5.400001049041748, 18.60000228881836, 5.5, 18.0, 14.19999885559082, 18.10000228881836, 24.60000228881836, 6.800000190734863, 26.0, 24.5, 17.30000114440918, 15.899999618530273, 18.5, 24.0, 30.60000228881836, 30.200000762939453, 20.19999885559082, 16.89999771118164, 22.30000114440918, 32.60000228881836, 40.10000228881836, 42.0, 0.09999942779541016, 0.39999961853027344, 47.60000228881836, 41.89999771118164, 0.09999942779541016, 42.0, 1.0999994277954102, 4.599999904632568, 14.19999885559082, 24.399999618530273, 15.69999885559082, 14.0, 45.39999771118164, 38.39999771118164, 26.200000762939453, 17.19999885559082, 41.10000228881836, 17.10000228881836, 45.20000457763672, 34.79999542236328, 2.5, 3.200000047683716], "y_train_pred_average": [14.589422225952148, 14.581361770629883, 14.582344055175781, 14.588050842285156, 14.588678359985352, 14.588773727416992, 14.57826042175293, 14.579011917114258, 14.581974983215332, 14.582967758178711, 14.574109077453613, 14.573460578918457, 14.571451187133789, 14.583242416381836, 14.585090637207031, 14.571466445922852, 14.58391284942627, 14.587158203125, 14.589138984680176, 14.583295822143555, 14.583951950073242, 14.583966255187988, 14.586198806762695, 14.589090347290039, 14.583108901977539, 14.588773727416992, 14.585298538208008, 14.5890531539917, 14.588678359985352, 14.588055610656738, 14.589673042297363, 14.588361740112305, 14.589329719543457, 14.58350658416748, 14.579211235046387, 14.588175773620605, 14.589836120605469, 14.588884353637695, 14.5890531539917, 14.588600158691406, 14.582162857055664, 14.590031623840332, 14.587519645690918, 14.589889526367188, 14.574705123901367, 14.587824821472168, 14.588605880737305, 14.58985424041748, 14.589143753051758, 14.588163375854492, 14.589212417602539, 14.589866638183594, 14.588775634765625, 14.590253829956055, 14.590657234191895, 14.590530395507812, 14.590383529663086, 14.590383529663086, 14.586689949035645, 14.589675903320312, 14.588674545288086, 14.589874267578125, 14.590754508972168, 14.590060234069824, 14.584672927856445, 14.584672927856445, 14.590060234069824, 14.58531665802002, 14.588147163391113, 14.590060234069824, 14.580610275268555, 14.581565856933594, 14.587315559387207, 14.586435317993164, 14.587443351745605, 14.589874267578125, 14.590060234069824, 14.590060234069824, 14.587324142456055, 14.589874267578125, 14.590060234069824, 14.589874267578125, 14.590060234069824, 14.58813762664795, 14.582110404968262, 14.582110404968262], "X_test": [[600.000000113451, 110.00000060945052, 2.4920000134022757, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [600.000000113451, 110.00000060945052, 1.9209999964424527, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [370.19999999236194, 110.00000060945052, 2.4920000134022757, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [189.70000237202538, 65.29999941490856, 1.1279999800054625, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [600.000000113451, 110.00000060945052, 2.5159999810435423, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [59.99999398957942, 110.00000060945052, 1.1060000295873311, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [600.000000113451, 110.00000060945052, 2.505000005834477, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [166.9000034511876, 110.00000060945052, 2.4889999875675723, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [600.000000113451, 33.40000044773836, 2.5090000004413544, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [600.000000113451, 29.999999357537796, 2.48999999617914, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0]], "y_test_real": [44.0, 38.89999771118164, 28.0, 8.90000057220459, 17.69999885559082, 0.39999961853027344, 25.0, 10.80000114440918, 1.1999998092651367, 0.09999942779541016], "y_test_pred_average": [14.590060234069824, 14.590115547180176, 14.589825630187988, 14.579107284545898, 14.589874267578125, 14.588688850402832, 14.589045524597168, 14.588140487670898, 14.583234786987305, 14.580808639526367]}}
\ No newline at end of file
diff --git a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case2_ton_10_BNN_model.pt b/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case2_ton_10_BNN_model.pt
deleted file mode 100644
index d14436ee..00000000
Binary files a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case2_ton_10_BNN_model.pt and /dev/null differ
diff --git a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case2_ton_1_BNN_model.pt b/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case2_ton_1_BNN_model.pt
deleted file mode 100644
index 15027f82..00000000
Binary files a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case2_ton_1_BNN_model.pt and /dev/null differ
diff --git a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case2_ton_2_BNN_model.pt b/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case2_ton_2_BNN_model.pt
deleted file mode 100644
index fab0ea57..00000000
Binary files a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case2_ton_2_BNN_model.pt and /dev/null differ
diff --git a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case2_ton_3_BNN_model.pt b/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case2_ton_3_BNN_model.pt
deleted file mode 100644
index bfec1505..00000000
Binary files a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case2_ton_3_BNN_model.pt and /dev/null differ
diff --git a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case2_ton_4_BNN_model.pt b/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case2_ton_4_BNN_model.pt
deleted file mode 100644
index eca9fbda..00000000
Binary files a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case2_ton_4_BNN_model.pt and /dev/null differ
diff --git a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case2_ton_5_BNN_model.pt b/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case2_ton_5_BNN_model.pt
deleted file mode 100644
index c25c7002..00000000
Binary files a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case2_ton_5_BNN_model.pt and /dev/null differ
diff --git a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case2_ton_6_BNN_model.pt b/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case2_ton_6_BNN_model.pt
deleted file mode 100644
index 55161b3a..00000000
Binary files a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case2_ton_6_BNN_model.pt and /dev/null differ
diff --git a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case2_ton_7_BNN_model.pt b/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case2_ton_7_BNN_model.pt
deleted file mode 100644
index e14d08e9..00000000
Binary files a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case2_ton_7_BNN_model.pt and /dev/null differ
diff --git a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case2_ton_8_BNN_model.pt b/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case2_ton_8_BNN_model.pt
deleted file mode 100644
index d9b337e4..00000000
Binary files a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case2_ton_8_BNN_model.pt and /dev/null differ
diff --git a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case2_ton_9_BNN_model.pt b/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case2_ton_9_BNN_model.pt
deleted file mode 100644
index b69e522f..00000000
Binary files a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case2_ton_9_BNN_model.pt and /dev/null differ
diff --git a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case2_ton_BNN_model.pt b/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case2_ton_BNN_model.pt
deleted file mode 100644
index 744f4516..00000000
Binary files a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case2_ton_BNN_model.pt and /dev/null differ
diff --git a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case2_yield_10_BNN_model.pt b/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case2_yield_10_BNN_model.pt
deleted file mode 100644
index aaf189f2..00000000
Binary files a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case2_yield_10_BNN_model.pt and /dev/null differ
diff --git a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case2_yield_1_BNN_model.pt b/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case2_yield_1_BNN_model.pt
deleted file mode 100644
index b39099f1..00000000
Binary files a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case2_yield_1_BNN_model.pt and /dev/null differ
diff --git a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case2_yield_2_BNN_model.pt b/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case2_yield_2_BNN_model.pt
deleted file mode 100644
index 6a4ce6b8..00000000
Binary files a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case2_yield_2_BNN_model.pt and /dev/null differ
diff --git a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case2_yield_3_BNN_model.pt b/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case2_yield_3_BNN_model.pt
deleted file mode 100644
index 72c29ccb..00000000
Binary files a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case2_yield_3_BNN_model.pt and /dev/null differ
diff --git a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case2_yield_4_BNN_model.pt b/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case2_yield_4_BNN_model.pt
deleted file mode 100644
index 400ee63b..00000000
Binary files a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case2_yield_4_BNN_model.pt and /dev/null differ
diff --git a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case2_yield_5_BNN_model.pt b/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case2_yield_5_BNN_model.pt
deleted file mode 100644
index 34403c88..00000000
Binary files a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case2_yield_5_BNN_model.pt and /dev/null differ
diff --git a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case2_yield_6_BNN_model.pt b/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case2_yield_6_BNN_model.pt
deleted file mode 100644
index 184da4ca..00000000
Binary files a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case2_yield_6_BNN_model.pt and /dev/null differ
diff --git a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case2_yield_7_BNN_model.pt b/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case2_yield_7_BNN_model.pt
deleted file mode 100644
index 49ad9235..00000000
Binary files a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case2_yield_7_BNN_model.pt and /dev/null differ
diff --git a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case2_yield_8_BNN_model.pt b/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case2_yield_8_BNN_model.pt
deleted file mode 100644
index 13d988d8..00000000
Binary files a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case2_yield_8_BNN_model.pt and /dev/null differ
diff --git a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case2_yield_9_BNN_model.pt b/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case2_yield_9_BNN_model.pt
deleted file mode 100644
index 97a08d8e..00000000
Binary files a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case2_yield_9_BNN_model.pt and /dev/null differ
diff --git a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case2_yield_BNN_model.pt b/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case2_yield_BNN_model.pt
deleted file mode 100644
index dd34af3b..00000000
Binary files a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case2_yield_BNN_model.pt and /dev/null differ
diff --git a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case3.json b/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case3.json
deleted file mode 100644
index 3fddeb3f..00000000
--- a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case3.json
+++ /dev/null
@@ -1,1 +0,0 @@
-{"ton": {"model_save_dirs": "reizman_suzuki_case3_ton_BNN_model.pt", "data_transformation_dict": {"t_res": [261.9145833333333, 223.40963170223077], "temperature": [96.72083333333335, 26.228101646368202], "catalyst_loading": [1.6280416666666666, 0.6579312735870586], "ton": [0.0, 35.25416666666667], "yield": [0.0, 55.31875]}, "X_train": [[-0.9037863612174988, -2.54386830329895, 1.345062017440796, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [-0.9037863612174988, -2.54386830329895, -1.6993290185928345, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.5132982730865479, -2.54386830329895, 1.342022180557251, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [-0.9037863612174988, -2.54386830329895, -1.716048002243042, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0], [1.5132982730865479, -2.54386830329895, -1.713008165359497, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [-0.9037863612174988, -2.54386830329895, 1.3435420989990234, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [1.5132982730865479, -2.54386830329895, -1.7008488178253174, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.9037863612174988, 0.506295382976532, 1.3481018543243408, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.9037863612174988, 0.506295382976532, -1.7023687362670898, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [1.5132982730865479, 0.506295382976532, -1.6932493448257446, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [1.5132982730865479, 0.506295382976532, 1.319223403930664, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0], [1.5132982730865479, 0.506295382976532, -1.7099683284759521, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [-0.9037863612174988, 0.506295382976532, 1.3313827514648438, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [-0.9037863612174988, 0.506295382976532, -1.6993290185928345, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.5132982730865479, 0.506295382976532, 1.3146636486053467, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.32323846220970154, 0.506295382976532, -0.7767401933670044, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [-0.32323846220970154, 0.506295382976532, 1.3481018543243408, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.32323846220970154, 0.506295382976532, 1.319223403930664, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0], [-0.9037863612174988, 0.506295382976532, -0.7934592962265015, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [-0.32323846220970154, 0.506295382976532, 1.3146636486053467, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.9037863612174988, 0.506295382976532, 1.3161835670471191, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.9037863612174988, 0.506295382976532, 1.3313827514648438, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [-0.32323846220970154, -1.1979835033416748, -0.7934592962265015, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.32323846220970154, -1.1979835033416748, 1.342022180557251, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [-0.9037863612174988, -1.1979835033416748, -0.7949791550636292, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.9037863612174988, -1.1979835033416748, 1.3435420989990234, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [-0.9037863612174988, -1.1979835033416748, 1.345062017440796, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [-0.9037863612174988, -1.1979835033416748, -0.7569813132286072, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.5132982730865479, 0.3194728493690491, 1.345062017440796, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [1.5132982730865479, 0.506295382976532, 1.1003555059432983, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.5132982730865479, 0.506295382976532, 1.2310682535171509, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.5132982730865479, 0.506295382976532, 1.0471584796905518, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [1.5132982730865479, 0.506295382976532, 1.0897161960601807, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.5132982730865479, 0.506295382976532, 1.1626720428466797, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [1.5132982730865479, -1.8461432456970215, -1.3375890254974365, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [-0.6159742474555969, 0.506295382976532, -0.7828198671340942, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [-0.2641541659832001, 0.506295382976532, -0.6217088103294373, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.4521496295928955, 0.506295382976532, -0.8420965671539307, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.6208979487419128, 0.506295382976532, -0.7949791550636292, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.5132982730865479, -0.492633193731308, -0.8618554472923279, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [-0.9037863612174988, 0.506295382976532, -0.31772568821907043, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [-0.9037863612174988, 0.506295382976532, 0.06681295484304428, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.9037863612174988, 0.506295382976532, -0.4803566634654999, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [-0.9037863612174988, 0.506295382976532, -0.32076552510261536, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.33621910214424133, 0.506295382976532, 1.3161835670471191, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.5013865232467651, 0.506295382976532, 1.3146636486053467, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.33621910214424133, 0.26228228211402893, 1.3481018543243408, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.36710405349731445, 0.506295382976532, 1.3435420989990234, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [-0.9037863612174988, 0.506295382976532, -0.19157269597053528, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.9037863612174988, 0.506295382976532, 0.4543914198875427, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.5550995469093323, 0.506295382976532, -0.4803566634654999, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [-0.9037863612174988, 0.506295382976532, 0.028815066441893578, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [-0.3773990571498871, 0.506295382976532, -0.8816143870353699, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.3272669315338135, 0.506295382976532, -0.27668797969818115, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.2238694131374359, 0.506295382976532, -0.395241379737854, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [-0.09943431615829468, 0.506295382976532, -0.44995835423469543, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.03855958953499794, 0.506295382976532, -0.8816143870353699, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.6849059462547302, 0.506295382976532, -0.5365935564041138, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.874244213104248, 0.506295382976532, 1.186990737915039, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.3124958574771881, 0.506295382976532, 0.15648797154426575, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [-0.18179424107074738, 0.506295382976532, -0.8375368118286133, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.30981019139289856, 0.506295382976532, 0.36927616596221924, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.36620885133743286, 0.506295382976532, -0.49403589963912964, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.5277954339981079, 0.506295382976532, 0.411833792924881, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.5161576271057129, 0.506295382976532, 0.623102068901062, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [-0.9037863612174988, 0.506295382976532, 1.3146636486053467, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.7180289626121521, 0.506295382976532, 0.45287150144577026, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [-0.9037863612174988, 0.506295382976532, 0.7568546533584595, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.19432726502418518, 0.506295382976532, -0.7949791550636292, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.5649469494819641, 0.506295382976532, 0.2826409637928009, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.5132982730865479, 0.506295382976532, -1.053364872932434, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.5103387236595154, 0.506295382976532, -0.05630020797252655, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [-0.44319745898246765, 0.506295382976532, 0.11089050769805908, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.4467783272266388, 0.506295382976532, 0.07137270271778107, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [1.5132982730865479, 0.506295382976532, -0.6232287287712097, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.5132982730865479, 0.506295382976532, -0.31012609601020813, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [1.5132982730865479, 0.506295382976532, -0.32076552510261536, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.9037863612174988, 0.506295382976532, 0.45287150144577026, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [-0.9037863612174988, 0.506295382976532, 0.19600577652454376, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.5132982730865479, 0.506295382976532, 0.24160325527191162, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [1.5132982730865479, 0.506295382976532, -0.018302317708730698, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.5132982730865479, 0.506295382976532, -0.49403589963912964, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.5132982730865479, 0.506295382976532, -0.6232287287712097, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.5132982730865479, 0.506295382976532, -0.0623798705637455, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.5132982730865479, 0.506295382976532, 0.24160325527191162, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [-0.9037863612174988, -2.1549723148345947, -1.7099683284759521, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [-0.9037863612174988, -2.158785104751587, -1.7099683284759521, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [-0.14643318951129913, 0.506295382976532, -0.013742569833993912, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0]], "y_train_real": [0.09999999403953552, 0.29999998211860657, 0.09999999403953552, 0.29999998211860657, 0.29999998211860657, 0.09999999403953552, 0.29999998211860657, 32.79999923706055, 0.29999998211860657, 0.29999998211860657, 0.09999999403953552, 50.599998474121094, 16.899999618530273, 46.29999923706055, 36.599998474121094, 77.39999389648438, 34.29999923706055, 0.09999999403953552, 3.999999761581421, 31.599998474121094, 34.70000076293945, 19.89999771118164, 3.8999998569488525, 1.9999998807907104, 6.900000095367432, 8.799999237060547, 0.29999998211860657, 6.099999904632568, 1.5999999046325684, 32.599998474121094, 33.0, 37.70000076293945, 34.29999923706055, 20.899999618530273, 0.19999998807907104, 9.800000190734863, 51.400001525878906, 55.599998474121094, 77.5999984741211, 48.599998474121094, 24.799999237060547, 53.099998474121094, 59.79999923706055, 61.79999923706055, 30.299999237060547, 31.999998092651367, 33.19999694824219, 34.39999771118164, 56.599998474121094, 43.599998474121094, 60.599998474121094, 49.499996185302734, 77.39999389648438, 49.499996185302734, 59.89999771118164, 51.19999694824219, 83.0, 65.29999542236328, 35.79999923706055, 48.099998474121094, 75.89999389648438, 41.5, 65.0999984741211, 44.499996185302734, 42.999996185302734, 34.39999771118164, 46.89999771118164, 38.29999923706055, 80.79999542236328, 40.5, 85.5999984741211, 52.099998474121094, 40.0, 53.79999542236328, 74.29999542236328, 49.29999923706055, 66.39999389648438, 45.39999771118164, 44.29999923706055, 45.29999923706055, 52.29999923706055, 64.4000015258789, 65.4000015258789, 47.19999694824219, 43.599998474121094, 0.29999998211860657, 0.29999998211860657, 49.599998474121094], "y_train_pred": [0.8450130820274353, 0.8112775683403015, 0.8928122520446777, 0.7418525815010071, 0.7487842440605164, 1.2594935894012451, 0.8522350192070007, 35.02934265136719, 1.3953765630722046, 1.769978404045105, 2.178603410720825, 58.96432113647461, 18.78529167175293, 45.862693786621094, 33.282249450683594, 64.32888793945312, 32.59459686279297, 2.8688290119171143, 3.849534273147583, 31.443035125732422, 31.373058319091797, 18.78529167175293, 1.0567677021026611, 1.0766761302947998, 10.5238037109375, 8.311203956604004, 0.9947143197059631, 2.528536081314087, 2.7427172660827637, 36.82235336303711, 31.446956634521484, 34.234378814697266, 34.34891128540039, 18.261716842651367, 0.8158009648323059, 13.246419906616211, 51.21366882324219, 54.52485656738281, 72.82140350341797, 40.89430618286133, 19.87018585205078, 47.10154342651367, 60.91917419433594, 62.51852798461914, 29.372737884521484, 32.05952072143555, 29.1663761138916, 30.95145034790039, 59.94395065307617, 41.79922866821289, 61.146907806396484, 52.53025817871094, 75.07250213623047, 51.27285385131836, 58.949302673339844, 51.72504425048828, 76.01435852050781, 67.52639770507812, 32.771732330322266, 49.45122146606445, 74.95134735107422, 42.90399169921875, 67.67586517333984, 42.341156005859375, 41.84613800048828, 34.065677642822266, 45.05446243286133, 37.79585266113281, 74.13768005371094, 43.9946174621582, 78.67903900146484, 53.66789245605469, 46.35862731933594, 51.26943588256836, 69.94689178466797, 53.07779312133789, 56.557647705078125, 45.57361602783203, 45.34148025512695, 45.455352783203125, 51.173282623291016, 67.26454162597656, 69.94689178466797, 52.00925064086914, 45.455352783203125, 0.8432252407073975, 0.8429027199745178, 52.050838470458984], "X_test": [[1.5132982730865479, -2.54386830329895, 1.3161835670471191, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.32323846220970154, -1.1979835033416748, -0.7828198671340942, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [1.5132982730865479, -0.9539704322814941, -0.6566668748855591, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [-0.759656548500061, 0.506295382976532, 0.24160325527191162, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [1.5132982730865479, 0.506295382976532, -0.8177779316902161, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.9037863612174988, 0.506295382976532, -0.3268451690673828, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.9037863612174988, -1.1979835033416748, -0.7888995409011841, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0], [-0.32323846220970154, 0.506295382976532, -0.7812999486923218, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0]], "y_test_real": [0.09999999403953552, 0.699999988079071, 0.09999999403953552, 50.5, 80.0999984741211, 31.100000381469727, 0.09999999403953552, 2.5999999046325684], "y_test_pred": [1.1559386253356934, 0.8686304688453674, 0.9131718873977661, 48.66413116455078, 73.9862060546875, 55.43650436401367, 0.8805148005485535, 3.6061794757843018]}, "yield": {"model_save_dir": "reizman_suzuki_case3_yield_BNN_model.pt", "data_transformation_dict": {"t_res": [261.9145833333333, 223.40963170223077], "temperature": [96.72083333333335, 26.228101646368202], "catalyst_loading": [1.6280416666666666, 0.6579312735870586], "ton": [0.0, 35.25416666666667], "yield": [0.0, 55.31875]}, "X_train": [[-0.9037863612174988, -2.54386830329895, 1.345062017440796, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [-0.9037863612174988, -2.54386830329895, -1.6993290185928345, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.5132982730865479, -2.54386830329895, 1.342022180557251, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [-0.9037863612174988, -2.54386830329895, -1.716048002243042, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0], [1.5132982730865479, -2.54386830329895, -1.713008165359497, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [-0.9037863612174988, -2.54386830329895, 1.3435420989990234, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [1.5132982730865479, -2.54386830329895, -1.7008488178253174, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.9037863612174988, 0.506295382976532, 1.3481018543243408, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.9037863612174988, 0.506295382976532, -1.7023687362670898, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [1.5132982730865479, 0.506295382976532, -1.6932493448257446, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [1.5132982730865479, 0.506295382976532, 1.319223403930664, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0], [1.5132982730865479, 0.506295382976532, -1.7099683284759521, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [-0.9037863612174988, 0.506295382976532, 1.3313827514648438, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [-0.9037863612174988, 0.506295382976532, -1.6993290185928345, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.5132982730865479, 0.506295382976532, 1.3146636486053467, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.32323846220970154, 0.506295382976532, -0.7767401933670044, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [-0.32323846220970154, 0.506295382976532, 1.3481018543243408, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.32323846220970154, 0.506295382976532, 1.319223403930664, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0], [-0.9037863612174988, 0.506295382976532, -0.7934592962265015, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [-0.32323846220970154, 0.506295382976532, 1.3146636486053467, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.9037863612174988, 0.506295382976532, 1.3161835670471191, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.9037863612174988, 0.506295382976532, 1.3313827514648438, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [-0.32323846220970154, -1.1979835033416748, -0.7934592962265015, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.32323846220970154, -1.1979835033416748, 1.342022180557251, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [-0.9037863612174988, -1.1979835033416748, -0.7949791550636292, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.9037863612174988, -1.1979835033416748, 1.3435420989990234, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [-0.9037863612174988, -1.1979835033416748, 1.345062017440796, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [-0.9037863612174988, -1.1979835033416748, -0.7569813132286072, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.5132982730865479, 0.3194728493690491, 1.345062017440796, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [1.5132982730865479, 0.506295382976532, 1.1003555059432983, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.5132982730865479, 0.506295382976532, 1.2310682535171509, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.5132982730865479, 0.506295382976532, 1.0471584796905518, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [1.5132982730865479, 0.506295382976532, 1.0897161960601807, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.5132982730865479, 0.506295382976532, 1.1626720428466797, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [1.5132982730865479, -1.8461432456970215, -1.3375890254974365, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [-0.6159742474555969, 0.506295382976532, -0.7828198671340942, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [-0.2641541659832001, 0.506295382976532, -0.6217088103294373, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.4521496295928955, 0.506295382976532, -0.8420965671539307, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.6208979487419128, 0.506295382976532, -0.7949791550636292, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.5132982730865479, -0.492633193731308, -0.8618554472923279, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [-0.9037863612174988, 0.506295382976532, -0.31772568821907043, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [-0.9037863612174988, 0.506295382976532, 0.06681295484304428, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.9037863612174988, 0.506295382976532, -0.4803566634654999, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [-0.9037863612174988, 0.506295382976532, -0.32076552510261536, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.33621910214424133, 0.506295382976532, 1.3161835670471191, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.5013865232467651, 0.506295382976532, 1.3146636486053467, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.33621910214424133, 0.26228228211402893, 1.3481018543243408, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.36710405349731445, 0.506295382976532, 1.3435420989990234, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [-0.9037863612174988, 0.506295382976532, -0.19157269597053528, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.9037863612174988, 0.506295382976532, 0.4543914198875427, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.5550995469093323, 0.506295382976532, -0.4803566634654999, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [-0.9037863612174988, 0.506295382976532, 0.028815066441893578, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [-0.3773990571498871, 0.506295382976532, -0.8816143870353699, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.3272669315338135, 0.506295382976532, -0.27668797969818115, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.2238694131374359, 0.506295382976532, -0.395241379737854, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [-0.09943431615829468, 0.506295382976532, -0.44995835423469543, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.03855958953499794, 0.506295382976532, -0.8816143870353699, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.6849059462547302, 0.506295382976532, -0.5365935564041138, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.874244213104248, 0.506295382976532, 1.186990737915039, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.3124958574771881, 0.506295382976532, 0.15648797154426575, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [-0.18179424107074738, 0.506295382976532, -0.8375368118286133, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.30981019139289856, 0.506295382976532, 0.36927616596221924, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.36620885133743286, 0.506295382976532, -0.49403589963912964, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.5277954339981079, 0.506295382976532, 0.411833792924881, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.5161576271057129, 0.506295382976532, 0.623102068901062, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [-0.9037863612174988, 0.506295382976532, 1.3146636486053467, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.7180289626121521, 0.506295382976532, 0.45287150144577026, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [-0.9037863612174988, 0.506295382976532, 0.7568546533584595, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.19432726502418518, 0.506295382976532, -0.7949791550636292, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.5649469494819641, 0.506295382976532, 0.2826409637928009, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.5132982730865479, 0.506295382976532, -1.053364872932434, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.5103387236595154, 0.506295382976532, -0.05630020797252655, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [-0.44319745898246765, 0.506295382976532, 0.11089050769805908, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.4467783272266388, 0.506295382976532, 0.07137270271778107, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [1.5132982730865479, 0.506295382976532, -0.6232287287712097, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.5132982730865479, 0.506295382976532, -0.31012609601020813, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [1.5132982730865479, 0.506295382976532, -0.32076552510261536, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.9037863612174988, 0.506295382976532, 0.45287150144577026, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [-0.9037863612174988, 0.506295382976532, 0.19600577652454376, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.5132982730865479, 0.506295382976532, 0.24160325527191162, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [1.5132982730865479, 0.506295382976532, -0.018302317708730698, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.5132982730865479, 0.506295382976532, -0.49403589963912964, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.5132982730865479, 0.506295382976532, -0.6232287287712097, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.5132982730865479, 0.506295382976532, -0.0623798705637455, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.5132982730865479, 0.506295382976532, 0.24160325527191162, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [-0.9037863612174988, -2.1549723148345947, -1.7099683284759521, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [-0.9037863612174988, -2.158785104751587, -1.7099683284759521, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [-0.14643318951129913, 0.506295382976532, -0.013742569833993912, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0]], "y_train_real": [0.20000000298023224, 0.20000000298023224, 0.20000000298023224, 0.20000000298023224, 0.20000000298023224, 0.20000000298023224, 0.20000000298023224, 82.5999984741211, 0.20000000298023224, 0.20000000298023224, 0.20000000298023224, 25.399999618530273, 42.19999694824219, 23.599998474121094, 91.29999542236328, 86.5, 86.4000015258789, 0.20000000298023224, 4.400000095367432, 78.80000305175781, 86.69999694824219, 49.89999771118164, 4.299999713897705, 5.099999904632568, 7.599999904632568, 22.099998474121094, 0.699999988079071, 6.899999618530273, 4.099999904632568, 76.5999984741211, 80.30000305175781, 87.4000015258789, 80.30000305175781, 49.89999771118164, 0.20000000298023224, 10.899999618530273, 62.59999465942383, 59.70000076293945, 85.79999542236328, 51.69999694824219, 35.099998474121094, 88.79999542236328, 78.39999389648438, 87.5, 75.39999389648438, 79.79999542236328, 83.4000015258789, 86.5, 85.0, 84.19999694824219, 79.39999389648438, 81.39999389648438, 81.0999984741211, 71.5, 82.0, 68.19999694824219, 86.99999237060547, 83.30000305175781, 86.4000015258789, 83.30000305175781, 81.69999694824219, 77.69999694824219, 84.9000015258789, 84.5999984741211, 87.69999694824219, 85.9000015258789, 90.4000015258789, 81.39999389648438, 89.4000015258789, 73.5, 79.89999389648438, 82.89999389648438, 67.99999237060547, 90.09999084472656, 90.5999984741211, 70.0999984741211, 94.0999984741211, 87.5999984741211, 77.89999389648438, 81.0, 84.5, 83.99999237060547, 79.5999984741211, 75.0, 78.0, 0.20000000298023224, 0.20000000298023224, 80.0999984741211], "y_train_pred": [2.081887722015381, 1.92433762550354, 2.1737661361694336, 1.834982991218567, 1.9578450918197632, 2.1658029556274414, 1.976318597793579, 86.04830169677734, 2.0837366580963135, 2.2350640296936035, 9.803340911865234, 60.31801223754883, 47.722713470458984, 40.04825210571289, 87.95635986328125, 76.58281707763672, 84.42342376708984, 9.727190971374512, 2.2180864810943604, 90.21076965332031, 85.39569854736328, 47.722713470458984, 2.081028699874878, 2.219944953918457, 2.196312427520752, 24.8190975189209, 2.217712879180908, 2.084465980529785, 9.829809188842773, 87.15949249267578, 84.05644989013672, 81.9974136352539, 79.42538452148438, 46.4561882019043, 2.0172677040100098, 18.832595825195312, 65.63565063476562, 62.15193176269531, 81.5349349975586, 38.59238052368164, 27.781688690185547, 76.38719940185547, 79.82872009277344, 85.28115844726562, 84.44256591796875, 90.76126861572266, 76.55936431884766, 87.86643981933594, 85.83885192871094, 80.30094909667969, 80.27703857421875, 84.07408142089844, 81.05657958984375, 72.43310546875, 80.35762786865234, 70.04060363769531, 80.90985870361328, 84.03771209716797, 84.52696990966797, 83.150146484375, 81.66897583007812, 79.9119644165039, 83.84825134277344, 80.36991882324219, 85.62002563476562, 92.33824157714844, 85.65265655517578, 82.39385223388672, 82.0899658203125, 79.51517486572266, 78.9937744140625, 83.00667572021484, 78.24557495117188, 83.27919006347656, 80.95848846435547, 76.09795379638672, 77.18943786621094, 86.000732421875, 77.98270416259766, 78.50062561035156, 79.30335235595703, 81.36139678955078, 80.95848846435547, 79.13599395751953, 78.50062561035156, 1.9374065399169922, 1.9370567798614502, 81.93885803222656], "X_test": [[1.5132982730865479, -2.54386830329895, 1.3161835670471191, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.32323846220970154, -1.1979835033416748, -0.7828198671340942, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [1.5132982730865479, -0.9539704322814941, -0.6566668748855591, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [-0.759656548500061, 0.506295382976532, 0.24160325527191162, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [1.5132982730865479, 0.506295382976532, -0.8177779316902161, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.9037863612174988, 0.506295382976532, -0.3268451690673828, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.9037863612174988, -1.1979835033416748, -0.7888995409011841, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0], [-0.32323846220970154, 0.506295382976532, -0.7812999486923218, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0]], "y_test_real": [0.20000000298023224, 0.800000011920929, 0.20000000298023224, 90.19999694824219, 87.29999542236328, 43.89999771118164, 0.20000000298023224, 2.8999998569488525], "y_test_pred": [2.2267303466796875, 2.071106433868408, 2.1548149585723877, 84.86591339111328, 80.35175323486328, 70.42321014404297, 2.0346617698669434, 2.2745189666748047]}}
diff --git a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case3_ton_BNN_model.pt b/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case3_ton_BNN_model.pt
deleted file mode 100644
index b173322c..00000000
Binary files a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case3_ton_BNN_model.pt and /dev/null differ
diff --git a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case3_yield_BNN_model.pt b/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case3_yield_BNN_model.pt
deleted file mode 100644
index 5e1ed68e..00000000
Binary files a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case3_yield_BNN_model.pt and /dev/null differ
diff --git a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case4.json b/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case4.json
deleted file mode 100644
index dfbcca22..00000000
--- a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case4.json
+++ /dev/null
@@ -1,1 +0,0 @@
-{"ton": {"model_save_dirs": "reizman_suzuki_case4_ton_BNN_model.pt", "data_transformation_dict": {"t_res": [341.9298969072165, 224.0018359483618], "temperature": [86.8319587628866, 23.785252930923193], "catalyst_loading": [1.651721649484536, 0.7336161914348833], "ton": [0.0, 47.69072164948453], "yield": [0.0, 66.54329896907217]}, "X_train": [[1.152089238166809, 0.9740506410598755, 1.1617496013641357, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0], [1.152089238166809, 0.9740506410598755, 1.154934048652649, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [-1.2586052417755127, 0.9740506410598755, 1.1440292596817017, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [-1.2586052417755127, 0.9740506410598755, -1.5671977996826172, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [1.152089238166809, 0.9740506410598755, -1.561745285987854, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.152089238166809, 0.9740506410598755, -1.5549297332763672, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-1.2586052417755127, 0.9740506410598755, -1.5849181413650513, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [-1.2586052417755127, 0.9740506410598755, 1.1576603651046753, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.152089238166809, -2.3893778324127197, -1.569923996925354, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-1.2586052417755127, -2.3893778324127197, -1.569923996925354, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [1.152089238166809, -2.3893778324127197, 1.1453922986984253, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [-1.2586052417755127, -2.3893778324127197, 1.1658389568328857, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.152089238166809, -2.3893778324127197, 1.1699283123016357, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [1.152089238166809, -0.9052650928497314, 1.167202115058899, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.152089238166809, -0.9052650928497314, -0.724795401096344, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.6795921921730042, -0.9052650928497314, -0.7152536511421204, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0], [1.152089238166809, -0.9052650928497314, 1.1453922986984253, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [-0.6795921921730042, -0.9052650928497314, 1.1658389568328857, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.152089238166809, -0.9052650928497314, -0.7166167497634888, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [-0.6795921921730042, -0.9052650928497314, -0.7207061052322388, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [-0.6795921921730042, -0.9052650928497314, -0.709801197052002, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [-0.6795921921730042, 0.9740506410598755, 1.1576603651046753, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.152089238166809, 0.9740506410598755, 1.1617496013641357, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0], [1.152089238166809, 0.9740506410598755, 1.1699283123016357, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [-0.6795921921730042, 0.9740506410598755, 1.1440292596817017, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [1.152089238166809, 0.9740506410598755, -0.724795401096344, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.152089238166809, 0.9740506410598755, 1.154934048652649, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [-0.6795921921730042, 0.9740506410598755, -0.739789605140686, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-1.0144108533859253, 0.9740506410598755, -0.7806829214096069, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [-1.0144108533859253, 0.9740506410598755, -0.7834091782569885, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0], [-0.4099515378475189, 0.9740506410598755, -0.912904679775238, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [-0.8554835915565491, -0.6403950452804565, -0.8379335999488831, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.8755727410316467, -0.23678363859653473, -0.7915878295898438, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.5170935392379761, -0.7286850810050964, -0.6866283416748047, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [-0.06932932883501053, 0.9404163956642151, -0.9810602068901062, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [-0.7724485397338867, 0.1247849315404892, -1.08193039894104, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.152089238166809, -1.0482107400894165, 1.1576603651046753, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.5103971362113953, 0.6208906769752502, 1.1658389568328857, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.152089238166809, -0.13167649507522583, 1.1453922986984253, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [1.152089238166809, -0.46801936626434326, 1.1699283123016357, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [-0.711288332939148, 0.721793532371521, 1.167202115058899, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.152089238166809, -1.0650279521942139, -0.3608448803424835, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.152089238166809, 0.8395135402679443, -0.5952998995780945, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.152089238166809, -0.08963363617658615, 0.1925780177116394, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [1.152089238166809, 0.4064720869064331, 0.4433903694152832, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.152089238166809, 0.9740506410598755, -0.5666745901107788, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [1.152089238166809, -0.5521050691604614, 1.1658389568328857, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.9264651536941528, 0.9740506410598755, -0.16592006385326385, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [-0.6510210037231445, 0.2046663612127304, 0.5428974628448486, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.509057879447937, 0.8269006609916687, -1.1800743341445923, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.3639697730541229, 0.05751636251807213, 0.6083267331123352, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.152089238166809, -0.2536007761955261, 0.4692894518375397, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.7715557217597961, 0.49055778980255127, 0.5510761141777039, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [-0.4688796401023865, 0.7764492034912109, -1.2441405057907104, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-1.2586052417755127, -0.6908465027809143, 0.08625538647174835, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-1.2586052417755127, -0.1989450752735138, 0.8768595457077026, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [-1.2586052417755127, -0.05179506540298462, 1.1658389568328857, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.152089238166809, 0.4569235146045685, -1.276855230331421, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.152089238166809, -0.5899436473846436, -0.46035194396972656, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.18763193488121033, -0.5605136156082153, 1.1576603651046753, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.4679867625236511, 0.368633508682251, -0.13320541381835938, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [1.152089238166809, 0.007064933888614178, 0.20348289608955383, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.6514674425125122, 0.9740506410598755, -0.32676711678504944, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.6211104989051819, 0.9235992431640625, -0.400375097990036, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.610842764377594, -0.4427936375141144, 0.0044687543995678425, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.5313791036605835, -0.5100622177124023, -0.10866942256689072, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.7782520651817322, -0.573126494884491, 0.8659546375274658, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.6318247318267822, -0.4638150632381439, 0.4024970531463623, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.152089238166809, -0.11065506935119629, 1.1658389568328857, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.152089238166809, 0.477944940328598, 1.1699283123016357, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [1.152089238166809, 0.4569235146045685, 1.1576603651046753, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.152089238166809, -0.6782336235046387, -0.6920807361602783, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.857269287109375, 0.25932207703590393, 1.1699283123016357, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [1.152089238166809, 0.4148806631565094, -1.2441405057907104, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.5612896084785461, 0.7932663559913635, -0.3622080087661743, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [1.152089238166809, 0.4401063621044159, -1.276855230331421, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.152089238166809, 0.07433350384235382, -0.9197202324867249, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.152089238166809, -0.39654651284217834, -0.6252883672714233, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.9621791243553162, 0.45271921157836914, 1.1699283123016357, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [-0.2925417721271515, -0.7370936274528503, 1.1658389568328857, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-1.2586052417755127, 0.9740506410598755, -1.3749991655349731, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-1.2586052417755127, 0.9740506410598755, -1.3422845602035522, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.3737911283969879, -0.6403950452804565, 1.1658389568328857, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.581378698348999, 0.7512235045433044, -0.6252883672714233, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-1.0206607580184937, 0.9740506410598755, -0.724795401096344, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.152089238166809, -1.1827479600906372, 1.1658389568328857, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-1.2586052417755127, 0.9740506410598755, -0.7575100660324097, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.152089238166809, -0.6067607998847961, 1.1658389568328857, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-1.2586052417755127, 0.9740506410598755, -0.9197202324867249, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]], "y_train_real": [11.699999809265137, 21.400001525878906, 9.5, 129.20001220703125, 99.30000305175781, 107.80000305175781, 32.400001525878906, 37.60000228881836, 2.9000000953674316, 0.20000000298023224, 4.600000381469727, 0.0, 2.700000047683716, 38.10000228881836, 65.30000305175781, 1.3000000715255737, 29.700000762939453, 36.400001525878906, 0.7000000476837158, 60.80000305175781, 1.3000000715255737, 34.900001525878906, 16.100000381469727, 32.80000305175781, 11.600000381469727, 72.19999694824219, 25.700000762939453, 80.60000610351562, 31.400001525878906, 21.400001525878906, 26.800003051757812, 27.700000762939453, 74.9000015258789, 8.100000381469727, 96.10000610351562, 100.69999694824219, 37.80000305175781, 33.599998474121094, 35.900001525878906, 36.099998474121094, 34.099998474121094, 59.500003814697266, 72.5, 48.30000305175781, 41.30000305175781, 34.80000305175781, 35.099998474121094, 55.80000305175781, 42.10000228881836, 108.50000762939453, 40.0, 47.60000228881836, 39.400001525878906, 106.80000305175781, 39.10000228881836, 40.0, 34.5, 115.4000015258789, 66.19999694824219, 39.900001525878906, 51.400001525878906, 46.900001525878906, 59.900001525878906, 49.500003814697266, 50.000003814697266, 51.900001525878906, 38.400001525878906, 50.70000076293945, 35.5, 33.0, 33.5, 69.30000305175781, 33.599998474121094, 105.30000305175781, 61.70000076293945, 118.50000762939453, 87.60000610351562, 66.19999694824219, 28.900001525878906, 39.70000076293945, 129.39999389648438, 105.10000610351562, 33.70000076293945, 65.19999694824219, 81.4000015258789, 34.400001525878906, 86.30000305175781, 33.70000076293945, 55.500003814697266], "y_train_pred": [15.42169189453125, 23.80141830444336, 11.633830070495605, 114.93148803710938, 103.2105712890625, 109.24052429199219, 34.47035598754883, 36.09809112548828, 30.3226261138916, 1.0298866033554077, 1.926673173904419, 9.183037757873535, 5.116330146789551, 33.54264831542969, 54.809303283691406, 1.0859719514846802, 27.617773056030273, 32.85137176513672, 1.095021367073059, 50.40502166748047, 1.0916856527328491, 35.941184997558594, 15.42169189453125, 32.93295669555664, 12.521228790283203, 82.18125915527344, 23.80141830444336, 69.8754653930664, 32.10008239746094, 22.42676544189453, 27.187166213989258, 32.779327392578125, 67.523681640625, 1.6618951559066772, 93.90228271484375, 84.85347747802734, 35.889530181884766, 35.63447952270508, 30.95512580871582, 30.6851806640625, 33.41370391845703, 49.58717346191406, 84.15714263916016, 46.17445373535156, 44.22899627685547, 32.941715240478516, 36.986610412597656, 64.77717590332031, 38.33751678466797, 99.56199645996094, 37.9857292175293, 44.05641555786133, 39.44364547729492, 101.45980834960938, 36.46095657348633, 34.14350128173828, 33.52307891845703, 103.22874450683594, 61.68413162231445, 33.994972229003906, 57.86460876464844, 48.091487884521484, 62.56977462768555, 72.5108413696289, 46.746212005615234, 44.9310417175293, 35.67906188964844, 41.553157806396484, 37.77522277832031, 32.159671783447266, 38.174015045166016, 65.04012298583984, 29.55898666381836, 101.76663208007812, 69.8567886352539, 103.0765380859375, 87.05721282958984, 67.9883041381836, 30.34239387512207, 33.76567840576172, 106.86862182617188, 105.69612884521484, 33.79032516479492, 70.80205535888672, 83.88179016113281, 36.0008430480957, 84.73773193359375, 36.89864730834961, 90.5513687133789], "X_test": [[-1.2586052417755127, -2.3893778324127197, 1.167202115058899, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-1.2586052417755127, -2.3893778324127197, -1.5685608386993408, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0], [1.152089238166809, -0.40495505928993225, -0.46035194396972656, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.09968622028827667, 0.33920350670814514, -0.6552767753601074, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [-0.6795921921730042, 0.9740506410598755, -0.7193429470062256, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [-1.2586052417755127, 0.9109863638877869, 1.154934048652649, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [1.152089238166809, -2.3893778324127197, -1.565834641456604, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [-0.8385194540023804, 0.9740506410598755, -0.7575100660324097, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]], "y_test_real": [1.600000023841858, 0.20000000298023224, 67.30000305175781, 71.4000015258789, 50.599998474121094, 19.400001525878906, 0.20000000298023224, 80.9000015258789], "y_test_pred": [1.0926612615585327, 1.0260913372039795, 62.88003921508789, 76.80216217041016, 18.009828567504883, 15.01948070526123, 1.0278944969177246, 85.29660034179688]}, "yield": {"model_save_dir": "reizman_suzuki_case4_yield_BNN_model.pt", "data_transformation_dict": {"t_res": [341.9298969072165, 224.0018359483618], "temperature": [86.8319587628866, 23.785252930923193], "catalyst_loading": [1.651721649484536, 0.7336161914348833], "ton": [0.0, 47.69072164948453], "yield": [0.0, 66.54329896907217]}, "X_train": [[1.152089238166809, 0.9740506410598755, 1.1617496013641357, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0], [1.152089238166809, 0.9740506410598755, 1.154934048652649, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [-1.2586052417755127, 0.9740506410598755, 1.1440292596817017, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [-1.2586052417755127, 0.9740506410598755, -1.5671977996826172, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [1.152089238166809, 0.9740506410598755, -1.561745285987854, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.152089238166809, 0.9740506410598755, -1.5549297332763672, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-1.2586052417755127, 0.9740506410598755, -1.5849181413650513, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [-1.2586052417755127, 0.9740506410598755, 1.1576603651046753, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.152089238166809, -2.3893778324127197, -1.569923996925354, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-1.2586052417755127, -2.3893778324127197, -1.569923996925354, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [1.152089238166809, -2.3893778324127197, 1.1453922986984253, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [-1.2586052417755127, -2.3893778324127197, 1.1658389568328857, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.152089238166809, -2.3893778324127197, 1.1699283123016357, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [1.152089238166809, -0.9052650928497314, 1.167202115058899, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.152089238166809, -0.9052650928497314, -0.724795401096344, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.6795921921730042, -0.9052650928497314, -0.7152536511421204, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0], [1.152089238166809, -0.9052650928497314, 1.1453922986984253, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [-0.6795921921730042, -0.9052650928497314, 1.1658389568328857, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.152089238166809, -0.9052650928497314, -0.7166167497634888, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [-0.6795921921730042, -0.9052650928497314, -0.7207061052322388, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [-0.6795921921730042, -0.9052650928497314, -0.709801197052002, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [-0.6795921921730042, 0.9740506410598755, 1.1576603651046753, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.152089238166809, 0.9740506410598755, 1.1617496013641357, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0], [1.152089238166809, 0.9740506410598755, 1.1699283123016357, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [-0.6795921921730042, 0.9740506410598755, 1.1440292596817017, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [1.152089238166809, 0.9740506410598755, -0.724795401096344, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.152089238166809, 0.9740506410598755, 1.154934048652649, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [-0.6795921921730042, 0.9740506410598755, -0.739789605140686, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-1.0144108533859253, 0.9740506410598755, -0.7806829214096069, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [-1.0144108533859253, 0.9740506410598755, -0.7834091782569885, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0], [-0.4099515378475189, 0.9740506410598755, -0.912904679775238, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [-0.8554835915565491, -0.6403950452804565, -0.8379335999488831, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.8755727410316467, -0.23678363859653473, -0.7915878295898438, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.5170935392379761, -0.7286850810050964, -0.6866283416748047, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [-0.06932932883501053, 0.9404163956642151, -0.9810602068901062, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [-0.7724485397338867, 0.1247849315404892, -1.08193039894104, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.152089238166809, -1.0482107400894165, 1.1576603651046753, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.5103971362113953, 0.6208906769752502, 1.1658389568328857, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.152089238166809, -0.13167649507522583, 1.1453922986984253, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [1.152089238166809, -0.46801936626434326, 1.1699283123016357, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [-0.711288332939148, 0.721793532371521, 1.167202115058899, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.152089238166809, -1.0650279521942139, -0.3608448803424835, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.152089238166809, 0.8395135402679443, -0.5952998995780945, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.152089238166809, -0.08963363617658615, 0.1925780177116394, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [1.152089238166809, 0.4064720869064331, 0.4433903694152832, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.152089238166809, 0.9740506410598755, -0.5666745901107788, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [1.152089238166809, -0.5521050691604614, 1.1658389568328857, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.9264651536941528, 0.9740506410598755, -0.16592006385326385, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [-0.6510210037231445, 0.2046663612127304, 0.5428974628448486, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.509057879447937, 0.8269006609916687, -1.1800743341445923, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.3639697730541229, 0.05751636251807213, 0.6083267331123352, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.152089238166809, -0.2536007761955261, 0.4692894518375397, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.7715557217597961, 0.49055778980255127, 0.5510761141777039, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [-0.4688796401023865, 0.7764492034912109, -1.2441405057907104, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-1.2586052417755127, -0.6908465027809143, 0.08625538647174835, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-1.2586052417755127, -0.1989450752735138, 0.8768595457077026, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [-1.2586052417755127, -0.05179506540298462, 1.1658389568328857, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.152089238166809, 0.4569235146045685, -1.276855230331421, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.152089238166809, -0.5899436473846436, -0.46035194396972656, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.18763193488121033, -0.5605136156082153, 1.1576603651046753, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.4679867625236511, 0.368633508682251, -0.13320541381835938, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [1.152089238166809, 0.007064933888614178, 0.20348289608955383, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.6514674425125122, 0.9740506410598755, -0.32676711678504944, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.6211104989051819, 0.9235992431640625, -0.400375097990036, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.610842764377594, -0.4427936375141144, 0.0044687543995678425, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.5313791036605835, -0.5100622177124023, -0.10866942256689072, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.7782520651817322, -0.573126494884491, 0.8659546375274658, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.6318247318267822, -0.4638150632381439, 0.4024970531463623, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.152089238166809, -0.11065506935119629, 1.1658389568328857, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.152089238166809, 0.477944940328598, 1.1699283123016357, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [1.152089238166809, 0.4569235146045685, 1.1576603651046753, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.152089238166809, -0.6782336235046387, -0.6920807361602783, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.857269287109375, 0.25932207703590393, 1.1699283123016357, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [1.152089238166809, 0.4148806631565094, -1.2441405057907104, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.5612896084785461, 0.7932663559913635, -0.3622080087661743, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [1.152089238166809, 0.4401063621044159, -1.276855230331421, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.152089238166809, 0.07433350384235382, -0.9197202324867249, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.152089238166809, -0.39654651284217834, -0.6252883672714233, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.9621791243553162, 0.45271921157836914, 1.1699283123016357, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [-0.2925417721271515, -0.7370936274528503, 1.1658389568328857, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-1.2586052417755127, 0.9740506410598755, -1.3749991655349731, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-1.2586052417755127, 0.9740506410598755, -1.3422845602035522, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.3737911283969879, -0.6403950452804565, 1.1658389568328857, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.581378698348999, 0.7512235045433044, -0.6252883672714233, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-1.0206607580184937, 0.9740506410598755, -0.724795401096344, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.152089238166809, -1.1827479600906372, 1.1658389568328857, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-1.2586052417755127, 0.9740506410598755, -0.7575100660324097, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.152089238166809, -0.6067607998847961, 1.1658389568328857, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-1.2586052417755127, 0.9740506410598755, -0.9197202324867249, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]], "y_train_real": [29.39999771118164, 53.599998474121094, 23.700000762939453, 64.79999542236328, 50.29999542236328, 55.099998474121094, 15.799999237060547, 94.0999984741211, 1.4999998807907104, 0.10000000149011612, 11.5, 0.10000000149011612, 6.899999618530273, 95.49999237060547, 73.09999084472656, 1.399999976158142, 74.0999984741211, 91.29999542236328, 0.800000011920929, 68.29999542236328, 1.4999998807907104, 87.19999694824219, 40.39999771118164, 82.19999694824219, 28.799999237060547, 80.89999389648438, 64.29999542236328, 89.4000015258789, 33.900001525878906, 23.0, 26.299999237060547, 28.700000762939453, 80.20000457763672, 9.199999809265137, 89.5999984741211, 86.39999389648438, 94.4000015258789, 84.0999984741211, 89.4000015258789, 90.49999237060547, 85.49999237060547, 82.5999984741211, 88.09999084472656, 86.5, 81.79999542236328, 42.999996185302734, 87.99999237060547, 85.29999542236328, 86.19999694824219, 85.29999542236328, 83.89999389648438, 95.0, 80.99999237060547, 78.89999389648438, 67.0, 91.79999542236328, 86.5999984741211, 82.5, 87.0, 99.80000305175781, 79.9000015258789, 84.5999984741211, 84.5, 67.30000305175781, 82.70000457763672, 81.5999984741211, 87.89999389648438, 98.69999694824219, 88.89999389648438, 82.80000305175781, 83.79999542236328, 79.29999542236328, 84.19999694824219, 77.80000305175781, 85.59999084472656, 84.69999694824219, 85.59999084472656, 78.89999389648438, 72.5999984741211, 99.5, 83.19999694824219, 70.0999984741211, 84.5, 77.80000305175781, 91.0999984741211, 86.29999542236328, 94.5, 84.4000015258789, 54.19999694824219], "y_train_pred": [35.54450225830078, 59.80733871459961, 25.250442504882812, 77.90090942382812, 67.47372436523438, 74.37248229980469, 28.38718605041504, 92.84214782714844, 3.5544676780700684, 1.6212341785430908, 10.53608226776123, 11.678186416625977, 17.97809600830078, 91.4193115234375, 76.30033874511719, 1.9515769481658936, 73.15060424804688, 83.25015258789062, 2.0379977226257324, 53.53289794921875, 1.9951685667037964, 93.19518280029297, 35.54450225830078, 86.33750915527344, 27.575489044189453, 79.77378845214844, 59.80733871459961, 72.02770233154297, 36.19113540649414, 24.63316535949707, 26.329256057739258, 39.495609283447266, 76.7804946899414, 9.678640365600586, 77.99444580078125, 78.37606811523438, 94.70868682861328, 89.88951873779297, 80.0210189819336, 86.49639892578125, 88.5306167602539, 80.1387710571289, 84.37847137451172, 81.5871353149414, 87.21167755126953, 41.23322296142578, 95.73746490478516, 81.70634460449219, 81.76951599121094, 78.73616027832031, 83.32079315185547, 89.90313720703125, 83.48645782470703, 78.30778503417969, 68.8580551147461, 83.55089569091797, 89.2535629272461, 79.97254943847656, 83.24215698242188, 94.59231567382812, 80.92212677001953, 87.49041748046875, 80.7684555053711, 83.5801773071289, 82.42940521240234, 80.1255874633789, 87.67922973632812, 85.08876037597656, 95.13142395019531, 86.21319580078125, 96.24864959716797, 81.588134765625, 85.71527099609375, 80.18263244628906, 80.520751953125, 79.97215270996094, 82.26769256591797, 81.699951171875, 85.81624603271484, 90.82211303710938, 77.95716857910156, 78.11201477050781, 90.67843627929688, 78.71516418457031, 81.60892486572266, 95.79151153564453, 81.36697387695312, 95.8398666381836, 80.39767456054688], "X_test": [[-1.2586052417755127, -2.3893778324127197, 1.167202115058899, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-1.2586052417755127, -2.3893778324127197, -1.5685608386993408, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0], [1.152089238166809, -0.40495505928993225, -0.46035194396972656, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [-0.09968622028827667, 0.33920350670814514, -0.6552767753601074, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [-0.6795921921730042, 0.9740506410598755, -0.7193429470062256, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [-1.2586052417755127, 0.9109863638877869, 1.154934048652649, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], [1.152089238166809, -2.3893778324127197, -1.565834641456604, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [-0.8385194540023804, 0.9740506410598755, -0.7575100660324097, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]], "y_test_real": [3.999999761581421, 0.10000000149011612, 88.39999389648438, 83.5999984741211, 56.89999771118164, 48.39999771118164, 0.10000000149011612, 88.5999984741211], "y_test_pred": [2.3730311393737793, 1.611618995666504, 82.97869873046875, 78.79714965820312, 42.46806335449219, 46.13490676879883, 1.672998070716858, 81.4489974975586]}}
diff --git a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case4_ton_BNN_model.pt b/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case4_ton_BNN_model.pt
deleted file mode 100644
index 69ea095c..00000000
Binary files a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case4_ton_BNN_model.pt and /dev/null differ
diff --git a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case4_yield_BNN_model.pt b/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case4_yield_BNN_model.pt
deleted file mode 100644
index 9feab525..00000000
Binary files a/summit/benchmarks/experiment_emulator/trained_models/BNN/reizman_suzuki_case4_yield_BNN_model.pt and /dev/null differ
diff --git a/summit/benchmarks/experiment_emulator/trained_models/BNN/suzuki_reizman_case1_ParityPlot_ton.png b/summit/benchmarks/experiment_emulator/trained_models/BNN/suzuki_reizman_case1_ParityPlot_ton.png
deleted file mode 100644
index ba0f212a..00000000
Binary files a/summit/benchmarks/experiment_emulator/trained_models/BNN/suzuki_reizman_case1_ParityPlot_ton.png and /dev/null differ
diff --git a/summit/benchmarks/experiment_emulator/trained_models/BNN/suzuki_reizman_case1_ParityPlot_yield.png b/summit/benchmarks/experiment_emulator/trained_models/BNN/suzuki_reizman_case1_ParityPlot_yield.png
deleted file mode 100644
index 65e1a091..00000000
Binary files a/summit/benchmarks/experiment_emulator/trained_models/BNN/suzuki_reizman_case1_ParityPlot_yield.png and /dev/null differ
diff --git a/summit/benchmarks/experiment_emulator/trained_models/BNN/suzuki_reizman_case2_ParityPlot_ton.png b/summit/benchmarks/experiment_emulator/trained_models/BNN/suzuki_reizman_case2_ParityPlot_ton.png
deleted file mode 100644
index 7ee091b4..00000000
Binary files a/summit/benchmarks/experiment_emulator/trained_models/BNN/suzuki_reizman_case2_ParityPlot_ton.png and /dev/null differ
diff --git a/summit/benchmarks/experiment_emulator/trained_models/BNN/suzuki_reizman_case2_ParityPlot_yield.png b/summit/benchmarks/experiment_emulator/trained_models/BNN/suzuki_reizman_case2_ParityPlot_yield.png
deleted file mode 100644
index 6e5b62f6..00000000
Binary files a/summit/benchmarks/experiment_emulator/trained_models/BNN/suzuki_reizman_case2_ParityPlot_yield.png and /dev/null differ
diff --git a/summit/benchmarks/experiment_emulator/trained_models/BNN/suzuki_reizman_case3_ParityPlot_ton.png b/summit/benchmarks/experiment_emulator/trained_models/BNN/suzuki_reizman_case3_ParityPlot_ton.png
deleted file mode 100644
index ffcaebeb..00000000
Binary files a/summit/benchmarks/experiment_emulator/trained_models/BNN/suzuki_reizman_case3_ParityPlot_ton.png and /dev/null differ
diff --git a/summit/benchmarks/experiment_emulator/trained_models/BNN/suzuki_reizman_case3_ParityPlot_yield.png b/summit/benchmarks/experiment_emulator/trained_models/BNN/suzuki_reizman_case3_ParityPlot_yield.png
deleted file mode 100644
index 86c1f626..00000000
Binary files a/summit/benchmarks/experiment_emulator/trained_models/BNN/suzuki_reizman_case3_ParityPlot_yield.png and /dev/null differ
diff --git a/summit/benchmarks/experiment_emulator/trained_models/BNN/suzuki_reizman_case4_ParityPlot_ton.png b/summit/benchmarks/experiment_emulator/trained_models/BNN/suzuki_reizman_case4_ParityPlot_ton.png
deleted file mode 100644
index 0f7081f4..00000000
Binary files a/summit/benchmarks/experiment_emulator/trained_models/BNN/suzuki_reizman_case4_ParityPlot_ton.png and /dev/null differ
diff --git a/summit/benchmarks/experiment_emulator/trained_models/BNN/suzuki_reizman_case4_ParityPlot_yield.png b/summit/benchmarks/experiment_emulator/trained_models/BNN/suzuki_reizman_case4_ParityPlot_yield.png
deleted file mode 100644
index 44bf091a..00000000
Binary files a/summit/benchmarks/experiment_emulator/trained_models/BNN/suzuki_reizman_case4_ParityPlot_yield.png and /dev/null differ
diff --git a/summit/benchmarks/experimental_emulator.py b/summit/benchmarks/experimental_emulator.py
index 70ebc74b..75a19d16 100644
--- a/summit/benchmarks/experimental_emulator.py
+++ b/summit/benchmarks/experimental_emulator.py
@@ -1,160 +1,1205 @@
-import os
-import os.path as osp
-
-from summit.experiment import Experiment
-
-import numpy as np
-
-# from summit.benchmarks.experiment_emulator.bnn_emulator import BNNEmulator
 from summit.utils.dataset import DataSet
 from summit.domain import *
+from summit.experiment import Experiment
+from summit import get_summit_config_path
 from summit.utils import jsonify_dict, unjsonify_dict
 
+import torch
+import torch.nn.functional as F
+from skorch import NeuralNetRegressor
+from skorch.utils import to_device
+
+from sklearn.compose import ColumnTransformer, TransformedTargetRegressor
+from sklearn.pipeline import Pipeline
+from sklearn.preprocessing import StandardScaler, OneHotEncoder, FunctionTransformer
+from sklearn.model_selection import (
+    train_test_split,
+    cross_validate,
+    GridSearchCV,
+    ParameterGrid,
+)
+from sklearn.model_selection._search import BaseSearchCV, _check_param_grid
+from sklearn.base import BaseEstimator, RegressorMixin, is_classifier, clone
+from sklearn.model_selection._split import check_cv
+from sklearn.model_selection._validation import (
+    _fit_and_score,
+    _score,
+    _aggregate_score_dicts,
+)
+from sklearn.metrics import r2_score
+from sklearn.utils.validation import (
+    _deprecate_positional_args,
+    indexable,
+    check_is_fitted,
+    _check_fit_params,
+)
+from sklearn.utils import check_array, _safe_indexing
+from sklearn.utils.fixes import delayed
+from sklearn.metrics._scorer import _check_multimetric_scoring
+
+from tqdm.auto import tqdm
+from joblib import Parallel
+import pathlib
+import numpy as np
+from numpy.random import default_rng
+import pandas as pd
+from copy import deepcopy
+from itertools import product
+from collections import defaultdict
+from copy import deepcopy
+import pkg_resources
+import time
+import json
+import types
+import warnings
+
+__all__ = [
+    "ExperimentalEmulator",
+    "ANNRegressor",
+    "get_bnn",
+    "RegressorRegistry",
+    "registry",
+    "get_pretrained_reizman_suzuki_emulator",
+    "get_pretrained_baumgartner_cc_emulator",
+    "ReizmanSuzukiEmulator",
+    "BaumgartnerCrossCouplingEmulator",
+]
+
 
 class ExperimentalEmulator(Experiment):
     """Experimental Emulator
 
-    Parameters
-    ---------
-    domain: summit.domain.Domain
-        The domain of the experiment
-    dataset: class:~summit.utils.dataset.DataSet, optional
-        A DataSet with data for training where the data columns correspond to the domain and the data rows correspond to the training points.
-        By default: None
-    csv_dataset: string, optional
-        Path to csv_file with data for training where columns correspond to the domain and the rows correspond to the training points.
-        Note that the first row should exactly match the variable names of the domain and the second row should only have "DATA" as entry.
-        By default: None
-    model_name: string, optional
-        Name of the model that is used for saving model parameters. Should be unique.
-        By default: "dataset_emulator_model_name"
-    regressor_type: string, optional
-        Type of the regressor that is used within the emulator (available: "BNN").
-        By default: "BNN"
-    cat_to_descr: Boolean, optional
-        If True, transform categorical variable to one or more continuous variable(s)
-        corresponding to the descriptors of the categorical variable (else do nothing).
-        By default: False
+    Train a machine learning model based on experimental data.
+    The model acts a benchmark for testing optimisation strategies.
 
-    Examples
-    --------
-    >>> test_domain = ReizmanSuzukiEmulator().domain
-    >>> e = ExperimentalEmulator(domain=test_domain, model_name="Pytest")
-    No trained model for Pytest. Train this model with ExperimentalEmulator.train() in order to use this Emulator as an virtual Experiment.
-    >>> columns = [v.name for v in e.domain.variables]
-    >>> train_values = {("catalyst", "DATA"): ["P1-L2", "P1-L7", "P1-L3", "P1-L3"], ("t_res", "DATA"): [60, 120, 110, 250], ("temperature", "DATA"): [110, 30, 70, 80], ("catalyst_loading", "DATA"): [0.508, 0.6, 1.4, 1.3], ("yield", "DATA"): [20, 40, 60, 34], ("ton", "DATA"): [33, 34, 21, 22]}
-    >>> train_dataset = DataSet(train_values, columns=columns)
-    >>> e.train(train_dataset, verbose=False, cv_fold=2, test_size=0.25)
-    >>> columns = [v.name for v in e.domain.variables]
-    >>> values = [float(v.bounds[0] + 0.6 * (v.bounds[1] - v.bounds[0])) if v.variable_type == 'continuous' else v.levels[-1] for v in e.domain.variables]
-    >>> values = np.array(values)
-    >>> values = np.atleast_2d(values)
-    >>> conditions = DataSet(values, columns=columns)
-    >>> results = e.run_experiments(conditions)
+    Parameters
+    ----------
+    model_name : str
+        Name of the model, ideally with no spaces
+    domain : :class:`~summit.domain.Domain`
+        The domain of the emulator
+    dataset : :class:`~summit.dataset.Dataset`, optional
+        Dataset used for training/validation
+    regressor : :classs:`torch.nn.Module`, optional
+        Pytorch LightningModule class. Defaults to the ANNRegressor
+    output_variable_names : str or list, optional
+        The names of the variables that should be trained by the predictor.
+        Defaults to all objectives in the domain.
+    clip : bool or list
+        Whether to clip predictions to the limits of
+        the objectives in the domain. True (default) means
+        clipping is activated for all outputs and False means
+        it is not activated at all. A list of specific outputs to clip
+        can also be passed.
 
     """
 
-    def __init__(
-        self,
+    def __init__(self, model_name, domain, **kwargs):
+        super().__init__(domain, **kwargs)
+        self.model_name = model_name
+
+        # Data
+        self.ds = kwargs.get("dataset")
+        if self.ds is not None:
+            self.n_features = self._caclulate_input_dimensions(self.domain)
+            self.n_examples = self.ds.shape[0]
+
+        self.output_variable_names = kwargs.get(
+            "output_variable_names",
+            [v.name for v in self.domain.output_variables],
+        )
+
+        # Create the regressor
+        self.regressor = kwargs.get("regressor", ANNRegressor)
+        self.predictors = kwargs.get("predictors")
+        self.clip = kwargs.get("clip", True)
+
+    def _run(self, conditions, **kwargs):
+        input_columns = [v.name for v in self.domain.input_variables]
+        X = conditions[input_columns].to_numpy()
+        if X.shape[0] == len(input_columns):
+            X = X[np.newaxis, :]
+        X = pd.DataFrame(X, columns=input_columns)
+        y_pred, y_pred_std = self._predict(X)
+        return_std = kwargs.get("return_std", False)
+        for i, name in enumerate(self.output_variable_names):
+            if type(conditions) == pd.Series:
+                y = y_pred[0, i]
+                y_std = y_pred_std[0, i]
+            else:
+                y = y_pred[:, i]
+                y_std = y_pred_std[:, i]
+            conditions.at[(name, "DATA")] = y
+            if return_std:
+                conditions.at[(f"{name}_std", "METADATA")] = y_std
+        return conditions, {}
+
+    def _predict(self, X, **kwargs):
+        """Get a prediction
+
+        Parameters
+        ----------
+        X : pd.DataFrame
+            A pandas dataframe with inputs to the predictor
+
+        Returns
+        -------
+        mean, std
+        Numpy arrays with the average and standard deviation of the ensemble
+
+        """
+        y_pred = np.array(
+            [estimator.predict(X, **kwargs) for estimator in self.predictors]
+        )
+        if self.clip:
+            for i, v in enumerate(self.domain.output_variables):
+                if type(self.clip) == list:
+                    if v.name not in self.clip:
+                        continue
+                y_pred[:, :, i] = np.clip(y_pred[:, :, i], v.lower_bound, v.upper_bound)
+
+        return y_pred.mean(axis=0), y_pred.std(axis=0)
+
+    def train(self, **kwargs):
+        """Train the model on the dataset
+
+        Parameters
+        ---------
+        test_size : float, optional
+            The size of the test as a fraction of the total dataset. Defaults to 0.1.
+        cv_folds : int, optional
+            The number of cross validation folds. Defaults to 5.
+        max_epochs : int, optional
+            The max number of epochs for each CV fold. Defaults to 100.
+        scoring : str or list, optional
+            A list of scoring functions or names of them. Defaults to R2 and MSE.
+            See here for more https://scikit-learn.org/stable/modules/model_evaluation.html#scoring-parameter
+        regressor_kwargs : dict, optional
+            You can pass extra arguments to the regressor here.
+        callbacks : None, "disable" or list of Callbacks
+            Skorch callbacks passed to skorch.net. See: https://skorch.readthedocs.io/en/latest/net.html
+        verbose : int
+            0 for no logging, 1 for logging
+
+        Notes
+        ------
+        If predictor was set in the initialization, it will not be overwritten.
+
+        Returns
+        -------
+        A dictionary containing the results of the training.
+        """
+        if self.ds is None:
+            raise ValueError("Dataset is required for training.")
+
+        # Create predictor
+        predictor = self._create_predictor(
+            self.regressor,
+            self.domain,
+            self.n_features,
+            self.n_examples,
+            output_variable_names=self.output_variable_names,
+            **kwargs,
+        )
+
+        # Get data
+        input_columns = [v.name for v in self.domain.input_variables]
+        X = self.ds[input_columns].to_numpy()
+        y = self.ds[self.output_variable_names].to_numpy().astype(float)
+        # Sklearn columntransformer expects a pandas dataframe not a dataset
+        X = pd.DataFrame(X, columns=input_columns)
+
+        # Train-test split
+        test_size = kwargs.get("test_size", 0.1)
+        random_state = kwargs.get("random_state")
+        self.X_train, self.X_test, self.y_train, self.y_test = train_test_split(
+            X, y, test_size=test_size, random_state=random_state
+        )
+        y_train, y_test = (
+            torch.tensor(self.y_train).float(),
+            torch.tensor(self.y_test).float(),
+        )
+
+        # Training
+        scoring = kwargs.get("scoring", ["r2", "neg_root_mean_squared_error"])
+        folds = kwargs.get("cv_folds", 5)
+        search_params = kwargs.get("search_params", {})
+        # Run grid search if requested
+        if search_params:
+            self.logger.info("Starting grid search.")
+            gs = ProgressGridSearchCV(
+                predictor, search_params, refit="r2", cv=folds, scoring=scoring
+            )
+            gs.fit(self.X_train, y_train)
+            best_params = gs.best_params_
+            params = {}
+            for param in search_params.keys():
+                params[param] = best_params[param]
+            predictor.set_params(**params)
+
+        # Run final training using cross validation
+        initializing = kwargs.get("initializing", False)
+
+        if not initializing:
+            self.logger.info("Starting training.")
+        res = cross_validate(
+            predictor,
+            self.X_train,
+            y_train,
+            scoring=scoring,
+            cv=folds,
+            return_estimator=True,
+        )
+
+        self.predictors = res.pop("estimator")
+        # Rename from test to validation
+        for name in scoring:
+            scores = res.pop(f"test_{name}")
+            res[f"val_{name}"] = scores
+        return res
+
+    def test(self, **kwargs):
+        scoring = kwargs.get("scoring", ["r2", "neg_root_mean_squared_error"])
+        scores_list = []
+        for predictor in self.predictors:
+            if callable(scoring):
+                scorers = scoring
+            elif scoring is None or isinstance(scoring, str):
+                scorers = check_scoring(predictor, scoring)
+            else:
+                scorers = _check_multimetric_scoring(predictor, scoring)
+            scores_list.append(_score(predictor, self.X_test, self.y_test, scorers))
+        scores_dict = _aggregate_score_dicts(scores_list)
+        for name in scoring:
+            scores = scores_dict.pop(name)
+            scores_dict[f"test_{name}"] = scores
+        return scores_dict
+
+    @classmethod
+    def _create_predictor(
+        cls,
+        regressor,
         domain,
-        dataset=None,
-        csv_dataset=None,
-        model_name="dataset_name_emulator_bnn",
-        regressor_type="BNN",
-        cat_to_descr=False,
-        **kwargs
+        input_dimensions,
+        num_examples,
+        output_variable_names,
+        **kwargs,
     ):
-        super().__init__(domain)
-        dataset = self._check_datasets(dataset, csv_dataset)
+        # Preprocessors
+        output_variable_names = kwargs.get(
+            "output_variable_names", [v.name for v in domain.output_variables]
+        )
+        X_preprocessor = cls._create_input_preprocessor(domain)
+        y_preprocessor = cls._create_output_preprocessor(output_variable_names)
+
+        # Create network
+        regressor_kwargs = kwargs.get("regressor_kwargs", {})
+        regressor_kwargs.update(
+            dict(
+                module__input_dim=input_dimensions,
+                module__output_dim=len(output_variable_names),
+                module__n_examples=num_examples,
+            )
+        )
+        verbose = kwargs.get("verbose", 0)
+        net = NeuralNetRegressor(
+            regressor,
+            train_split=None,
+            max_epochs=kwargs.get("max_epochs", 100),
+            callbacks=kwargs.get("callbacks"),
+            verbose=verbose,
+            **regressor_kwargs,
+        )
+
+        # Create predictor
+        # TODO: also create an inverse function
+        ds_to_tensor = FunctionTransformer(numpy_to_tensor, check_inverse=False)
+        pipe = Pipeline(
+            steps=[
+                ("preprocessor", X_preprocessor),
+                ("dst", ds_to_tensor),
+                ("net", net),
+            ]
+        )
 
-        kwargs["cat_to_descr"] = cat_to_descr
+        # output_pipeline = Pipeline(
+        #     steps=[("scaler", StandardScaler()), ("dst", ds_to_tensor)]
+        # )
 
-        if regressor_type == "BNN":
-            self.emulator = BNNEmulator(
-                domain=domain, dataset=dataset, model_name=model_name, kwargs=kwargs
+        return UpdatedTransformedTargetRegressor(
+            regressor=pipe, transformer=StandardScaler(), check_inverse=False
+        )
+
+    @staticmethod
+    def _caclulate_input_dimensions(domain):
+        num_dimensions = 0
+        for v in domain.input_variables:
+            if v.variable_type == "continuous":
+                num_dimensions += 1
+            elif v.variable_type == "categorical":
+                num_dimensions += len(v.levels)
+        return num_dimensions
+
+    @staticmethod
+    def _create_input_preprocessor(domain):
+        """Create feature preprocessors """
+        transformers = []
+        # Numeric transforms
+        numeric_features = [
+            v.name for v in domain.input_variables if v.variable_type == "continuous"
+        ]
+        if len(numeric_features) > 0:
+            transformers.append(("num", StandardScaler(), numeric_features))
+
+        # Categorical transforms
+        categorical_features = [
+            v.name for v in domain.input_variables if v.variable_type == "categorical"
+        ]
+        categories = [
+            v.levels for v in domain.input_variables if v.variable_type == "categorical"
+        ]
+        if len(categorical_features) > 0:
+            transformers.append(
+                ("cat", OneHotEncoder(categories=categories), categorical_features)
             )
-            try:
-                self.extras = [self.emulator._load_model(model_name)]
-            except:
-                print(
-                    "No trained model for {}. Train this model with ExperimentalEmulator.train() in order to use this Emulator as an virtual Experiment.".format(
-                        self.emulator.model_name
+
+        # Create preprocessor
+        if len(numeric_features) == 0 and len(categorical_features) > 0:
+            raise DomainError(
+                "With only categorical features, you can do a simple lookup."
+            )
+        elif len(numeric_features) > 0 or len(categorical_features) > 0:
+            preprocessor = ColumnTransformer(transformers=transformers)
+        else:
+            raise DomainError(
+                "No continuous or categorical features were found in the dataset."
+            )
+        return preprocessor
+
+    @staticmethod
+    def _create_output_preprocessor(output_variable_names):
+        """"Create target preprocessors"""
+        transformers = [
+            ("scale", StandardScaler(), output_variable_names),
+            ("dst", FunctionTransformer(numpy_to_tensor), output_variable_names),
+        ]
+        return ColumnTransformer(transformers=transformers)
+
+    def to_dict(self, **experiment_params):
+        """Convert emulator parameters to dictionary
+
+        Notes
+        ------
+        This does not save the weights and biases of the regressor.
+        You need to use save_regressor method.
+
+        """
+        # Predictors
+        predictors = [
+            self._create_predictor_dict(predictor) for predictor in self.predictors
+        ]
+
+        # Update experiment_params
+        experiment_params.update(
+            {
+                "model_name": self.model_name,
+                "regressor_name": str(self.regressor.__name__),
+                "n_features": self.n_features,
+                "n_examples": self.n_examples,
+                "output_variable_names": self.output_variable_names,
+                "predictors": predictors,
+            }
+        )
+        return super().to_dict(**experiment_params)
+
+    @staticmethod
+    def _create_predictor_dict(predictor):
+        num = predictor.regressor_.named_steps.preprocessor.named_transformers_.num
+        cat = predictor.regressor_.named_steps.preprocessor.named_transformers_.cat
+        input_preprocessor = {
+            # Numerical
+            "num": {
+                "mean_": num.mean_,
+                "var_": num.var_,
+                "scale_": num.scale_,
+                "n_samples_seen_": num.n_samples_seen_,
+            }
+            # Categorical is automatic from the domain
+        }
+        out = predictor.transformer_
+        output_preprocessor = {
+            "mean_": out.mean_,
+            "var_": out.var_,
+            "scale_": out.scale_,
+            "n_samples_seen_": out.n_samples_seen_,
+        }
+        return jsonify_dict(
+            {
+                "input_preprocessor": input_preprocessor,
+                "output_preprocessor": output_preprocessor,
+            }
+        )
+
+    @classmethod
+    def from_dict(cls, d, **kwargs):
+        """Create ExperimentalEmulator from a dictionary
+
+        Notes
+        -----
+        This does not load the regressor weights and biases.
+        After calling from_dict, call load_regressor to load the
+        weights and biases.
+
+        """
+        params = d["experiment_params"]
+        domain = Domain.from_dict(d["domain"])
+
+        # Load regressor
+        regressor = registry[params["regressor_name"]]
+        d["experiment_params"]["regressor"] = regressor
+
+        # Load predictors
+        predictors_params = params["predictors"]
+        predictors = [
+            cls._create_predictor(
+                regressor,
+                domain,
+                params["n_features"],
+                params["n_examples"],
+                output_variable_names=params["output_variable_names"],
+            )
+            for predictor_params in predictors_params
+        ]
+        d["experiment_params"]["predictor"] = predictors
+
+        # Dataset
+        dataset = kwargs.get("dataset")
+        d["experiment_params"]["dataset"] = dataset
+
+        # Instantiate the class
+        exp = super().from_dict(d)
+
+        # Set runtime parameters
+        exp.n_features = params["n_features"]
+        exp.n_examples = params["n_examples"]
+
+        # One round of training to initialize all variables
+        if exp.ds is None:
+            exp.ds = generate_data(domain, params["n_features"] + 1)
+        exp.train(max_epochs=1, verbose=0, initializing=True)
+
+        # Set parameters on predictors
+        for predictor, predictor_params in zip(exp.predictors, predictors_params):
+            exp.set_predictor_params(predictor, unjsonify_dict(predictor_params))
+
+        return exp
+
+    @staticmethod
+    def set_predictor_params(predictor, predictor_params):
+        # Input transforms
+        num = predictor.regressor_.named_steps.preprocessor.named_transformers_.num
+        cat = predictor.regressor_.named_steps.preprocessor.named_transformers_.cat
+        input_preprocessor = RecursiveNamespace(
+            **predictor_params["input_preprocessor"]
+        )
+        num.mean_ = input_preprocessor.num.mean_
+        num.var_ = input_preprocessor.num.var_
+        num.scale_ = input_preprocessor.num.scale_
+        num.n_samples_seen_ = input_preprocessor.num.n_samples_seen_
+
+        # Output transforms
+        out = predictor.transformer_
+        output_preprocessor = RecursiveNamespace(
+            **predictor_params["output_preprocessor"]
+        )
+        out.mean_ = output_preprocessor.mean_
+        out.var_ = output_preprocessor.var_
+        out.scale_ = output_preprocessor.scale_
+        out.n_samples_seen_ = output_preprocessor.n_samples_seen_
+
+    def save_regressor(self, save_dir):
+        """Save the weights and biases of the regressor to disk
+
+        Parameters
+        ----------
+        save_dir : str or pathlib.Path
+            The directory used for saving emulator files.
+
+        """
+        save_dir = pathlib.Path(save_dir)
+        if self.predictors is None:
+            raise ValueError(
+                "No predictors available. First, run training using the train method."
+            )
+        for i, predictor in enumerate(self.predictors):
+            predictor.regressor_.named_steps.net.save_params(
+                f_params=save_dir / f"{self.model_name}_predictor_{i}.pt"
+            )
+
+    def load_regressor(self, save_dir):
+        """Load the weights and biases of the regressor from disk
+
+        Parameters
+        ----------
+        save_dir : str or pathlib.Path
+            The directory used for saving emulator files.
+
+        """
+        save_dir = pathlib.Path(save_dir)
+        for i, predictor in enumerate(self.predictors):
+            net = predictor.regressor_.named_steps.net
+            net.initialize()
+            net.load_params(f_params=save_dir / f"{self.model_name}_predictor_{i}.pt")
+
+    def save(self, save_dir):
+        """Save all the essential parameters of the ExperimentalEmulator to disk
+
+        Parameters
+        ----------
+        save_dir : str or pathlib.Path
+            The directory used for saving emulator files.
+
+        """
+        save_dir = pathlib.Path(save_dir)
+        if not save_dir.exists():
+            save_dir.mkdir()
+        with open(save_dir / f"{self.model_name}.json", "w") as f:
+            json.dump(self.to_dict(), f)
+        self.save_regressor(save_dir)
+
+    @classmethod
+    def load(cls, model_name, save_dir, **kwargs):
+        """Load all the essential parameters of the ExperimentalEmulator to disk
+
+        Parameters
+        ----------
+        save_dir : str or pathlib.Path
+            The directory from which to load emulator files.
+
+        """
+        save_dir = pathlib.Path(save_dir)
+        with open(save_dir / f"{model_name}.json", "r") as f:
+            d = json.load(f)
+        exp = ExperimentalEmulator.from_dict(d, **kwargs)
+        exp.load_regressor(save_dir)
+        return exp
+
+    def parity_plot(self, **kwargs):
+        """Produce a parity plot based for the trained model using matplotlib
+
+        Parameters
+        ---------
+        output_variable_names : str or list, optional
+            The output variables to plot. Defaults to all.
+        include_test : bool, optional
+            Include the performance of the model on the test set.
+            Defaults to False.
+        train_color : str, optional
+            Hex string for the train points. Defaults to "#6f3666"
+        test_color : str, optional
+            Hex string for the train points. Defaults to "#3c328c"
+
+        """
+        import matplotlib.pyplot as plt
+
+        include_test = kwargs.get("include_test", False)
+        train_color = kwargs.get("train_color", "#6f3666")
+        test_color = kwargs.get("test_color", "#3c328c")
+        clip = kwargs.get("clip")
+        vars = kwargs.get("output_variable_names", self.output_variable_names)
+        if type(vars) == str:
+            vars = [vars]
+
+        fig, axes = plt.subplots(1, len(vars))
+        if len(vars) > 1:
+            fig.subplots_adjust(wspace=0.2)
+        if type(axes) != np.ndarray:
+            axes = np.array([axes])
+
+        # Do predictions
+        with torch.no_grad():
+            y_train_pred, y_train_pred_std = self._predict(self.X_train)
+            if include_test:
+                y_test_pred, y_train_pred_std = self._predict(self.X_test)
+
+        plots = 0
+        for i, v in enumerate(self.output_variable_names):
+            if v in vars:
+                if include_test:
+                    kwargs = dict(
+                        y_test=self.y_test[:, i], y_test_pred=y_test_pred[:, i]
                     )
+                else:
+                    kwargs = {}
+                make_parity_plot(
+                    self.y_train[:, i],
+                    y_train_pred[:, i],
+                    ax=axes[plots],
+                    train_color=train_color,
+                    test_color=test_color,
+                    title=v,
+                    **kwargs,
                 )
+                plots += 1
+
+        return fig, axes
+
+
+def generate_data(domain, n_examples, random_state=None):
+    data = {}
+    random = default_rng(random_state)
+    for v in domain.input_variables:
+        if v.variable_type == "continuous":
+            data[v.name] = random.normal(size=n_examples)
+        elif v.variable_type == "categorical":
+            data[v.name] = random.choice(v.levels, size=n_examples)
+    for v in domain.output_variables:
+        if v.variable_type == "continuous":
+            data[v.name] = random.normal(size=n_examples)
+    return pd.DataFrame(data)
+
+
+def make_parity_plot(
+    y_train,
+    y_train_pred,
+    y_test=None,
+    y_test_pred=None,
+    ax=None,
+    train_color="#6f3666",
+    test_color="#3c328c",
+    title=None,
+):
+    import matplotlib.pyplot as plt
+    import matplotlib.patches as mpatches
+
+    if ax is None:
+        fig, ax = plt.subplots(1)
+    ax.scatter(y_train, y_train_pred, color=train_color, alpha=0.5)
+    # Test
+    if y_test is not None:
+        ax.scatter(y_test, y_test_pred, color=test_color, alpha=0.5)
+
+    # Parity line
+    min = np.min(np.concatenate([y_train, y_train_pred]))
+    max = np.max(np.concatenate([y_train, y_train_pred]))
+    ax.plot([min, max], [min, max], c="#747378")
+    # Scores
+    handles = []
+    r2_train = r2_score(y_train, y_train_pred)
+    r2_train_patch = mpatches.Patch(
+        label=f"Train R2 = {r2_train:.2f}", color=train_color
+    )
+    handles.append(r2_train_patch)
+    if y_test is not None:
+        r2_test = r2_score(y_test, y_test_pred)
+        r2_test_patch = mpatches.Patch(
+            label=f"Test R2 = {r2_test:.2f}", color=test_color
+        )
+        handles.append(r2_test_patch)
+
+    # Formatting
+    ax.legend(handles=handles, fontsize=12)
+    ax.set_xlim(min, max)
+    ax.set_ylim(min, max)
+    ax.set_xlabel("Measured")
+    ax.set_ylabel("Predicted")
+    if title is not None:
+        ax.set_title(title)
+    ax.tick_params(direction="in")
+    return ax
+
+
+def numpy_to_tensor(X):
+    """Convert datasets into """
+    return torch.tensor(X).float()
+
+
+class UpdatedTransformedTargetRegressor(TransformedTargetRegressor):
+    def fit(self, X, y, **fit_params):
+        """Fit the model according to the given training data.
+        Parameters
+        ----------
+        X : {array-like, sparse matrix} of shape (n_samples, n_features)
+            Training vector, where n_samples is the number of samples and
+            n_features is the number of features.
+        y : array-like of shape (n_samples,)
+            Target values.
+        **fit_params : dict
+            Parameters passed to the ``fit`` method of the underlying
+            regressor.
+        Returns
+        -------
+        self : object
+        """
+        y = check_array(
+            y,
+            accept_sparse=False,
+            force_all_finite=True,
+            ensure_2d=False,
+            dtype="numeric",
+        )
+
+        # store the number of dimension of the target to predict an array of
+        # similar shape at predict
+        self._training_dim = y.ndim
+
+        # transformers are designed to modify X which is 2d dimensional, we
+        # need to modify y accordingly.
+        if y.ndim == 1:
+            y_2d = y.reshape(-1, 1)
         else:
-            raise NotImplementedError(
-                "Regressor type <{}> not implemented yet".format(str(regressor_type))
-            )
+            y_2d = y
+        self._fit_transformer(y_2d)
+
+        # transform y and convert back to 1d array if needed
+        y_trans = self.transformer_.transform(y_2d)
+        # Remove this stupid line
+        # FIXME: a FunctionTransformer can return a 1D array even when validate
+        # is set to True. Therefore, we need to check the number of dimension
+        # first.
+        # if y_trans.ndim == 2 and y_trans.shape[1] == 1:
+        #     y_trans = y_trans.squeeze(axis=1)
+
+        if self.regressor is None:
+            from ..linear_model import LinearRegression
+
+            self.regressor_ = LinearRegression()
+        else:
+            self.regressor_ = clone(self.regressor)
 
-    def _run(self, conditions, **kwargs):
-        condition = DataSet.from_df(conditions.to_frame().T)
-        infer_dict = self.emulator.infer_model(dataset=condition)
-        for k, v in infer_dict.items():
-            conditions[(k, "DATA")] = v
-        return conditions, None
-
-    def train(self, dataset=None, csv_dataset=None, verbose=True, **kwargs):
-        dataset = self._check_datasets(dataset, csv_dataset)
-        self.emulator.set_training_hyperparameters(kwargs=kwargs)
-        self.emulator.train_model(dataset=dataset, verbose=verbose, kwargs=kwargs)
-        self.extras = [self.emulator.output_models]
-
-    def validate(
+        self.regressor_.fit(X, y_trans, **fit_params)
+
+        return self
+
+
+class RecursiveNamespace(types.SimpleNamespace):
+    # def __init__(self, /, **kwargs):  # better, but Python 3.8+
+    def __init__(self, **kwargs):
+        """Create a SimpleNamespace recursively"""
+        self.__dict__.update({k: self.__elt(v) for k, v in kwargs.items()})
+
+    def __elt(self, elt):
+        """Recurse into elt to create leaf namepace objects"""
+        if type(elt) is dict:
+            return type(self)(**elt)
+        if type(elt) in (list, tuple):
+            return [self.__elt(i) for i in elt]
+        return elt
+
+
+class ProgressParallel(Parallel):
+    def __init__(self, use_tqdm=True, total=None, *args, **kwargs):
+        self._use_tqdm = use_tqdm
+        self._total = total
+        super().__init__(*args, **kwargs)
+
+    def __call__(self, *args, **kwargs):
+        with tqdm(disable=not self._use_tqdm, total=self._total) as self._pbar:
+            return Parallel.__call__(self, *args, **kwargs)
+
+    @property
+    def total(self):
+        return self._total
+
+    @total.setter
+    def total(self, val):
+        self._total = val
+
+    def print_progress(self):
+        if self._total is None:
+            self._pbar.total = self.n_dispatched_tasks
+        self._pbar.n = self.n_completed_tasks
+        self._pbar.refresh()
+
+
+class ProgressGridSearchCV(BaseSearchCV):
+    @_deprecate_positional_args
+    def __init__(
         self,
-        dataset=None,
-        csv_dataset=None,
-        parity_plots=False,
-        get_pred=False,
-        **kwargs
+        estimator,
+        param_grid,
+        *,
+        scoring=None,
+        n_jobs=None,
+        refit=True,
+        cv=None,
+        verbose=0,
+        pre_dispatch="2*n_jobs",
+        error_score=np.nan,
+        return_train_score=False,
     ):
-        dataset = self._check_datasets(dataset, csv_dataset)
-        if dataset is not None:
-            return self.emulator.validate_model(
-                dataset=dataset,
-                parity_plots=parity_plots,
-                get_pred=get_pred,
-                kwargs=kwargs,
-            )
+        super().__init__(
+            estimator=estimator,
+            scoring=scoring,
+            n_jobs=n_jobs,
+            refit=refit,
+            cv=cv,
+            verbose=verbose,
+            pre_dispatch=pre_dispatch,
+            error_score=error_score,
+            return_train_score=return_train_score,
+        )
+        self.param_grid = param_grid
+        _check_param_grid(param_grid)
+
+    def _run_search(self, evaluate_candidates):
+        """Search all candidates in param_grid"""
+        evaluate_candidates(ParameterGrid(self.param_grid))
+
+    @_deprecate_positional_args
+    def fit(self, X, y=None, *, groups=None, **fit_params):
+        """Run fit with all sets of parameters.
+        Parameters
+        ----------
+        X : array-like of shape (n_samples, n_features)
+            Training vector, where n_samples is the number of samples and
+            n_features is the number of features.
+        y : array-like of shape (n_samples, n_output) \
+            or (n_samples,), default=None
+            Target relative to X for classification or regression;
+            None for unsupervised learning.
+        groups : array-like of shape (n_samples,), default=None
+            Group labels for the samples used while splitting the dataset into
+            train/test set. Only used in conjunction with a "Group" :term:`cv`
+            instance (e.g., :class:`~sklearn.model_selection.GroupKFold`).
+        **fit_params : dict of str -> object
+            Parameters passed to the ``fit`` method of the estimator
+        """
+        estimator = self.estimator
+        refit_metric = "score"
+
+        if callable(self.scoring):
+            scorers = self.scoring
+        elif self.scoring is None or isinstance(self.scoring, str):
+            scorers = check_scoring(self.estimator, self.scoring)
         else:
-            try:
-                print("Evaluation based on training and test set.")
-                return self.emulator.validate_model(parity_plots=parity_plots)
-            except:
-                raise ValueError("No dataset to evaluate.")
-
-    def _check_datasets(self, dataset=None, csv_dataset=None):
-        if csv_dataset:
-            if dataset:
-                print(
-                    "Dataset and csv.dataset are given, hence dataset will be overwritten by csv.data."
+            scorers = _check_multimetric_scoring(self.estimator, self.scoring)
+            # self._check_refit_for_multimetric(scorers)
+            refit_metric = self.refit
+
+        X, y, groups = indexable(X, y, groups)
+        fit_params = _check_fit_params(X, fit_params)
+
+        cv_orig = check_cv(self.cv, y, classifier=is_classifier(estimator))
+        n_splits = cv_orig.get_n_splits(X, y, groups)
+
+        base_estimator = clone(self.estimator)
+
+        parallel = ProgressParallel(n_jobs=self.n_jobs, pre_dispatch=self.pre_dispatch)
+
+        fit_and_score_kwargs = dict(
+            scorer=scorers,
+            fit_params=fit_params,
+            return_train_score=self.return_train_score,
+            return_n_test_samples=True,
+            return_times=True,
+            return_parameters=False,
+            error_score=self.error_score,
+            verbose=self.verbose,
+        )
+        results = {}
+        with parallel:
+            all_candidate_params = []
+            all_out = []
+            all_more_results = defaultdict(list)
+
+            def evaluate_candidates(candidate_params, cv=None, more_results=None):
+                cv = cv or cv_orig
+                candidate_params = list(candidate_params)
+                n_candidates = len(candidate_params)
+
+                if self.verbose > 0:
+                    print(
+                        "Fitting {0} folds for each of {1} candidates,"
+                        " totalling {2} fits".format(
+                            n_splits, n_candidates, n_candidates * n_splits
+                        )
+                    )
+                runs = product(
+                    enumerate(candidate_params), enumerate(cv.split(X, y, groups))
+                )
+                parallel.total = len(list(deepcopy(runs)))
+                out = parallel(
+                    delayed(_fit_and_score)(
+                        clone(base_estimator),
+                        X,
+                        y,
+                        train=train,
+                        test=test,
+                        parameters=parameters,
+                        split_progress=(split_idx, n_splits),
+                        candidate_progress=(cand_idx, n_candidates),
+                        **fit_and_score_kwargs,
+                    )
+                    for (cand_idx, parameters), (split_idx, (train, test)) in runs
                 )
-            dataset = DataSet.read_csv(csv_dataset, index_col=None)
-        return dataset
 
-    def to_dict(self, **kwargs):
-        """Serialize the class to a dictionary
+                if len(out) < 1:
+                    raise ValueError(
+                        "No fits were performed. "
+                        "Was the CV iterator empty? "
+                        "Were there no candidates?"
+                    )
+                elif len(out) != n_candidates * n_splits:
+                    raise ValueError(
+                        "cv.split and cv.get_n_splits returned "
+                        "inconsistent results. Expected {} "
+                        "splits, got {}".format(n_splits, len(out) // n_candidates)
+                    )
 
-        Subclasses can add a experiment_params dictionary
-        key with custom parameters for the experiment
-        """
-        kwargs.update(
-            dict(
-                model_name=self.emulator.model_name,
-                dataset=self.emulator._dataset.to_dict()
-                if self.emulator._dataset is not None
-                else None,
-                output_models=self.emulator.output_models,
+                # For callable self.scoring, the return type is only know after
+                # calling. If the return type is a dictionary, the error scores
+                # can now be inserted with the correct key. The type checking
+                # of out will be done in `_insert_error_scores`.
+                if callable(self.scoring):
+                    _insert_error_scores(out, self.error_score)
+                all_candidate_params.extend(candidate_params)
+                all_out.extend(out)
+                if more_results is not None:
+                    for key, value in more_results.items():
+                        all_more_results[key].extend(value)
+
+                nonlocal results
+                results = self._format_results(
+                    all_candidate_params, n_splits, all_out, all_more_results
+                )
+
+                return results
+
+            self._run_search(evaluate_candidates)
+
+            # multimetric is determined here because in the case of a callable
+            # self.scoring the return type is only known after calling
+            first_test_score = all_out[0]["test_scores"]
+            self.multimetric_ = isinstance(first_test_score, dict)
+
+            # check refit_metric now for a callabe scorer that is multimetric
+            if callable(self.scoring) and self.multimetric_:
+                self._check_refit_for_multimetric(first_test_score)
+                refit_metric = self.refit
+
+        # For multi-metric evaluation, store the best_index_, best_params_ and
+        # best_score_ iff refit is one of the scorer names
+        # In single metric evaluation, refit_metric is "score"
+        if self.refit or not self.multimetric_:
+            # If callable, refit is expected to return the index of the best
+            # parameter set.
+            if callable(self.refit):
+                self.best_index_ = self.refit(results)
+                if not isinstance(self.best_index_, numbers.Integral):
+                    raise TypeError("best_index_ returned is not an integer")
+                if self.best_index_ < 0 or self.best_index_ >= len(results["params"]):
+                    raise IndexError("best_index_ index out of range")
+            else:
+                self.best_index_ = results["rank_test_%s" % refit_metric].argmin()
+                self.best_score_ = results["mean_test_%s" % refit_metric][
+                    self.best_index_
+                ]
+            self.best_params_ = results["params"][self.best_index_]
+
+        if self.refit:
+            # we clone again after setting params in case some
+            # of the params are estimators as well.
+            self.best_estimator_ = clone(
+                clone(base_estimator).set_params(**self.best_params_)
             )
+            refit_start_time = time.time()
+            if y is not None:
+                self.best_estimator_.fit(X, y, **fit_params)
+            else:
+                self.best_estimator_.fit(X, **fit_params)
+            refit_end_time = time.time()
+            self.refit_time_ = refit_end_time - refit_start_time
+
+        # Store the only scorer not as a dict for single metric evaluation
+        self.scorer_ = scorers
+
+        self.cv_results_ = results
+        self.n_splits_ = n_splits
+
+        return self
+
+    def _check_refit_for_multimetric(self, scores):
+        """Check `refit` is compatible with `scores` is valid"""
+        multimetric_refit_msg = (
+            "For multi-metric scoring, the parameter refit must be set to a "
+            "scorer key or a callable to refit an estimator with the best "
+            "parameter setting on the whole data and make the best_* "
+            "attributes available for that metric. If this is not needed, "
+            f"refit should be set to False explicitly. {self.refit!r} was "
+            "passed."
         )
-        return super().to_dict(**kwargs)
 
-    @classmethod
-    def from_dict(cls, d):
-        dataset = d["experiment_params"]["dataset"]
-        d["experiment_params"]["dataset"] = DataSet.from_dict(dataset)
-        exp = super().from_dict(d)
-        exp.emulator.output_models = d["experiment_params"]["output_models"]
-        return exp
+        valid_refit_dict = isinstance(self.refit, str) and self.refit in scores
+
+        if (
+            self.refit is not False
+            and not valid_refit_dict
+            and not callable(self.refit)
+        ):
+            raise ValueError(multimetric_refit_msg)
+
+
+def get_bnn():
+    from blitz.modules import BayesianLinear
+    from blitz.utils import variational_estimator
+
+    @variational_estimator
+    class BNNRegressor(torch.nn.Module):
+        """A Bayesian Neural Network pytorch lightining module"""
+
+        val_str = "CI acc: {:.2f}, CI upper acc: {:.2f}, CI lower acc: {:.2f}"
+
+        def __init__(
+            self, input_dim, output_dim, n_examples=100, hidden_units=512, **kwargs
+        ):
+            super().__init__()
+            self.blinear1 = BayesianLinear(input_dim, hidden_units)
+            self.blinear2 = BayesianLinear(hidden_units, output_dim)
+            self.n_examples = n_examples
+            self.n_samples = kwargs.get("n_samples", 50)
+            self.criterion = torch.nn.MSELoss()
+
+        def forward(self, x):
+            # for layer in self.layers[:-1]:
+            #     x = layer(x)
+            #     x = F.relu(x)
+            # return self.layers[-1](x)
+            x = self.blinear1(x)
+            x = F.relu(x)
+            return self.blinear2(x)
+
+        def evaluate_regression(self, batch, samples=100, std_multiplier=1.96):
+            """Evaluate Bayesian Neural Network
+
+            This answers the question "How many correction predictions
+            are in the confidence interval (CI)?" It also spits out the CI.
+
+            Parameters
+            ----------
+            batch : tuple
+                The batch being evaluatd
+            samples : int, optional
+                The number of samples of the BNN for calculating the CI
+            std_multiplier : float, optional
+                The Z-score corresponding with the desired CI. Default is
+                1.96, which corresponds with a 95% CI.
+
+            Returns
+            -------
+            tuple of ic_acc, over_ci_lower, under_ci_upper
+
+            icc_acc is the percentage within the CI.
+
+            """
+
+            X, y = batch
+
+            # Sample
+            preds = torch.tensor([self(X) for i in range(samples)])
+            preds = torch.stack(preds)
+            means = preds.mean(axis=0)
+            stds = preds.std(axis=0)
+
+            # Calculate CI
+            ci_upper, ci_lower = self._calc_ci(means, stds, std_multiplier)
+            ic_acc = (ci_lower <= y) * (ci_upper >= y)
+            ic_acc = ic_acc.float().mean()
+
+            under_ci_upper = (ci_upper >= y).float().mean()
+            over_ci_lower = (ci_lower <= y).float().mean()
+
+            ic_acc = (ci_lower <= y) * (ci_upper >= y)
+            ic_acc = ic_acc.float().mean()
+
+            return ic_acc, over_ci_lower, under_ci_upper
+
+        def _calc_ci(self, means, stds, std_multiplier=1.96):
+            ci_upper = means + (std_multiplier * stds)
+            ci_lower = means - (std_multiplier * stds)
+            return ci_lower, ci_upper
+
+
+class ANNRegressor(torch.nn.Module):
+    """Artificial Neural Network Regressor
+
+    Parameters
+    -----------
+    input_dim : int
+        The number of features in the input
+    output_dim : int
+        The number of outputs in the targets
+    hidden_units : int, optional
+        The number of hidden units. Default is 512.
+
+    """
+
+    def __init__(self, input_dim, output_dim, hidden_units=512, **kwargs):
+        super().__init__()
+
+        self.num_hidden_layers = 1
+        self.input_layer = torch.nn.Linear(input_dim, hidden_units)
+        self.output_layer = torch.nn.Linear(hidden_units, output_dim)
+
+    def forward(self, x, **kwargs):
+        x_ = F.relu(self.input_layer(x))
+        if self.num_hidden_layers > 1:
+            x_ = self.hidden_layers(x_)
+            x_ = F.relu(x_)
+        return self.output_layer(x_)
+
+
+class RegressorRegistry:
+    """Registry for Regressors
+
+    Models registered using the register method
+    are saved as the class name.
+
+    """
+
+    regressors = {}
+
+    def __getitem__(self, key):
+        reg = self.regressors.get(key)
+        if reg is not None:
+            return reg
+        else:
+            raise KeyError(
+                f"{key} is not in the §. Register using the register method."
+            )
+
+    def __setitem__(self, key, value):
+        reg = self.regressors.get(key)
+        if reg is not None:
+            self.regressors[key] = value
+
+    def register(self, regressor):
+        key = regressor.__name__
+        self.regressors[key] = regressor
+
+
+# Create global regressor registry
+registry = RegressorRegistry()
+registry.register(ANNRegressor)
+
+
+def get_data_path():
+    return pathlib.Path(pkg_resources.resource_filename("summit", "benchmarks/data"))
+
+
+def get_model_path():
+    return pathlib.Path(pkg_resources.resource_filename("summit", "benchmarks/models"))
+
+
+def get_pretrained_reizman_suzuki_emulator(case=1):
+    model_name = f"reizman_suzuki_case_{case}"
+    model_path = get_model_path() / model_name
+    if not model_path.exists():
+        raise NotADirectoryError("Could not initialize from expected path.")
+    exp = ReizmanSuzukiEmulator.load(model_path, case=case)
+    data_path = get_data_path()
+    exp.ds = DataSet.read_csv(data_path / f"{model_name}.csv")
+    return exp
 
 
 class ReizmanSuzukiEmulator(ExperimentalEmulator):
@@ -168,8 +1213,8 @@ class ReizmanSuzukiEmulator(ExperimentalEmulator):
     ----------
     case: int, optional, default=1
         Reizman et al. (2016) reported experimental data for 4 different
-        cases. The case number refers to the cases they reported.
-        Please see their paper for more information on the cases.
+        cases. Each case was has a different set of substrates but the
+        same possible catalysts. Please see their paper for more information on the cases.
 
     Examples
     --------
@@ -187,15 +1232,15 @@ class ReizmanSuzukiEmulator(ExperimentalEmulator):
     """
 
     def __init__(self, case=1, **kwargs):
-        model_name = "reizman_suzuki_case" + str(case)
-        domain = self.setup_domain()
-        dataset_file = osp.join(
-            osp.dirname(osp.realpath(__file__)),
-            "experiment_emulator/data/" + model_name + "_train_test.csv",
-        )
-        super().__init__(domain=domain, model_name=model_name)
+        # Initialization
+        model_name = kwargs.get("model_name", f"reizman_suzuki_case_{case}")
+        domain = kwargs.pop("domain", self.setup_domain())
+        data_path = get_data_path()
+        ds = DataSet.read_csv(data_path / f"{model_name}.csv")
+        super().__init__(model_name, domain, dataset=ds, **kwargs)
 
-    def setup_domain(self):
+    @staticmethod
+    def setup_domain():
         domain = Domain()
 
         # Decision variables
@@ -251,14 +1296,32 @@ def setup_domain(self):
 
         return domain
 
+    @classmethod
+    def load(cls, save_dir, case=1):
+        model_name = f"reizman_suzuki_case_{case}"
+        return super().load(model_name, save_dir)
+
+    @classmethod
     def to_dict(self):
         """Serialize the class to a dictionary"""
         experiment_params = dict(
-            case=self.emulator.model_name[-1],
+            case=self.model_name[-1],
         )
         return super().to_dict(**experiment_params)
 
 
+def get_pretrained_baumgartner_cc_emulator(include_cost=False):
+    model_name = "baumgartner_aniline_cn_crosscoupling"
+    model_path = get_model_path() / model_name
+    if not model_path.exists():
+        raise NotADirectoryError("Could not initialize from expected path.")
+    data_path = get_data_path()
+    ds = DataSet.read_csv(data_path / f"{model_name}.csv")
+    exp = BaumgartnerCrossCouplingEmulator.load(model_path, dataset=ds)
+
+    return exp
+
+
 class BaumgartnerCrossCouplingEmulator(ExperimentalEmulator):
     """Baumgartner Cross Coupling Emulator
 
@@ -272,9 +1335,16 @@ class BaumgartnerCrossCouplingEmulator(ExperimentalEmulator):
     The categorical variables (catalyst and base) contain descriptors
     calculated using COSMO-RS. Specifically, the descriptors are the first two sigma moments.
 
+    Parameters
+    ----------
+    include_cost : bool, optional
+        Include minimization of cost as an extra objective. Cost is calculated
+        as a deterministic function of the inputs (i.e., no model is trained).
+        Defaults to False.
+
     Examples
     --------
-    >>> bemul = BaumgartnerCrossCouplingDescriptorEmulator()
+    >>> bemul = BaumgartnerCrossCouplingEmulator()
 
     Notes
     -----
@@ -288,19 +1358,16 @@ class BaumgartnerCrossCouplingEmulator(ExperimentalEmulator):
 
     """
 
-    def __init__(self, **kwargs):
-        model_name = kwargs.get("model_name", "baumgartner_aniline_cn_crosscoupling")
-        dataset_file = kwargs.get(
-            "dataset_file", "baumgartner_aniline_cn_crosscoupling.csv"
-        )
-        domain = self.setup_domain()
-        dataset_file = osp.join(
-            osp.dirname(osp.realpath(__file__)),
-            "experiment_emulator/data/" + dataset_file,
-        )
-        super().__init__(domain=domain, csv_dataset=dataset_file, model_name=model_name)
+    def __init__(self, include_cost=False, **kwargs):
+        # TODO: make it possible to select model based on one-hot encoding or descriptors
+        model_name = kwargs.pop("model_name", "baumgartner_aniline_cn_crosscoupling")
+        self.include_cost = include_cost
+        domain = kwargs.pop("domain", self.setup_domain(self.include_cost))
+        data_path = get_data_path()
+        super().__init__(model_name, domain, **kwargs)
 
-    def setup_domain(self):
+    @staticmethod
+    def setup_domain(include_cost=False):
         domain = Domain()
 
         # Decision variables
@@ -358,115 +1425,6 @@ def setup_domain(self):
         des_5 = "residence time in seconds (s)"
         domain += ContinuousVariable(name="t_res", description=des_5, bounds=[60, 1800])
 
-        des_6 = "Yield"
-        domain += ContinuousVariable(
-            name="yld",
-            description=des_6,
-            bounds=[0.0, 1.0],
-            is_objective=True,
-            maximize=True,
-        )
-
-        return domain
-
-
-class BaumgartnerCrossCouplingDescriptorEmulator(ExperimentalEmulator):
-    """Baumgartner Cross Coupling Emulator
-
-    Virtual experiments representing the Aniline Cross-Coupling reaction
-    similar to Baumgartner et al. (2019). Experimental outcomes are based on an
-    emulator that is trained on the experimental data published by Baumgartner et al.
-
-    The difference with this model is that it uses descriptors for the catalyst and base
-    instead of one-hot encoding the options. The descriptors are the first two
-    sigma moments from COSMO-RS.
-
-
-    Parameters
-    ----------
-
-    Examples
-    --------
-    >>> bemul = BaumgartnerCrossCouplingDescriptorEmulator()
-
-    Notes
-    -----
-    This benchmark is based on data from [Baumgartner]_ et al.
-
-    References
-    ----------
-
-    .. [Baumgartner] L. M. Baumgartner et al., Org. Process Res. Dev., 2019, 23, 1594–1601
-       DOI: `10.1021/acs.oprd.9b00236 <https://doi.org/10.1021/acs.oprd.9b00236>`_
-
-    """
-
-    def __init__(self, **kwargs):
-        model_name = kwargs.get(
-            "model_name", "baumgartner_aniline_cn_crosscoupling_descriptors"
-        )
-        dataset_file = kwargs.get(
-            "dataset_file", "baumgartner_aniline_cn_crosscoupling_descriptors.csv"
-        )
-        domain = self.setup_domain()
-        dataset_file = osp.join(
-            osp.dirname(osp.realpath(__file__)),
-            "experiment_emulator/data/" + dataset_file,
-        )
-        super().__init__(domain=domain, csv_dataset=dataset_file, model_name=model_name)
-
-    def setup_domain(self):
-        domain = Domain()
-
-        # Decision variables
-        des_1 = "Catalyst type with descriptors"
-        catalyst_df = DataSet(
-            [
-                [460.7543, 67.2057, 30.8413, 2.3043, 0],  # , 424.64, 421.25040226],
-                [518.8408, 89.8738, 39.4424, 2.5548, 0],  # , 487.7, 781.11247064],
-                [819.933, 129.0808, 83.2017, 4.2959, 0],  # , 815.06, 880.74916884],
-            ],
-            index=["tBuXPhos", "tBuBrettPhos", "AlPhos"],
-            columns=[
-                "area_cat",
-                "M2_cat",
-                "M3_cat",
-                "Macc3_cat",
-                "Mdon3_cat",
-            ],  # ,'mol_weight', 'sol']
-        )
-        domain += CategoricalVariable(
-            name="catalyst", description=des_1, descriptors=catalyst_df
-        )
-
-        des_2 = "Base type with descriptors"
-        base_df = DataSet(
-            [
-                [162.2992, 25.8165, 40.9469, 3.0278, 0],  # 101.19, 642.2973283],
-                [165.5447, 81.4847, 107.0287, 10.215, 0.0169],  # 115.18, 534.01544123],
-                [227.3523, 30.554, 14.3676, 1.1196, 0.0127],  # 171.28, 839.81215],
-                [192.4693, 59.8367, 82.0661, 7.42, 0],  # 152.24, 1055.82799],
-            ],
-            index=["TEA", "TMG", "BTMG", "DBU"],
-            columns=["area", "M2", "M3", "Macc3", "Mdon3"],  # 'mol_weight', 'sol']
-        )
-        domain += CategoricalVariable(
-            name="base", description=des_2, descriptors=base_df
-        )
-
-        des_3 = "Base equivalents"
-        domain += ContinuousVariable(
-            name="base_equivalents", description=des_3, bounds=[1.0, 2.5]
-        )
-
-        des_4 = "Temperature in degrees Celsius (ºC)"
-        domain += ContinuousVariable(
-            name="temperature", description=des_4, bounds=[30, 100]
-        )
-
-        des_5 = "residence time in seconds (s)"
-        domain += ContinuousVariable(name="t_res", description=des_5, bounds=[60, 1800])
-
         des_6 = "Yield"
         domain += ContinuousVariable(
             name="yield",
@@ -476,60 +1434,39 @@ def setup_domain(self):
             maximize=True,
         )
 
-        return domain
-
-
-class BaumgartnerCrossCouplingEmulator_Yield_Cost(BaumgartnerCrossCouplingEmulator):
-    """Baumgartner Cross Coupling Emulator
-
-    Virtual experiments representing the Aniline Cross-Coupling reaction
-    similar to Baumgartner et al. (2019). Experimental outcomes are based on an
-    emulator that is trained on the experimental data published by Baumgartner et al.
-
-    This is a multiobjective version for optimizing yield and cost simultaneously.
-
-    Parameters
-    ----------
-
-    Examples
-    --------
-    >>> bemul = BaumgartnerCrossCouplingDescriptorEmulator()
-
-    Notes
-    -----
-    This benchmark is based on data from [Baumgartner]_ et al.
+        if include_cost:
+            domain += ContinuousVariable(
+                name="cost",
+                description="cost in USD of 40 uL reaction",
+                bounds=[0.0, 1.0],
+                is_objective=True,
+                maximize=False,
+            )
 
-    References
-    ----------
+        return domain
 
-    .. [Baumgartner] L. M. Baumgartner et al., Org. Process Res. Dev., 2019, 23, 1594–1601
-       DOI: `10.1021/acs.oprd.9b00236 <https://doi.org/10.1021/acs.oprd.9b00236>`_
+    @classmethod
+    def load(cls, save_dir, **kwargs):
+        """Load all the essential parameters of the BaumgartnerCrossCouplingEmulator
+        from disc
 
-    """
+        Parameters
+        ----------
+        save_dir : str or pathlib.Path
+            The directory from which to load emulator files.
 
-    def __init__(self, **kwargs):
-        super().__init__()
-        self.init_domain = self._domain
-        self.mod_domain = self._domain + ContinuousVariable(
-            name="cost",
-            description="cost in USD of 40 uL reaction",
-            bounds=[0.0, 1.0],
-            is_objective=True,
-            maximize=False,
-        )
-        self._domain = self.mod_domain
+        """
+        model_name = "baumgartner_aniline_cn_crosscoupling"
+        return super().load(model_name, save_dir, **kwargs)
 
     def _run(self, conditions, **kwargs):
-        # Change to original domain for running predictive model
-        self._domain = self.init_domain
         conditions, _ = super()._run(conditions=conditions, **kwargs)
 
         # Calculate costs
-        costs = self._calculate_costs(conditions)
-        conditions[("cost", "DATA")] = costs
+        if self.include_cost:
+            costs = self._calculate_costs(conditions)
+            conditions[("cost", "DATA")] = costs
 
-        # Change back to modified domain
-        self._domain = self.mod_domain
         return conditions, {}
 
     @classmethod
diff --git a/summit/benchmarks/models/baumgartner_aniline_cn_crosscoupling/baumgartner_aniline_cn_crosscoupling.json b/summit/benchmarks/models/baumgartner_aniline_cn_crosscoupling/baumgartner_aniline_cn_crosscoupling.json
new file mode 100644
index 00000000..9a0c7f2f
--- /dev/null
+++ b/summit/benchmarks/models/baumgartner_aniline_cn_crosscoupling/baumgartner_aniline_cn_crosscoupling.json
@@ -0,0 +1,1 @@
+{"domain": [{"type": "CategoricalVariable", "is_objective": false, "name": "catalyst", "description": "Catalyst type", "units": null, "levels": ["tBuXPhos", "tBuBrettPhos", "AlPhos"], "ds": {"index": ["tBuXPhos", "tBuBrettPhos", "AlPhos"], "columns": [["area_cat", "DATA"], ["M2_cat", "DATA"]], "data": [[460.7543, 67.2057], [518.8408, 89.8738], [819.933, 129.0808]]}}, {"type": "CategoricalVariable", "is_objective": false, "name": "base", "description": "Base", "units": null, "levels": ["DBU", "BTMG", "TMG", "TEA"], "ds": {"index": ["TEA", "TMG", "BTMG", "DBU"], "columns": [["area", "DATA"], ["M2", "DATA"]], "data": [[162.2992, 25.8165], [165.5447, 81.4847], [227.3523, 30.554], [192.4693, 59.8367]]}}, {"type": "ContinuousVariable", "is_objective": false, "name": "base_equivalents", "description": "Base equivalents", "units": null, "bounds": [1.0, 2.5]}, {"type": "ContinuousVariable", "is_objective": false, "name": "temperature", "description": "Temperature in degrees Celsius (\u00baC)", "units": null, "bounds": [30.0, 100.0]}, {"type": "ContinuousVariable", "is_objective": false, "name": "t_res", "description": "residence time in seconds (s)", "units": null, "bounds": [60.0, 1800.0]}, {"type": "ContinuousVariable", "is_objective": true, "name": "yield", "description": "Yield", "units": null, "bounds": [0.0, 1.0]}], "name": "ExperimentalEmulator", "data": {"index": [], "columns": [["catalyst", "DATA"], ["base", "DATA"], ["base_equivalents", "DATA"], ["temperature", "DATA"], ["t_res", "DATA"], ["yield", "DATA"], ["computation_t", "METADATA"], ["experiment_t", "METADATA"], ["strategy", "METADATA"]], "data": []}, "experiment_params": {"model_name": "baumgartner_aniline_cn_crosscoupling", "regressor_name": "ANNRegressor", "n_features": 10, "n_examples": 96, "output_variable_names": ["yield"], "predictors": [{"input_preprocessor": {"num": {"mean_": [1.6559957171333333, 69.63333333333334, 675.2387380961666], "var_": [0.24093575016750415, 906.7308888888889, 253625.04696145264], "scale_": [0.4908520654611776, 30.11197251740392, 503.6120004144586], "n_samples_seen_": 60}}, "output_preprocessor": {"mean_": [0.5805532822851092], "var_": [0.1785550681951766], "scale_": [0.42255776906261777], "n_samples_seen_": 60}}, {"input_preprocessor": {"num": {"mean_": [1.683371605967213, 74.62295081967213, 715.8182047760656], "var_": [0.24120375329778332, 866.5532437516797, 223573.2988868711], "scale_": [0.49112498745002103, 29.43727643230059, 472.83538243967223], "n_samples_seen_": 61}}, "output_preprocessor": {"mean_": [0.6254036210660563], "var_": [0.16832977557768586], "scale_": [0.4102801184284779], "n_samples_seen_": 61}}, {"input_preprocessor": {"num": {"mean_": [1.6615540930327868, 69.30163934426228, 681.7872910763934], "var_": [0.24927125858022928, 924.5657350174685, 269346.5438305566], "scale_": [0.49927072674074263, 30.40667254103067, 518.9860728676219], "n_samples_seen_": 61}}, "output_preprocessor": {"mean_": [0.5703947171110844], "var_": [0.18538124205880477], "scale_": [0.43055922015305254], "n_samples_seen_": 61}}, {"input_preprocessor": {"num": {"mean_": [1.628605248, 72.78196721311477, 735.1206038822951], "var_": [0.24907596673949953, 907.5027895726955, 244282.01121683227], "scale_": [0.4990751113204299, 30.124786963108892, 494.24893648528194], "n_samples_seen_": 61}}, "output_preprocessor": {"mean_": [0.6131021287750269], "var_": [0.17856050759065348], "scale_": [0.4225642052879698], "n_samples_seen_": 61}}, {"input_preprocessor": {"num": {"mean_": [1.6073154240819671, 73.0311475409836, 743.0736161352461], "var_": [0.2525966705755136, 848.4237839290512, 251362.03663802444], "scale_": [0.5025899626688873, 29.12771504819853, 501.3601865306263], "n_samples_seen_": 61}}, "output_preprocessor": {"mean_": [0.564398883872467], "var_": [0.18049929808199283], "scale_": [0.4248520896523787], "n_samples_seen_": 61}}]}, "extras": []}
\ No newline at end of file
diff --git a/summit/benchmarks/models/baumgartner_aniline_cn_crosscoupling/baumgartner_aniline_cn_crosscoupling_predictor_0.pt b/summit/benchmarks/models/baumgartner_aniline_cn_crosscoupling/baumgartner_aniline_cn_crosscoupling_predictor_0.pt
new file mode 100644
index 00000000..241fd8e0
Binary files /dev/null and b/summit/benchmarks/models/baumgartner_aniline_cn_crosscoupling/baumgartner_aniline_cn_crosscoupling_predictor_0.pt differ
diff --git a/summit/benchmarks/models/baumgartner_aniline_cn_crosscoupling/baumgartner_aniline_cn_crosscoupling_predictor_1.pt b/summit/benchmarks/models/baumgartner_aniline_cn_crosscoupling/baumgartner_aniline_cn_crosscoupling_predictor_1.pt
new file mode 100644
index 00000000..8cc71c18
Binary files /dev/null and b/summit/benchmarks/models/baumgartner_aniline_cn_crosscoupling/baumgartner_aniline_cn_crosscoupling_predictor_1.pt differ
diff --git a/summit/benchmarks/models/baumgartner_aniline_cn_crosscoupling/baumgartner_aniline_cn_crosscoupling_predictor_2.pt b/summit/benchmarks/models/baumgartner_aniline_cn_crosscoupling/baumgartner_aniline_cn_crosscoupling_predictor_2.pt
new file mode 100644
index 00000000..deca7a13
Binary files /dev/null and b/summit/benchmarks/models/baumgartner_aniline_cn_crosscoupling/baumgartner_aniline_cn_crosscoupling_predictor_2.pt differ
diff --git a/summit/benchmarks/models/baumgartner_aniline_cn_crosscoupling/baumgartner_aniline_cn_crosscoupling_predictor_3.pt b/summit/benchmarks/models/baumgartner_aniline_cn_crosscoupling/baumgartner_aniline_cn_crosscoupling_predictor_3.pt
new file mode 100644
index 00000000..8136278e
Binary files /dev/null and b/summit/benchmarks/models/baumgartner_aniline_cn_crosscoupling/baumgartner_aniline_cn_crosscoupling_predictor_3.pt differ
diff --git a/summit/benchmarks/models/baumgartner_aniline_cn_crosscoupling/baumgartner_aniline_cn_crosscoupling_predictor_4.pt b/summit/benchmarks/models/baumgartner_aniline_cn_crosscoupling/baumgartner_aniline_cn_crosscoupling_predictor_4.pt
new file mode 100644
index 00000000..3f2577e5
Binary files /dev/null and b/summit/benchmarks/models/baumgartner_aniline_cn_crosscoupling/baumgartner_aniline_cn_crosscoupling_predictor_4.pt differ
diff --git a/summit/benchmarks/models/reizman_suzuki_case_1/reizman_suzuki_case_1.json b/summit/benchmarks/models/reizman_suzuki_case_1/reizman_suzuki_case_1.json
new file mode 100644
index 00000000..e3ee6557
--- /dev/null
+++ b/summit/benchmarks/models/reizman_suzuki_case_1/reizman_suzuki_case_1.json
@@ -0,0 +1,1 @@
+{"domain": [{"type": "CategoricalVariable", "is_objective": false, "name": "catalyst", "description": "Catalyst type - different ligands", "units": null, "levels": ["P1-L1", "P2-L1", "P1-L2", "P1-L3", "P1-L4", "P1-L5", "P1-L6", "P1-L7"], "ds": null}, {"type": "ContinuousVariable", "is_objective": false, "name": "t_res", "description": "Residence time in seconds (s)", "units": null, "bounds": [60.0, 600.0]}, {"type": "ContinuousVariable", "is_objective": false, "name": "temperature", "description": "Reactor temperature in degrees Celsius (\u00baC)", "units": null, "bounds": [30.0, 110.0]}, {"type": "ContinuousVariable", "is_objective": false, "name": "catalyst_loading", "description": "Catalyst loading in mol%", "units": null, "bounds": [0.5, 2.5]}, {"type": "ContinuousVariable", "is_objective": true, "name": "ton", "description": "Turnover number - moles product generated divided by moles catalyst used", "units": null, "bounds": [0.0, 200.0]}, {"type": "ContinuousVariable", "is_objective": true, "name": "yield", "description": "Yield", "units": null, "bounds": [0.0, 100.0]}], "name": "ExperimentalEmulator", "data": {"index": [], "columns": [["catalyst", "DATA"], ["t_res", "DATA"], ["temperature", "DATA"], ["catalyst_loading", "DATA"], ["ton", "DATA"], ["yield", "DATA"], ["computation_t", "METADATA"], ["experiment_t", "METADATA"], ["strategy", "METADATA"]], "data": []}, "experiment_params": {"model_name": "reizman_suzuki_case_1", "regressor_name": "ANNRegressor", "n_features": 11, "n_examples": 96, "output_variable_names": ["ton", "yield"], "predictors": [{"input_preprocessor": {"num": {"mean_": [354.02166666666665, 93.35666666666665, 1.5370833333333331], "var_": [62364.78669722223, 790.510788888889, 0.630418109722222], "scale_": [249.72942697492067, 28.116023703377564, 0.7939887340020776], "n_samples_seen_": 60}}, "output_preprocessor": {"mean_": [30.31333336258928, 41.88166637221972], "var_": [635.5938398516427, 1069.4477598033263], "scale_": [25.210986491044785, 32.70241214044197], "n_samples_seen_": 60}}, {"input_preprocessor": {"num": {"mean_": [326.60819672131146, 92.32622950819672, 1.5993606557377045], "var_": [61304.89124428917, 841.8547218489653, 0.6307227223864553], "scale_": [247.5982456405723, 29.014732841247483, 0.7941805351344587], "n_samples_seen_": 61}}, "output_preprocessor": {"mean_": [28.045901633676934, 42.237704714790716], "var_": [608.6952533265118, 1152.2032867646853], "scale_": [24.671750106680957, 33.94412006172329], "n_samples_seen_": 61}}, {"input_preprocessor": {"num": {"mean_": [331.3311475409836, 90.84918032786884, 1.631934426229508], "var_": [63160.69001343723, 853.8743026068263, 0.6774574383230314], "scale_": [251.3179062729857, 29.22112767513989, 0.8230780268741423], "n_samples_seen_": 61}}, "output_preprocessor": {"mean_": [26.267213071223164, 38.83934418881526], "var_": [548.3861460177625, 1099.3515893069962], "scale_": [23.41764603921074, 33.156471303608235], "n_samples_seen_": 61}}, {"input_preprocessor": {"num": {"mean_": [346.4393442622951, 95.5344262295082, 1.616327868852459], "var_": [60173.75156678312, 662.3563558183281, 0.6452992039774254], "scale_": [245.30338678212968, 25.736284809939605, 0.8033051748728035], "n_samples_seen_": 61}}, "output_preprocessor": {"mean_": [30.268852538016976, 46.137704603007585], "var_": [631.0283785378102, 1125.974178376745], "scale_": [25.120278233686232, 33.55553871385088], "n_samples_seen_": 61}}, {"input_preprocessor": {"num": {"mean_": [348.5508196721312, 90.172131147541, 1.6511147540983604], "var_": [62814.376597688795, 855.4459446385379, 0.6407999048642837], "scale_": [250.6279645165096, 29.24800753279679, 0.8004997844248828], "n_samples_seen_": 61}}, "output_preprocessor": {"mean_": [27.61475420022597, 39.5245899352871], "var_": [627.0747155828524, 1018.971371868839], "scale_": [25.041459933135936, 31.921330985233666], "n_samples_seen_": 61}}]}, "extras": []}
\ No newline at end of file
diff --git a/summit/benchmarks/models/reizman_suzuki_case_1/reizman_suzuki_case_1_predictor_0.pt b/summit/benchmarks/models/reizman_suzuki_case_1/reizman_suzuki_case_1_predictor_0.pt
new file mode 100644
index 00000000..29132ecb
Binary files /dev/null and b/summit/benchmarks/models/reizman_suzuki_case_1/reizman_suzuki_case_1_predictor_0.pt differ
diff --git a/summit/benchmarks/models/reizman_suzuki_case_1/reizman_suzuki_case_1_predictor_1.pt b/summit/benchmarks/models/reizman_suzuki_case_1/reizman_suzuki_case_1_predictor_1.pt
new file mode 100644
index 00000000..ac196fd1
Binary files /dev/null and b/summit/benchmarks/models/reizman_suzuki_case_1/reizman_suzuki_case_1_predictor_1.pt differ
diff --git a/summit/benchmarks/models/reizman_suzuki_case_1/reizman_suzuki_case_1_predictor_2.pt b/summit/benchmarks/models/reizman_suzuki_case_1/reizman_suzuki_case_1_predictor_2.pt
new file mode 100644
index 00000000..c0a4d249
Binary files /dev/null and b/summit/benchmarks/models/reizman_suzuki_case_1/reizman_suzuki_case_1_predictor_2.pt differ
diff --git a/summit/benchmarks/models/reizman_suzuki_case_1/reizman_suzuki_case_1_predictor_3.pt b/summit/benchmarks/models/reizman_suzuki_case_1/reizman_suzuki_case_1_predictor_3.pt
new file mode 100644
index 00000000..8d74b0b9
Binary files /dev/null and b/summit/benchmarks/models/reizman_suzuki_case_1/reizman_suzuki_case_1_predictor_3.pt differ
diff --git a/summit/benchmarks/models/reizman_suzuki_case_1/reizman_suzuki_case_1_predictor_4.pt b/summit/benchmarks/models/reizman_suzuki_case_1/reizman_suzuki_case_1_predictor_4.pt
new file mode 100644
index 00000000..dfad7dbb
Binary files /dev/null and b/summit/benchmarks/models/reizman_suzuki_case_1/reizman_suzuki_case_1_predictor_4.pt differ
diff --git a/summit/benchmarks/models/reizman_suzuki_case_2/reizman_suzuki_case_2.json b/summit/benchmarks/models/reizman_suzuki_case_2/reizman_suzuki_case_2.json
new file mode 100644
index 00000000..9eef1605
--- /dev/null
+++ b/summit/benchmarks/models/reizman_suzuki_case_2/reizman_suzuki_case_2.json
@@ -0,0 +1,1 @@
+{"domain": [{"type": "CategoricalVariable", "is_objective": false, "name": "catalyst", "description": "Catalyst type - different ligands", "units": null, "levels": ["P1-L1", "P2-L1", "P1-L2", "P1-L3", "P1-L4", "P1-L5", "P1-L6", "P1-L7"], "ds": null}, {"type": "ContinuousVariable", "is_objective": false, "name": "t_res", "description": "Residence time in seconds (s)", "units": null, "bounds": [60.0, 600.0]}, {"type": "ContinuousVariable", "is_objective": false, "name": "temperature", "description": "Reactor temperature in degrees Celsius (\u00baC)", "units": null, "bounds": [30.0, 110.0]}, {"type": "ContinuousVariable", "is_objective": false, "name": "catalyst_loading", "description": "Catalyst loading in mol%", "units": null, "bounds": [0.5, 2.5]}, {"type": "ContinuousVariable", "is_objective": true, "name": "ton", "description": "Turnover number - moles product generated divided by moles catalyst used", "units": null, "bounds": [0.0, 200.0]}, {"type": "ContinuousVariable", "is_objective": true, "name": "yield", "description": "Yield", "units": null, "bounds": [0.0, 100.0]}], "name": "ExperimentalEmulator", "data": {"index": [], "columns": [["catalyst", "DATA"], ["t_res", "DATA"], ["temperature", "DATA"], ["catalyst_loading", "DATA"], ["ton", "DATA"], ["yield", "DATA"], ["computation_t", "METADATA"], ["experiment_t", "METADATA"], ["strategy", "METADATA"]], "data": []}, "experiment_params": {"model_name": "reizman_suzuki_case_2", "regressor_name": "ANNRegressor", "n_features": 11, "n_examples": 96, "output_variable_names": ["ton", "yield"], "predictors": [{"input_preprocessor": {"num": {"mean_": [388.87166666666667, 85.14333333333335, 2.1326333333333336], "var_": [51629.748030555544, 1059.4557888888892, 0.4159331655555555], "scale_": [227.22180359850051, 32.54928246350277, 0.6449288065791103], "n_samples_seen_": 60}}, "output_preprocessor": {"mean_": [6.178333353375395, 13.89833338521421], "var_": [38.187364444819586, 204.10316777823803], "scale_": [6.179592579193193, 14.286467995212744], "n_samples_seen_": 60}}, {"input_preprocessor": {"num": {"mean_": [376.4754098360656, 85.4, 2.011622950819673], "var_": [53202.64152647137, 1135.808524590164, 0.5176740053748993], "scale_": [230.65697805718207, 33.70175847919755, 0.7194956604281219], "n_samples_seen_": 61}}, "output_preprocessor": {"mean_": [5.442622941659122, 11.96721318461856], "var_": [34.401789025483716, 181.47925989085533], "scale_": [5.865303830619835, 13.471423825670964], "n_samples_seen_": 61}}, {"input_preprocessor": {"num": {"mean_": [370.2770491803279, 87.06885245901641, 2.053114754098361], "var_": [52169.36930932545, 1016.805751142166, 0.513469937651169], "scale_": [228.40614989383593, 31.88739172685916, 0.7165681667860839], "n_samples_seen_": 61}}, "output_preprocessor": {"mean_": [5.681967221689029, 12.68852458210265], "var_": [34.88410335211236, 185.96397087625303], "scale_": [5.9062766064681025, 13.636860741250276], "n_samples_seen_": 61}}, {"input_preprocessor": {"num": {"mean_": [408.0852459016394, 83.91147540983607, 2.1295245901639346], "var_": [49406.179946251, 1074.2885568395593, 0.4012853969363074], "scale_": [222.27500972050592, 32.77634141937686, 0.6334709124626855], "n_samples_seen_": 61}}, "output_preprocessor": {"mean_": [6.513114772004182, 14.72131149825014], "var_": [38.77622134464442, 216.8098759612099], "scale_": [6.227055591902518, 14.724465218173796], "n_samples_seen_": 61}}, {"input_preprocessor": {"num": {"mean_": [365.5311475409836, 89.45245901639345, 2.0956065573770495], "var_": [51459.27230851923, 890.1831496909433, 0.4506949599570008], "scale_": [226.84636278441678, 29.835937218243092, 0.6713381859815519], "n_samples_seen_": 61}}, "output_preprocessor": {"mean_": [5.616393469396185, 12.532786916758193], "var_": [32.921700561709216, 176.46679211664394], "scale_": [5.737743507835568, 13.284080401617718], "n_samples_seen_": 61}}]}, "extras": []}
\ No newline at end of file
diff --git a/summit/benchmarks/models/reizman_suzuki_case_2/reizman_suzuki_case_2_predictor_0.pt b/summit/benchmarks/models/reizman_suzuki_case_2/reizman_suzuki_case_2_predictor_0.pt
new file mode 100644
index 00000000..cf80d5b8
Binary files /dev/null and b/summit/benchmarks/models/reizman_suzuki_case_2/reizman_suzuki_case_2_predictor_0.pt differ
diff --git a/summit/benchmarks/models/reizman_suzuki_case_2/reizman_suzuki_case_2_predictor_1.pt b/summit/benchmarks/models/reizman_suzuki_case_2/reizman_suzuki_case_2_predictor_1.pt
new file mode 100644
index 00000000..1ac629e7
Binary files /dev/null and b/summit/benchmarks/models/reizman_suzuki_case_2/reizman_suzuki_case_2_predictor_1.pt differ
diff --git a/summit/benchmarks/models/reizman_suzuki_case_2/reizman_suzuki_case_2_predictor_2.pt b/summit/benchmarks/models/reizman_suzuki_case_2/reizman_suzuki_case_2_predictor_2.pt
new file mode 100644
index 00000000..a487776d
Binary files /dev/null and b/summit/benchmarks/models/reizman_suzuki_case_2/reizman_suzuki_case_2_predictor_2.pt differ
diff --git a/summit/benchmarks/models/reizman_suzuki_case_2/reizman_suzuki_case_2_predictor_3.pt b/summit/benchmarks/models/reizman_suzuki_case_2/reizman_suzuki_case_2_predictor_3.pt
new file mode 100644
index 00000000..192c9f4c
Binary files /dev/null and b/summit/benchmarks/models/reizman_suzuki_case_2/reizman_suzuki_case_2_predictor_3.pt differ
diff --git a/summit/benchmarks/models/reizman_suzuki_case_2/reizman_suzuki_case_2_predictor_4.pt b/summit/benchmarks/models/reizman_suzuki_case_2/reizman_suzuki_case_2_predictor_4.pt
new file mode 100644
index 00000000..ca42c899
Binary files /dev/null and b/summit/benchmarks/models/reizman_suzuki_case_2/reizman_suzuki_case_2_predictor_4.pt differ
diff --git a/summit/benchmarks/models/reizman_suzuki_case_3/reizman_suzuki_case_3.json b/summit/benchmarks/models/reizman_suzuki_case_3/reizman_suzuki_case_3.json
new file mode 100644
index 00000000..4dc09f72
--- /dev/null
+++ b/summit/benchmarks/models/reizman_suzuki_case_3/reizman_suzuki_case_3.json
@@ -0,0 +1,1 @@
+{"domain": [{"type": "CategoricalVariable", "is_objective": false, "name": "catalyst", "description": "Catalyst type - different ligands", "units": null, "levels": ["P1-L1", "P2-L1", "P1-L2", "P1-L3", "P1-L4", "P1-L5", "P1-L6", "P1-L7"], "ds": null}, {"type": "ContinuousVariable", "is_objective": false, "name": "t_res", "description": "Residence time in seconds (s)", "units": null, "bounds": [60.0, 600.0]}, {"type": "ContinuousVariable", "is_objective": false, "name": "temperature", "description": "Reactor temperature in degrees Celsius (\u00baC)", "units": null, "bounds": [30.0, 110.0]}, {"type": "ContinuousVariable", "is_objective": false, "name": "catalyst_loading", "description": "Catalyst loading in mol%", "units": null, "bounds": [0.5, 2.5]}, {"type": "ContinuousVariable", "is_objective": true, "name": "ton", "description": "Turnover number - moles product generated divided by moles catalyst used", "units": null, "bounds": [0.0, 200.0]}, {"type": "ContinuousVariable", "is_objective": true, "name": "yield", "description": "Yield", "units": null, "bounds": [0.0, 100.0]}], "name": "ExperimentalEmulator", "data": {"index": [], "columns": [["catalyst", "DATA"], ["t_res", "DATA"], ["temperature", "DATA"], ["catalyst_loading", "DATA"], ["ton", "DATA"], ["yield", "DATA"], ["computation_t", "METADATA"], ["experiment_t", "METADATA"], ["strategy", "METADATA"]], "data": []}, "experiment_params": {"model_name": "reizman_suzuki_case_3", "regressor_name": "ANNRegressor", "n_features": 11, "n_examples": 96, "output_variable_names": ["ton", "yield"], "predictors": [{"input_preprocessor": {"num": {"mean_": [251.72833333333335, 97.14833333333334, 1.566916666666667], "var_": [47050.376030555555, 657.3611638888889, 0.4318778097222222], "scale_": [216.91098642197807, 25.63905544065321, 0.6571741091386835], "n_samples_seen_": 60}}, "output_preprocessor": {"mean_": [35.49833326935768, 56.09333371246854], "var_": [681.0345249872655, 1400.3602732022603], "scale_": [26.096638193209206, 37.42138791122345], "n_samples_seen_": 60}}, {"input_preprocessor": {"num": {"mean_": [242.61147540983606, 96.20655737704918, 1.6528688524590167], "var_": [48523.75183552809, 745.9760225745767, 0.4709996221445848], "scale_": [220.28107461951444, 27.312561626009686, 0.6862941221842023], "n_samples_seen_": 61}}, "output_preprocessor": {"mean_": [34.87868853548511, 57.49016414607158], "var_": [584.9813694724904, 1257.7133901861848], "scale_": [24.186388103073398, 35.46425510547465], "n_samples_seen_": 61}}, {"input_preprocessor": {"num": {"mean_": [235.5672131147541, 93.20819672131147, 1.593377049180328], "var_": [46069.8372856759, 826.8020639613006, 0.47456813652244023], "scale_": [214.63885315961764, 28.754166027921947, 0.6888890596623235], "n_samples_seen_": 61}}, "output_preprocessor": {"mean_": [30.559016146254343, 48.531147868662586], "var_": [645.0237283999803, 1387.2529703124624], "scale_": [25.39731734652265, 37.2458450073624], "n_samples_seen_": 61}}, {"input_preprocessor": {"num": {"mean_": [233.6032786885246, 96.62622950819672, 1.6115737704918034], "var_": [43002.469497446924, 662.940295619457, 0.4058188019349637], "scale_": [207.3703679348786, 25.747626990063704, 0.6370390898013746], "n_samples_seen_": 61}}, "output_preprocessor": {"mean_": [35.72950815079642, 55.47704955007209], "var_": [706.310614824295, 1308.7831021605946], "scale_": [26.57650493997085, 36.17710743219522], "n_samples_seen_": 61}}, {"input_preprocessor": {"num": {"mean_": [236.55737704918036, 94.43606557377048, 1.6498032786885244], "var_": [45848.09654393981, 819.1524697661919, 0.4757863875302337], "scale_": [214.12168629996313, 28.6208397809392, 0.6897727071508656], "n_samples_seen_": 61}}, "output_preprocessor": {"mean_": [33.09672119395166, 53.89836108489115], "var_": [608.3327577677784, 1302.892620258644], "scale_": [24.6644026436437, 36.09560389103698], "n_samples_seen_": 61}}]}, "extras": []}
\ No newline at end of file
diff --git a/summit/benchmarks/models/reizman_suzuki_case_3/reizman_suzuki_case_3_predictor_0.pt b/summit/benchmarks/models/reizman_suzuki_case_3/reizman_suzuki_case_3_predictor_0.pt
new file mode 100644
index 00000000..ce0e655e
Binary files /dev/null and b/summit/benchmarks/models/reizman_suzuki_case_3/reizman_suzuki_case_3_predictor_0.pt differ
diff --git a/summit/benchmarks/models/reizman_suzuki_case_3/reizman_suzuki_case_3_predictor_1.pt b/summit/benchmarks/models/reizman_suzuki_case_3/reizman_suzuki_case_3_predictor_1.pt
new file mode 100644
index 00000000..bc464d4c
Binary files /dev/null and b/summit/benchmarks/models/reizman_suzuki_case_3/reizman_suzuki_case_3_predictor_1.pt differ
diff --git a/summit/benchmarks/models/reizman_suzuki_case_3/reizman_suzuki_case_3_predictor_2.pt b/summit/benchmarks/models/reizman_suzuki_case_3/reizman_suzuki_case_3_predictor_2.pt
new file mode 100644
index 00000000..fd785742
Binary files /dev/null and b/summit/benchmarks/models/reizman_suzuki_case_3/reizman_suzuki_case_3_predictor_2.pt differ
diff --git a/summit/benchmarks/models/reizman_suzuki_case_3/reizman_suzuki_case_3_predictor_3.pt b/summit/benchmarks/models/reizman_suzuki_case_3/reizman_suzuki_case_3_predictor_3.pt
new file mode 100644
index 00000000..d9334bea
Binary files /dev/null and b/summit/benchmarks/models/reizman_suzuki_case_3/reizman_suzuki_case_3_predictor_3.pt differ
diff --git a/summit/benchmarks/models/reizman_suzuki_case_3/reizman_suzuki_case_3_predictor_4.pt b/summit/benchmarks/models/reizman_suzuki_case_3/reizman_suzuki_case_3_predictor_4.pt
new file mode 100644
index 00000000..0e886ed9
Binary files /dev/null and b/summit/benchmarks/models/reizman_suzuki_case_3/reizman_suzuki_case_3_predictor_4.pt differ
diff --git a/summit/benchmarks/models/reizman_suzuki_case_4/reizman_suzuki_case_4.json b/summit/benchmarks/models/reizman_suzuki_case_4/reizman_suzuki_case_4.json
new file mode 100644
index 00000000..7acfc8cf
--- /dev/null
+++ b/summit/benchmarks/models/reizman_suzuki_case_4/reizman_suzuki_case_4.json
@@ -0,0 +1,1 @@
+{"domain": [{"type": "CategoricalVariable", "is_objective": false, "name": "catalyst", "description": "Catalyst type - different ligands", "units": null, "levels": ["P1-L1", "P2-L1", "P1-L2", "P1-L3", "P1-L4", "P1-L5", "P1-L6", "P1-L7"], "ds": null}, {"type": "ContinuousVariable", "is_objective": false, "name": "t_res", "description": "Residence time in seconds (s)", "units": null, "bounds": [60.0, 600.0]}, {"type": "ContinuousVariable", "is_objective": false, "name": "temperature", "description": "Reactor temperature in degrees Celsius (\u00baC)", "units": null, "bounds": [30.0, 110.0]}, {"type": "ContinuousVariable", "is_objective": false, "name": "catalyst_loading", "description": "Catalyst loading in mol%", "units": null, "bounds": [0.5, 2.5]}, {"type": "ContinuousVariable", "is_objective": true, "name": "ton", "description": "Turnover number - moles product generated divided by moles catalyst used", "units": null, "bounds": [0.0, 200.0]}, {"type": "ContinuousVariable", "is_objective": true, "name": "yield", "description": "Yield", "units": null, "bounds": [0.0, 100.0]}], "name": "ExperimentalEmulator", "data": {"index": [], "columns": [["catalyst", "DATA"], ["t_res", "DATA"], ["temperature", "DATA"], ["catalyst_loading", "DATA"], ["ton", "DATA"], ["yield", "DATA"], ["computation_t", "METADATA"], ["experiment_t", "METADATA"], ["strategy", "METADATA"]], "data": []}, "experiment_params": {"model_name": "reizman_suzuki_case_4", "regressor_name": "ANNRegressor", "n_features": 11, "n_examples": 97, "output_variable_names": ["ton", "yield"], "predictors": [{"input_preprocessor": {"num": {"mean_": [361.3918032786886, 83.57868852459015, 1.6783114754098363], "var_": [51894.334195108844, 538.3793818865896, 0.5491226079011019], "scale_": [227.80327959691195, 23.203003725522038, 0.7410280749749647], "n_samples_seen_": 61}}, "output_preprocessor": {"mean_": [46.508196917469384, 68.03934463113546], "var_": [965.1315826947083, 914.6086297925623], "scale_": [31.066566960234088, 30.24249708262468], "n_samples_seen_": 61}}, {"input_preprocessor": {"num": {"mean_": [328.1016393442623, 85.09344262295082, 1.6505737704918035], "var_": [48394.58081698467, 625.0373340499864, 0.5491268675087343], "scale_": [219.98768333019163, 25.00074666984941, 0.7410309490896682], "n_samples_seen_": 61}}, "output_preprocessor": {"mean_": [46.657377005111975, 65.44754103485678], "var_": [1047.2663762907757, 1006.2438135523288], "scale_": [32.361495272789476, 31.721346338898176], "n_samples_seen_": 61}}, {"input_preprocessor": {"num": {"mean_": [347.89193548387095, 83.9274193548387, 1.7433870967741936], "var_": [49269.6665478668, 637.4981191467223, 0.5718076566077004], "scale_": [221.96771510259504, 25.24872509943269, 0.7561796457242819], "n_samples_seen_": 62}}, "output_preprocessor": {"mean_": [41.432258085618095, 63.55322592477164], "var_": [939.911529020917, 1141.7537632219253], "scale_": [30.65797659697908, 33.78984704348224], "n_samples_seen_": 62}}, {"input_preprocessor": {"num": {"mean_": [354.1322580645161, 83.4241935483871, 1.6983064516129034], "var_": [49819.123798126966, 571.1295759625391, 0.5281285996357961], "scale_": [223.2019798257331, 23.8983174295292, 0.7267245693079298], "n_samples_seen_": 62}}, "output_preprocessor": {"mean_": [44.380645274635285, 65.95000013060147], "var_": [961.0954115775323, 1026.6679600015764], "scale_": [31.0015388582169, 32.041659757284364], "n_samples_seen_": 62}}, {"input_preprocessor": {"num": {"mean_": [348.53225806451616, 86.98064516129034, 1.7053709677419355], "var_": [55211.68863683663, 514.798657648283, 0.5502617172216441], "scale_": [234.97167624383292, 22.68917490012105, 0.7417962774385188], "n_samples_seen_": 62}}, "output_preprocessor": {"mean_": [46.59516116447987, 67.53709707745621], "var_": [961.811094079407, 888.484573507381], "scale_": [31.013079403364753, 29.807458353696997], "n_samples_seen_": 62}}]}, "extras": []}
\ No newline at end of file
diff --git a/summit/benchmarks/models/reizman_suzuki_case_4/reizman_suzuki_case_4_predictor_0.pt b/summit/benchmarks/models/reizman_suzuki_case_4/reizman_suzuki_case_4_predictor_0.pt
new file mode 100644
index 00000000..5b2076ec
Binary files /dev/null and b/summit/benchmarks/models/reizman_suzuki_case_4/reizman_suzuki_case_4_predictor_0.pt differ
diff --git a/summit/benchmarks/models/reizman_suzuki_case_4/reizman_suzuki_case_4_predictor_1.pt b/summit/benchmarks/models/reizman_suzuki_case_4/reizman_suzuki_case_4_predictor_1.pt
new file mode 100644
index 00000000..3e04d13f
Binary files /dev/null and b/summit/benchmarks/models/reizman_suzuki_case_4/reizman_suzuki_case_4_predictor_1.pt differ
diff --git a/summit/benchmarks/models/reizman_suzuki_case_4/reizman_suzuki_case_4_predictor_2.pt b/summit/benchmarks/models/reizman_suzuki_case_4/reizman_suzuki_case_4_predictor_2.pt
new file mode 100644
index 00000000..f7a09768
Binary files /dev/null and b/summit/benchmarks/models/reizman_suzuki_case_4/reizman_suzuki_case_4_predictor_2.pt differ
diff --git a/summit/benchmarks/models/reizman_suzuki_case_4/reizman_suzuki_case_4_predictor_3.pt b/summit/benchmarks/models/reizman_suzuki_case_4/reizman_suzuki_case_4_predictor_3.pt
new file mode 100644
index 00000000..cf9f98c5
Binary files /dev/null and b/summit/benchmarks/models/reizman_suzuki_case_4/reizman_suzuki_case_4_predictor_3.pt differ
diff --git a/summit/benchmarks/models/reizman_suzuki_case_4/reizman_suzuki_case_4_predictor_4.pt b/summit/benchmarks/models/reizman_suzuki_case_4/reizman_suzuki_case_4_predictor_4.pt
new file mode 100644
index 00000000..baefd629
Binary files /dev/null and b/summit/benchmarks/models/reizman_suzuki_case_4/reizman_suzuki_case_4_predictor_4.pt differ
diff --git a/summit/experiment.py b/summit/experiment.py
index a15c4db6..31c8f000 100644
--- a/summit/experiment.py
+++ b/summit/experiment.py
@@ -9,6 +9,7 @@
 import pandas as pd
 import numpy as np
 import time
+import logging
 
 COLORS = [
     (165, 0, 38),
@@ -44,6 +45,7 @@ class Experiment(ABC):
     """
 
     def __init__(self, domain, **kwargs):
+        self.logger = kwargs.get("logger", logging.getLogger(__name__))
         self._domain = domain
         self.reset()
 
@@ -148,7 +150,7 @@ def to_dict(self, **experiment_params):
 
         return dict(
             domain=self.domain.to_dict(),
-            name=self.__class__.__name__,
+            name=str(self.__class__.__name__),
             data=self.data.to_dict(),
             experiment_params=experiment_params,
             extras=extras,
diff --git a/summit/run.py b/summit/run.py
index 4ce98ebd..a0f99dbe 100644
--- a/summit/run.py
+++ b/summit/run.py
@@ -11,6 +11,7 @@
 import uuid
 import json
 import logging
+import pkg_resources
 
 __all__ = ["experiment_from_dict", "Runner", "NeptuneRunner"]
 
@@ -45,11 +46,17 @@ def experiment_from_dict(d):
     elif d["name"] == "BaumgartnerCrossCouplingEmulator":
         return BaumgartnerCrossCouplingEmulator.from_dict(d)
     elif d["name"] == "BaumgartnerCrossCouplingDescriptorEmulator":
-        BaumgartnerCrossCouplingDescriptorEmulator.from_dict(d)
+        raise NotImplementedError(
+            "BaumgartnerCrossCouplingDescriptorEmulator has been deprecated."
+        )
     elif d["name"] == "BaumgartnerCrossCouplingEmulator_Yield_Cost":
-        return BaumgartnerCrossCouplingEmulator_Yield_Cost.from_dict(d)
+        raise NotImplementedError(
+            "BaumgartnerCrossCouplingEmulator_Yield_Cost has been deprecated."
+        )
     elif d["name"] == "BaumgartnerCrossCouplingBenchmark":
-        return BaumgartnerCrossCouplingEmulator.from_dict(d)
+        raise NotImplementedError(
+            "BaumgartnerCrossCouplingBenchmark has been deprecated."
+        )
     else:
         raise ValueError(f"""Experiment {d["name"]} not found.""")
 
diff --git a/summit/strategies/__init__.py b/summit/strategies/__init__.py
index f9d3926c..799b4c59 100644
--- a/summit/strategies/__init__.py
+++ b/summit/strategies/__init__.py
@@ -7,7 +7,6 @@
 from .snobfit import SNOBFIT
 from .sobo import SOBO
 from .multitask import MTBO, STBO
-from .gryffin import GRYFFIN
 from .deep_reaction_optimizer import DRO
 from .entmoot import ENTMOOT
 
@@ -21,7 +20,6 @@
     "MTBO",
     "STBO",
     "SOBO",
-    "GRYFFIN",
     "DRO",
     "strategy_from_dict",
 ] + base_all
@@ -35,7 +33,7 @@ def strategy_from_dict(d):
     elif d["name"] == "TSEMO":
         return TSEMO.from_dict(d)
     elif d["name"] == "GRYFFIN":
-        return GRYFFIN.from_dict(d)
+        raise ValueError("Gryffin is now deprecated.")
     elif d["name"] == "SOBO":
         return SOBO.from_dict(d)
     elif d["name"] == "SNOBFIT":
diff --git a/summit/strategies/base.py b/summit/strategies/base.py
index 7d2b08a9..1a8b6801 100644
--- a/summit/strategies/base.py
+++ b/summit/strategies/base.py
@@ -64,6 +64,7 @@ def transform_inputs_outputs(self, ds: DataSet, **kwargs):
             Datasets with the input and output datasets
         """
         from sklearn.preprocessing import OneHotEncoder
+
         copy = kwargs.get("copy", True)
         categorical_method = kwargs.get("categorical_method", "one-hot")
         standardize_inputs = kwargs.get("standardize_inputs", False)
@@ -200,6 +201,7 @@ def un_transform(self, ds, **kwargs):
 
         """
         from sklearn.preprocessing import OneHotEncoder
+
         categorical_method = kwargs.get("categorical_method")
         standardize_inputs = kwargs.get("standardize_inputs", False)
         standardize_outputs = kwargs.get("standardize_outputs", False)
@@ -811,7 +813,7 @@ def to_dict(self, **strategy_params):
         # You can pass in as keyword arguments any custom parameters
         # for a strategy, which will be stored under the key strategy_params.
         return dict(
-            name=self.__class__.__name__,
+            name=str(self.__class__.__name__),
             transform=self.transform.to_dict(),
             strategy_params=strategy_params,
         )
diff --git a/summit/strategies/deep_reaction_optimizer.py b/summit/strategies/deep_reaction_optimizer.py
index 06cc3b82..3faf7665 100644
--- a/summit/strategies/deep_reaction_optimizer.py
+++ b/summit/strategies/deep_reaction_optimizer.py
@@ -16,10 +16,6 @@
 from collections import namedtuple
 from copy import deepcopy
 
-IGNORE_CHEMOPT = (
-    True  # Global variable to ignore issues with tensorflow just for sake of analysis
-)
-
 
 class DRO(Strategy):
     """Deep Reaction Optimizer (DRO)
@@ -105,13 +101,6 @@ def __init__(
     ):
         Strategy.__init__(self, domain, transform)
 
-        import tensorflow as tf
-
-        if tf.__version__ != "1.13.1" and not IGNORE_CHEMOPT:
-            raise ImportError(
-                "Tensorflow version 1.13.1 needed for DRO, which is different than the versions needed for other strategies. We suggest using the docker container marcosfelt/summit:dro."
-            )
-
         # Create directories to store temporary files
         summit_config_path = get_summit_config_path()
         self.uuid_val = uuid.uuid4()  # Unique identifier for this run
@@ -146,16 +135,15 @@ def suggest_experiments(self, prev_res: DataSet = None, **kwargs):
 
 
         """
-
-        # if tf.__version__ != "1.13.1":
-        #     raise ImportError(
-        #         """Tensorflow version 1.13.1 needed for DRO, which is different than the versions
-        #         needed for other strategies. We suggest using the docker container marcosfelt/summit:dro.
-        #         """
-        #     )
-
         import tensorflow as tf
 
+        if tf.__version__ != "1.13.1":
+            raise ImportError(
+                """Tensorflow version 1.13.1 needed for DRO, which is different than the versions
+                needed for other strategies. We suggest using the docker container marcosfelt/summit:dro.
+                """
+            )
+
         # Extract dimension of input domain
         self.dim = self.domain.num_continuous_dimensions()
 
diff --git a/summit/strategies/tsemo.py b/summit/strategies/tsemo.py
index e9868d72..95eaeab4 100644
--- a/summit/strategies/tsemo.py
+++ b/summit/strategies/tsemo.py
@@ -145,7 +145,7 @@ def suggest_experiments(self, num_experiments, prev_res: DataSet = None, **kwarg
             A Dataset object with the suggested experiments
         """
         from GPy.models import GPRegression as gpr
-        from GPy.priors import LogGaussian
+        from GPy.core.parameterization.priors import LogGaussian
         from GPy.kern import Exponential, Matern32, Matern52, RBF
         import pyrff
         from pymoo.algorithms.nsga2 import NSGA2
diff --git a/summit/utils/__init__.py b/summit/utils/__init__.py
index d9f7507c..005dbe5b 100644
--- a/summit/utils/__init__.py
+++ b/summit/utils/__init__.py
@@ -1,5 +1,6 @@
 import numpy as np
 from copy import deepcopy
+import numpy as np
 
 
 def jsonify_dict(d, copy=True):
@@ -13,6 +14,10 @@ def jsonify_dict(d, copy=True):
             d[k] = jsonify_list(v)
         elif type(v) == dict:
             d[k] = jsonify_dict(v)
+        elif type(v) in (np.int64, np.int32, np.int8):
+            d[k] = int(v)
+        elif type(v) in (np.float16, np.float32, np.float64, np.float128):
+            d[k] = float(v)
         elif type(v) in [str, int, float, bool, tuple] or v is None:
             pass
         else:
diff --git a/summit/utils/data.py b/summit/utils/data.py
deleted file mode 100644
index 7b7e9453..00000000
--- a/summit/utils/data.py
+++ /dev/null
@@ -1,21 +0,0 @@
-# import summit
-# from .dataset import DataSet
-# import pandas as pd
-
-# #Constants
-# DATA_PATH   =  summit.__path__[0] + '/data/'
-# SOLVENT_DESCRIPTOR_DATA_FILE =  DATA_PATH + 'solvent_descriptors.csv'
-# SOLVENT_INDEX = 'cas_number'
-# SOLVENT_METADATA_VARIABLES = ['stenutz_name', 'cosmo_name', 'chemical_formula']
-# UCB_PHARMA_APPROVED_LIST = DATA_PATH + 'ucb_pharma_approved_list.csv'
-
-
-# #Load solvent descriptor dataset
-# _solvent_candidates = pd.read_csv(SOLVENT_DESCRIPTOR_DATA_FILE)
-# _solvent_candidates = _solvent_candidates.set_index(SOLVENT_INDEX)
-# solvent_ds = DataSet.from_df(_solvent_candidates, metadata_columns=SOLVENT_METADATA_VARIABLES)
-
-# #Load UCB Pharma approved list
-# ucb_list = pd.read_csv(UCB_PHARMA_APPROVED_LIST)
-# ucb_list = ucb_list.set_index('cas_number')
-# ucb_ds = DataSet.from_df(ucb_list, metadata_columns=['solvent_class', 'solvent_name'])
diff --git a/summit/utils/lhs.py b/summit/utils/lhs.py
deleted file mode 100644
index 7a2d6c05..00000000
--- a/summit/utils/lhs.py
+++ /dev/null
@@ -1,234 +0,0 @@
-import numpy as np
-"""
-The lhs code was copied from pyDoE and was originally published by 
-the following individuals for use with Scilab:
-    Copyright (C) 2012 - 2013 - Michael Baudin
-    Copyright (C) 2012 - Maria Christopoulou
-    Copyright (C) 2010 - 2011 - INRIA - Michael Baudin
-    Copyright (C) 2009 - Yann Collette
-    Copyright (C) 2009 - CEA - Jean-Marc Martinez
-    
-    website: forge.scilab.org/index.php/p/scidoe/sourcetree/master/macros
-Much thanks goes to these individuals. It has been converted to Python by 
-Abraham Lee.
-
-"""
-def lhs(n, samples=None, criterion=None, iterations=None, random_state=None):
-    """
-    Generate a latin-hypercube design
-    
-    Parameters
-    ----------
-    n : int
-        The number of factors to generate samples for
-    
-    Optional
-    --------
-    samples : int
-        The number of samples to generate for each factor (Default: n)
-    criterion : str
-        Allowable values are "center" or "c", "maximin" or "m", 
-        "centermaximin" or "cm", and "correlation" or "corr". If no value 
-        given, the design is simply randomized.
-    iterations : int
-        The number of iterations in the maximin and correlations algorithms
-        (Default: 5).
-    
-    Returns
-    -------
-    H : 2d-array
-        An n-by-samples design matrix that has been normalized so factor values
-        are uniformly spaced between zero and one.
-    
-    Example
-    -------
-    >>> import numpy as np
-    
-    A 3-factor design (defaults to 3 samples)::
-    
-        >>> lhs(3, random_state=np.random.RandomState(3))
-        array([[0.5036092 , 0.73574763, 0.6320977 ],
-               [0.70852844, 0.63098232, 0.09696825],
-               [0.1835993 , 0.23604927, 0.6838224 ]])
-       
-    A 4-factor design with 6 samples::
-    
-        >>> lhs(4, samples=6, random_state=np.random.RandomState(3))
-        array([[0.3419112 , 0.54641455, 0.3383127 , 0.59847714],
-               [0.88058751, 0.11802464, 0.61270915, 0.4094722 ],
-               [0.09179965, 0.40680164, 0.18759755, 0.20120715],
-               [0.67066365, 0.94885632, 0.90674229, 0.85947796],
-               [0.60819067, 0.31604885, 0.04848412, 0.08513793],
-               [0.31549116, 0.75980901, 0.70987541, 0.7358502 ]])
-       
-    A 2-factor design with 5 centered samples::
-    
-        >>> lhs(2, samples=5, criterion='center', random_state=np.random.RandomState(3))
-        array([[0.7, 0.7],
-               [0.1, 0.1],
-               [0.5, 0.9],
-               [0.3, 0.3],
-               [0.9, 0.5]])
-       
-    A 3-factor design with 4 samples where the minimum distance between
-    all samples has been maximized::
-    
-        >>> lhs(3, samples=4, criterion='maximin', random_state=np.random.RandomState(3))
-        array([[0.07987376, 0.37639351, 0.92316265],
-               [0.25650657, 0.7314332 , 0.12061145],
-               [0.55174153, 0.00530644, 0.56933076],
-               [0.79401553, 0.9975753 , 0.47950751]])
-       
-    A 4-factor design with 5 samples where the samples are as uncorrelated
-    as possible (within 10 iterations)::
-    
-        >>> lhs(4, samples=5, criterion='correlation', iterations=10, random_state=np.random.RandomState(3))
-        array([[0.72982881, 0.91177082, 0.73525098, 0.71817256],
-               [0.37858939, 0.48816197, 0.40597524, 0.10216552],
-               [0.80479638, 0.37925862, 0.85185049, 0.49136664],
-               [0.11015958, 0.65569746, 0.22511706, 0.88302024],
-               [0.41029344, 0.14162956, 0.05818095, 0.24144858]])
-    """
-    H = None
-    random_state = random_state if random_state else np.random.RandomState()
-
-    if samples is None:
-        samples = n
-    
-    if criterion is not None:
-        assert criterion.lower() in ('center', 'c', 'maximin', 'm', 
-            'centermaximin', 'cm', 'correlation', 
-            'corr'), 'Invalid value for "criterion": {}'.format(criterion)
-    else:
-        H = _lhsclassic(n, samples, random_state)
-
-    if criterion is None:
-        criterion = 'center'
-    
-    if iterations is None:
-        iterations = 5
-        
-    if H is None:
-        if criterion.lower() in ('center', 'c'):
-            H = _lhscentered(n, samples, random_state)
-        elif criterion.lower() in ('maximin', 'm'):
-            H = _lhsmaximin(n, samples, iterations, 'maximin', random_state)
-        elif criterion.lower() in ('centermaximin', 'cm'):
-            H = _lhsmaximin(n, samples, iterations, 'centermaximin', random_state)
-        elif criterion.lower() in ('correlation', 'corr'):
-            H = _lhscorrelate(n, samples, iterations, random_state)
-    
-    return H
-
-################################################################################
-
-def _lhsclassic(n, samples, random_state):
-    # Generate the intervals
-    cut = np.linspace(0, 1, samples + 1)    
-    
-    # Fill points uniformly in each interval
-    u = random_state.rand(samples, n)
-    a = cut[:samples]
-    b = cut[1:samples + 1]
-    rdpoints = np.zeros_like(u)
-    for j in range(n):
-        rdpoints[:, j] = u[:, j]*(b-a) + a
-    
-    # Make the random pairings
-    H = np.zeros_like(rdpoints)
-    for j in range(n):
-        order = random_state.permutation(range(samples))
-        H[:, j] = rdpoints[order, j]
-    
-    return H
-    
-################################################################################
-
-def _lhscentered(n, samples, random_state):
-    # Generate the intervals
-    cut = np.linspace(0, 1, samples + 1)    
-    
-    # Fill points uniformly in each interval
-    u = random_state.rand(samples, n)
-    a = cut[:samples]
-    b = cut[1:samples + 1]
-    _center = (a + b)/2
-    
-    # Make the random pairings
-    H = np.zeros_like(u)
-    for j in range(n):
-        H[:, j] = random_state.permutation(_center)
-    
-    return H
-    
-################################################################################
-
-def _lhsmaximin(n, samples, iterations, lhstype, 
-                random_state):
-    maxdist = 0
-    
-    # Maximize the minimum distance between points
-    for i in range(iterations):
-        if lhstype=='maximin':
-            Hcandidate = _lhsclassic(n, samples, random_state)
-        else:
-            Hcandidate = _lhscentered(n, samples, random_state)
-        
-        d = _pdist(Hcandidate)
-        if maxdist<np.min(d):
-            maxdist = np.min(d)
-            H = Hcandidate.copy()
-    
-    return H
-
-################################################################################
-
-def _lhscorrelate(n, samples, iterations,
-                  random_state):
-    mincorr = np.inf
-    
-    # Minimize the components correlation coefficients
-    for i in range(iterations):
-        # Generate a random LHS
-        Hcandidate = _lhsclassic(n, samples, random_state)
-        R = np.corrcoef(Hcandidate)
-        if np.max(np.abs(R[R!=1]))<mincorr:
-            mincorr = np.max(np.abs(R-np.eye(R.shape[0])))
-            # print('new candidate solution found with max,abs corrcoef = {}'.format(mincorr))
-            H = Hcandidate.copy()
-    
-    return H
-    
-################################################################################
-
-def _pdist(x):
-    """
-    Calculate the pair-wise point distances of a matrix
-    
-    Parameters
-    ----------
-    x : 2d-array
-        An m-by-n array of scalars, where there are m points in n dimensions.
-    
-    Returns
-    -------
-    d : array
-        A 1-by-b array of scalars, where b = m*(m - 1)/2. This array contains
-        all the pair-wise point distances, arranged in the order (1, 0), 
-        (2, 0), ..., (m-1, 0), (2, 1), ..., (m-1, 1), ..., (m-1, m-2).
-    
-              
-    """
-    
-    x = np.atleast_2d(x)
-    assert len(x.shape)==2, 'Input array must be 2d-dimensional'
-    
-    m, n = x.shape
-    if m<2:
-        return []
-    
-    d = []
-    for i in range(m - 1):
-        for j in range(i + 1, m):
-            d.append((sum((x[j, :] - x[i, :])**2))**0.5)
-    return np.array(d)
\ No newline at end of file
diff --git a/summit/utils/models.py b/summit/utils/models.py
deleted file mode 100644
index de353fff..00000000
--- a/summit/utils/models.py
+++ /dev/null
@@ -1,434 +0,0 @@
-# from .dataset import DataSet
-# from abc import ABC, abstractmethod
-# import GPy
-# import pyrff
-# import numpy as np
-# from numpy import matlib
-# from numpy.random import default_rng
-# from GPy.models import GPRegression
-# from GPy.kern import Matern52
-# from scipy.stats import norm, invgamma
-# from scipy.stats.distributions import chi2
-# from .lhs import lhs
-# from sklearn.base import BaseEstimator, RegressorMixin
-# import logging
-
-'''
-__all__ = ["Model", "ModelGroup", "GPyModel", "AnalyticalModel"]
-
-
-class Model(ABC):
-    """ Base class for model
-    
-    The model format is meant to reflect the sklearn API 
-    """
-
-    @abstractmethod
-    def fit(self, X, Y):
-        pass
-
-    @abstractmethod
-    def predict(self, X):
-        pass
-
-
-class ModelGroup:
-    def __init__(self, models: dict):
-        self._models = models
-
-    @property
-    def models(self):
-        return self._models
-
-    def fit(self, X, y, **kwargs):
-        for column_name, model in self.models.items():
-            model.fit(X, y[[column_name]], **kwargs) 
-
-    def predict(self, X, **kwargs):
-        """
-        Note
-        -----
-        This the make the assumption that each model returns a n_samples x 1 array
-        from the predict method.
-        """
-        result = [model.predict(X, **kwargs)[:, 0] for model in self.models.values()]
-        return np.array(result).T
-
-    def __getitem__(self, key):
-        return self.models[key]
-
-    def to_dict(self):
-        models = {}
-        for k, v in self._models.items():
-            models[k] = v.to_dict()
-        return models
-
-    @classmethod
-    def from_dict(cls, d):
-        models = {}
-        for k, v in d.items():
-            models[k] = model_from_dict(v)
-        return cls(models)
-
-def model_from_dict(d):
-    if d["name"] == "GPyModel":
-        return GPyModel.from_dict(d)
-    elif d["name"] == "AnalyticalModel":
-        return AnalyticalModel.from_dict(d)
-    else:
-        raise TypeError(f"Model Type {d['name']} is not valid.")
-
-
-class GPyModel(BaseEstimator, RegressorMixin):
-    """ A Gaussian Process Regression model from GPy
-
-    This is implemented as an alternative to the sklearn
-    gaussian process because GPy offers several performance speed-ups. 
-    
-    Parameters
-    ---------- 
-    kernel: GPy.kern, optional
-        A GPy kernel. Defaults to the Matern52 kernel with
-        automatic relevance detection enabled.
-    input_dim: int, optional
-        The number of dimensions in the input. This must
-        be specified if a kernel is not specified.
-    noise_var: float, optional
-        The noise variance for Gaussian likelhood, defaults to 1.
-    optimizer: optional
-        A custom optimizer. Defaults to GPy's internal optimizer.
-    
-    Notes
-    -----
-    For instructions on how to implement a custom optimizer, see
-    here: https://nbviewer.jupyter.org/github/SheffieldML/notebook/blob/master/GPy/optimizer-implementation.ipynb
-    
-    """
-
-    def __init__(self, kernel=None, input_dim=None, noise_var=1.0, optimizer=None, **kwargs):
-        if kernel:
-            self._kernel = kernel
-        else:
-            if not input_dim:
-                raise ValueError(
-                    "input_dim must be specified if no kernel is specified."
-                )
-            self.input_dim = input_dim
-            self._kernel = Matern52(input_dim=self.input_dim, ARD=True)
-        self._noise_var = noise_var
-        self._optimizer = optimizer
-        self._model = None
-        self.input_mean = []
-        self.input_std = []
-        self.output_mean = []
-        self.output_std = []
-        self.logger = kwargs.get('logger', logging.getLogger(__name__))
-
-    def fit(self, X, y, **kwargs):
-        """Fit Gaussian process regression model.
-        Parameters
-        ----------
-        X : DataSet
-            The data columns will be used as inputs for fitting the model
-        y : DataSet
-            The data columns will be used as outputs for fitting the model
-        num_restarts : int, optional (default=100)
-            The number of random restarts of the optimizer.
-        max_iters : int, optional (default=2000)
-            The maximum number of iterations of the optimizer.
-        parallel : bool (default=True)
-            Use parallel computation for the optimization.
-        spectral_sample: bool, optional
-            Calculate the spectral sampled function. Defaults to False.
-
-        Returns
-        -------
-        self : returns an instance of self.
-        -----
-        """
-
-        num_restarts=kwargs.get('num_restarts',100)
-        max_iters=kwargs.get('max_iters', 10000)
-        parallel=kwargs.get('parallel',True)
-        spectral_sample=kwargs.get('spectral_sample',False)
-        verbose = kwargs.get('verbose', False)
-
-        # Read in dataset or numpy array
-        if isinstance(X, DataSet):
-            X = X.to_numpy()
-        elif isinstance(X, np.ndarray):
-            pass
-        else:
-            raise TypeError("X must be a dataset or numpy array")
-
-        if isinstance(y, DataSet):
-            y = y.to_numpy()
-        elif isinstance(y, np.ndarray):
-            pass
-        else:
-            raise TypeError("Y must be a DataSet or numpy array")
-
-        # Initialize model
-        self._model = GPRegression(
-            X, y, self._kernel, noise_var=self._noise_var
-        )
-
-        # Set priors to constrain hyperparameters
-        self._model.kern.lengthscale.constrain_bounded(np.sqrt(1e-3), np.sqrt(1e3),warning=False)
-        self._model.kern.lengthscale.set_prior(GPy.priors.LogGaussian(0, 10), warning=False)
-        self._model.kern.variance.constrain_bounded(np.sqrt(1e-3), np.sqrt(1e3), warning=False)
-        self._model.kern.variance.set_prior(GPy.priors.LogGaussian(-6, 10), warning=False)
-        self._model.Gaussian_noise.constrain_bounded(np.exp(-6), 1, warning=False)
-        
-        # Fit model
-        if self._optimizer:
-            self._model.optimize_restarts(num_restarts = num_restarts, 
-                                          verbose=verbose,
-                                          max_iters=max_iters,
-                                          optimizer=self._optimizer,
-                                          parallel=parallel)
-        else:
-            self._model.optimize_restarts(num_restarts = num_restarts, 
-                                          verbose=verbose,
-                                          max_iters=max_iters,
-                                          parallel=parallel)
-        if spectral_sample:
-            self.spectral_sample(X, y, **kwargs)
-
-        return self
-
-
-    def predict(self, X, **kwargs):
-        """Predict using the Gaussian process regression model
-
-        In addition to the mean of the predictive distribution, also its
-        standard deviation (return_std=True) or covariance (return_cov=True).
-        Note that at most one of the two can be requested.
-
-        Parameters
-        ----------
-        X : array-like, shape = (n_samples, n_features)
-            Query points where the GP is evaluated
-        use_spectral_sample: bool, optional
-            Use a spectral sample of the GP instead of the posterior prediction.
-            Default is True.
-        """
-        if not self._model:
-            raise ValueError("Fit must be called on the model prior to prediction")
-
-        
-        if isinstance(X, DataSet):
-            X = X.to_numpy()
-        elif isinstance(X, np.ndarray):
-            pass
-        else:
-            raise TypeError("X must be a dataset or numpy array")
-
-        # Use spectral sample when called. Otherwise use model directly
-        use_spectral_sample = kwargs.get('use_spectral_sample', True)
-        if use_spectral_sample and self.sampled_f is not None:
-            return self.sampled_f(X)
-        elif use_spectral_sample:
-            raise ValueError("Spectral Sample must be called during fitting prior to prediction.")
-        else:
-            return self._model.predict(X)[0]
-
-    def spectral_sample(self, X, y, n_spectral_points=1500,
-                        n_retries=10, **kwargs):
-        """Sample GP using spectral sampling
-
-        Parameters
-        ----------
-        X: DataSet
-            The data columns will be used as inputs for fitting the model
-        y: DataSet
-            The data columns will be used as outputs for fitting the model
-        n_spectral_points: int, optional
-            The number of points to use in spectral sampling. Defaults to 4000.
-        n_retries: int, optional
-            The number of retries for the spectral sampling code in the case
-            the singular value decomposition fails.
-        """
-
-        # Determine the degrees of freedom
-        if type(self._model.kern) == GPy.kern.Exponential:
-            matern_nu = 1
-        elif type(self._model.kern) == GPy.kern.Matern32:
-            matern_nu = 3
-        elif type(self._model.kern) == GPy.kern.Matern52:
-            matern_nu = 5
-        elif type(self._model.kern) == GPy.kern.RBF:
-            matern_nu = np.inf
-        else:
-            raise TypeError("Spectral sample currently only works with Matern type kernels, including RBF.")
-
-        if isinstance(X, DataSet):
-            X = X.to_numpy()
-        elif isinstance(X, np.ndarray):
-            pass
-        else:
-            raise TypeError("X must be a dataset or numpy array")
-        
-        if isinstance(y, DataSet):
-            y = y.to_numpy()
-        elif isinstance(y, np.ndarray):
-            pass
-        else:
-            raise TypeError("Y must be a DataSet or numpy array")
-
-        if y.shape[1] > 1:
-            raise ValueError("Y must be 1D")
-
-        # Spectral sampling. Clip values to match Matlab implementation
-        noise = self._model.Gaussian_noise.variance.values[0]
-        sampled_f = None
-        for i in range(n_retries):
-            try:
-                sampled_f = pyrff.sample_rff(
-                    lengthscales=self._model.kern.lengthscale.values,
-                    scaling=np.sqrt(self._model.kern.variance.values[0]),
-                    noise=noise,
-                    kernel_nu=matern_nu,
-                    X=X,
-                    Y=y[:,0],
-                    M=n_spectral_points,
-                    )
-                break
-            except np.linalg.LinAlgError as e:
-                self.logger.error(e)
-            except ValueError as e:
-                self.logger.error(e)
-
-        if sampled_f is None:
-            raise RuntimeError(f"Spectral sampling failed after {n_retries} retries.")
-
-        # Define function wrapper
-        def f(x_new):
-            y_s = sampled_f(x_new)
-            return np.atleast_2d(y_s).T   
-        self.sampled_f = f  
-        return self.sampled_f
-    
-    @property
-    def hyperparameters(self):
-        """Returns a tuple for the form legnthscales, variance, noise"""
-        lengthscales = self._model.kern.lengthscale.values
-        variance = self._model.kern.variance.values[0]
-        noise = self._model.Gaussian_noise.variance.values[0]
-        return lengthscales, variance, noise
-
-    def to_dict(self):
-        _model = self._model.to_dict() if self._model is not None else self._model
-        return dict(
-            name="GPyModel",
-            _model=_model,
-            kernel=self._kernel.to_dict(),
-            noise_var=self._noise_var,
-            input_mean=list(self.input_mean),
-            input_std=list(self.input_std),
-            output_mean=list(self.output_mean),
-            output_std=list(self.output_std),
-        )
-
-    @classmethod
-    def from_dict(cls, d):
-        kernel = GPy.kern.Kern.from_dict(d["kernel"])
-        m = cls(kernel=kernel, noise_var=d["noise_var"])
-        if d["_model"] is not None:
-            m._model = GPRegression.from_dict(d["_model"])
-        m.input_mean = np.array(d["input_mean"])
-        m.input_std = np.array(d["input_std"])
-        m.output_mean = np.array(d["output_mean"])
-        m.output_std = np.array(d["output_std"])
-        return m
-
-def spectral_sample(lengthscales, scaling, noise, kernel_nu, X, Y, M):
-        # Get variables from problem structure
-        n, D = np.shape(X)
-        ell = np.array(lengthscales) 
-        sf2 = scaling**2
-        sn2 = noise
-
-        # Monte carlo samples of W and b
-        sW = lhs(D, M, criterion='maximin')
-        p = matlib.repmat(np.divide(1, ell), M, 1)
-        if kernel_nu != np.inf:            
-            inv = chi2.ppf(sW, kernel_nu)
-            q = np.sqrt(np.divide(kernel_nu, inv)+1e-7)
-            W = np.multiply(p, norm.ppf(sW))
-            W = np.multiply(W, q)
-        else:
-            raise NotImplementedError("RBF not implemented yet!")
-
-        b = 2*np.pi*lhs(1, M)
-
-        # Calculate phi
-        phi = np.sqrt(2*sf2/M)*np.cos(W@X.T +  matlib.repmat(b, 1, n))
-
-        #Sampling of theta according to phi
-        #For the matrix inverses, I defualt to Cholesky when possible
-        A = phi@phi.T + sn2*np.identity(M)
-        try:
-            c = np.linalg.inv(np.linalg.cholesky(A))
-            invA = np.dot(c.T,c)
-        except np.linalg.LinAlgError:
-            u,s, vh = np.linalg.svd(A)
-            invA = vh.T@np.diag(1/s)@u.T
-        if isinstance(Y, DataSet):
-            Y = Y.data_to_numpy()
-        mu_theta = invA@phi@Y
-        cov_theta = sn2*invA
-        #Add some noise to covariance to prevent issues
-        cov_theta = 0.5*(cov_theta+cov_theta.T)+1e-4*np.identity(M)
-        rng = default_rng()
-        try:
-            theta = rng.multivariate_normal(mu_theta, cov_theta,
-                                           method='cholesky')
-        except np.linalg.LinAlgError:
-            theta = rng.multivariate_normal(mu_theta, cov_theta,
-                                           method='svd')
-
-        #Posterior sample according to theta
-        def f(x):
-            inputs, _ = np.shape(x)
-            bprime = matlib.repmat(b, 1, inputs)
-            output =  (theta.T*np.sqrt(2*sf2/M))@np.cos(W@x.T+bprime)
-            return output
-        return f
-
-class AnalyticalModel(Model):
-    """ An analytical model instead of statistical model
-
-    Use this for an objective that is a 
-    known analytical function of the inputs 
-
-    Parameters
-    ---------- 
-    function: callable
-        An an analytical function that takes an input 
-        array and returns the output
-    """
-
-    def __init__(self, function: callable):
-        self._function = function
-
-    def fit(self, X, Y, **kwargs):
-        """This method is here because it is required.
-           No fitting actually occurs"""
-        pass
-
-    def predict(self, X, **kwargs):
-        """Predict using the analytical function
-
-        Parameters
-        ----------
-        X : array-like, shape = (n_samples, n_features)
-            Query points where the GP is evaluated
-        """
-
-        return self.function(X, **kwargs)
-
-    @property
-    def function(self) -> callable:
-        return self._function
-'''


Test patch:
diff --git a/tests/test_benchmarks.py b/tests/test_benchmarks.py
index afa70087..de541fef 100644
--- a/tests/test_benchmarks.py
+++ b/tests/test_benchmarks.py
@@ -1,18 +1,15 @@
 import pytest
-from summit.strategies import Strategy
-from summit.experiment import Experiment
-from summit.benchmarks import (
-    SnarBenchmark,
-    DTLZ2,
-    Hartmann3D,
-    Himmelblau,
-    ThreeHumpCamel,
-    ReizmanSuzukiEmulator,
-    BaumgartnerCrossCouplingEmulator,
-)
+from summit.benchmarks import *
 from summit.utils.dataset import DataSet
 import numpy as np
+import pandas as pd
 import os
+import pathlib
+import shutil
+import pkg_resources
+import matplotlib.pyplot as plt
+
+DATA_PATH = pathlib.Path(pkg_resources.resource_filename("summit", "benchmarks/data"))
 
 
 @pytest.mark.parametrize("noise_level", [0.0, 2.5])
@@ -46,31 +43,89 @@ def test_snar_benchmark(noise_level):
     return results
 
 
-def test_baumgartner_CC_emulator():
-    """ Test the Baumgartner Cross Coupling emulator"""
-    b = BaumgartnerCrossCouplingEmulator()
+def test_train_experimental_emulator():
+    model_name = f"reizman_suzuki_case_1"
+    domain = ReizmanSuzukiEmulator.setup_domain()
+    ds = DataSet.read_csv(DATA_PATH / f"{model_name}.csv")
+    exp = ExperimentalEmulator(model_name, domain, dataset=ds, regressor=ANNRegressor)
+
+    # Test grid search cross validation and training
+    params = {
+        "regressor__net__max_epochs": [1, 1000],
+    }
+    exp.train(cv_folds=5, random_state=100, search_params=params, verbose=0)
+
+    # Testing
+    res = exp.test()
+    r2 = res["test_r2"].mean()
+    assert r2 > 0.8
+
+    # Test plotting
+    fig, ax = exp.parity_plot(output_variables="yield", include_test=True)
+
+    # Test saving/loading
+    exp.save("test_ee")
+    exp_2 = ExperimentalEmulator.load(model_name, "test_ee")
+    shutil.rmtree("test_ee")
+
+
+def test_reizman_emulator(show_plots=False):
+    b = get_pretrained_reizman_suzuki_emulator(case=1)
+    b.parity_plot(include_test=True)
+    if show_plots:
+        plt.show()
     columns = [v.name for v in b.domain.variables]
     values = {
-        ("catalyst", "DATA"): "tBuXPhos",
-        ("base", "DATA"): "DBU",
-        ("t_res", "DATA"): 328.717801570892,
-        ("temperature", "DATA"): 30,
-        ("base_equivalents", "DATA"): 2.18301549894049,
-        ("yield", "DATA"): 0.19,
+        "catalyst": ["P1-L3"],
+        "t_res": [600],
+        "temperature": [30],
+        "catalyst_loading": [0.498],
     }
-    conditions = DataSet([values], columns=columns)
-    results = b.run_experiments(conditions)
+    conditions = pd.DataFrame(values)
+    conditions = DataSet.from_df(conditions)
+    results = b.run_experiments(conditions, return_std=True)
 
-    assert str(results["catalyst", "DATA"].iloc[0]) == values["catalyst", "DATA"]
-    assert str(results["base", "DATA"].iloc[0]) == values["base", "DATA"]
-    assert float(results["t_res"]) == values["t_res", "DATA"]
-    assert float(results["temperature"]) == values["temperature", "DATA"]
-    assert np.isclose(float(results["yld"]), 0.173581)
+    for name, value in values.items():
+        if type(value[0]) == str:
+            assert str(results[name].iloc[0]) == value[0]
+        else:
+            assert float(results[name].iloc[0]) == value[0]
+    assert np.isclose(float(results["yield"]), 0.6, atol=15)
+    assert np.isclose(float(results["ton"]), 1.1, atol=15)
 
     # Test serialization
     d = b.to_dict()
     exp = BaumgartnerCrossCouplingEmulator.from_dict(d)
+    return results
 
+
+def test_baumgartner_CC_emulator(show_plots=False):
+    """ Test the Baumgartner Cross Coupling emulator"""
+    b = get_pretrained_baumgartner_cc_emulator()
+    b.parity_plot(include_test=True)
+    if show_plots:
+        plt.show()
+    columns = [v.name for v in b.domain.variables]
+    values = {
+        "catalyst": ["tBuXPhos"],
+        "base": ["DBU"],
+        "t_res": [328.717801570892],
+        "temperature": [30],
+        "base_equivalents": [2.18301549894049],
+    }
+    conditions = pd.DataFrame(values)
+    conditions = DataSet.from_df(conditions)
+    results = b.run_experiments(conditions, return_std=True)
+
+    assert str(results["catalyst"].iloc[0]) == values["catalyst"][0]
+    assert str(results["base"].iloc[0]) == values["base"][0]
+    assert float(results["t_res"]) == values["t_res"][0]
+    assert float(results["temperature"]) == values["temperature"][0]
+    assert np.isclose(float(results["yield"]), 0.042832638, atol=0.15)
+
+    # Test serialization
+    d = b.to_dict()
+    exp = BaumgartnerCrossCouplingEmulator.from_dict(d)
     return results
 
 
@@ -84,4 +139,3 @@ def test_dltz2_benchmark(num_inputs):
     data = b.data
     assert np.isclose(data["y_0"].iloc[0], 0.7071)
     assert np.isclose(data["y_1"].iloc[0], 0.7071)
-
diff --git a/tests/test_models.py b/tests/test_models.py
deleted file mode 100644
index fa1922c9..00000000
--- a/tests/test_models.py
+++ /dev/null
@@ -1,20 +0,0 @@
-# import pytest
-# from summit.utils.models import GPyModel
-# import matplotlib.pyplot as plt
-# import numpy as np
-
-# Add back in once fixed GPyModel
-
-# def test_gpy_model():
-#     X = np.random.uniform(-3.,3.,(20,1))
-#     Y = np.sin(X) + np.random.randn(20,1)*0.05
-#     m = GPyModel(input_dim=1)
-#     m.fit(X, Y)
-#     sampled_f = m.spectral_sample(X, Y)
-#     predict_Y = m.predict(X)
-#     sample_Y = sampled_f(X)
-#     mae_sample = np.mean(np.abs(sample_Y[:,0]-Y[:,0]))
-#     mae_pred = np.mean(np.abs(predict_Y[:,0]-Y[:,0]))
-#     assert mae_sample < 0.1
-#     assert mae_pred < 0.1
-
diff --git a/tests/test_runner.py b/tests/test_runner.py
index a664858a..89b31f41 100644
--- a/tests/test_runner.py
+++ b/tests/test_runner.py
@@ -78,13 +78,22 @@ def stop(self):
     assert r.experiment.data.shape[0] == int(batch_size * iterations)
 
 
-@pytest.mark.parametrize("strategy", [SOBO, SNOBFIT, GRYFFIN, NelderMead, Random, LHS])
+@pytest.mark.parametrize("strategy", [SOBO, SNOBFIT, NelderMead, Random, LHS])
 @pytest.mark.parametrize(
     "experiment",
-    [Himmelblau, Hartmann3D, ThreeHumpCamel, BaumgartnerCrossCouplingEmulator,],
+    [
+        Himmelblau,
+        Hartmann3D,
+        ThreeHumpCamel,
+        get_pretrained_baumgartner_cc_emulator(include_cost=True),
+    ],
 )
 def test_runner_so_integration(strategy, experiment):
-    exp = experiment()
+    if not isinstance(experiment, ExperimentalEmulator):
+        exp = experiment()
+    else:
+        exp = experiment
+
     s = strategy(exp.domain)
 
     r = Runner(strategy=s, experiment=exp, max_iterations=1, batch_size=1)
@@ -96,23 +105,23 @@ def test_runner_so_integration(strategy, experiment):
     os.remove("test_save.json")
 
 
-@pytest.mark.parametrize(
-    "strategy", [SOBO, SNOBFIT, GRYFFIN, NelderMead, Random, LHS, TSEMO]
-)
+@pytest.mark.parametrize("strategy", [SOBO, SNOBFIT, NelderMead, Random, LHS, TSEMO])
 @pytest.mark.parametrize(
     "experiment",
     [
         SnarBenchmark,
-        ReizmanSuzukiEmulator,
-        BaumgartnerCrossCouplingEmulator_Yield_Cost,
+        get_pretrained_baumgartner_cc_emulator(include_cost=True),
         DTLZ2,
         VLMOP2,
     ],
 )
 def test_runner_mo_integration(strategy, experiment):
-    exp = experiment()
+    if not isinstance(experiment, ExperimentalEmulator):
+        exp = experiment()
+    else:
+        exp = experiment
 
-    if experiment == ReizmanSuzukiEmulator and strategy not in [SOBO, GRYFFIN]:
+    if experiment == ReizmanSuzukiEmulator and strategy not in [SOBO]:
         # only run on strategies that work with categorical variables deireclty
         return
     elif strategy == TSEMO:
@@ -129,6 +138,6 @@ def test_runner_mo_integration(strategy, experiment):
     r.run()
 
     # Try saving and loading
-    r.save("test_save.json")
-    r.load("test_save.json")
-    os.remove("test_save.json")
+    # r.save("test_save.json")
+    # r.load("test_save.json")
+    # os.remove("test_save.json")
diff --git a/tests/test_utils.py b/tests/test_utils.py
deleted file mode 100644
index 4564eb65..00000000
--- a/tests/test_utils.py
+++ /dev/null
@@ -1,57 +0,0 @@
-# import pytest
-
-# from summit.utils.models import GPyModel
-
-# import numpy as np
-# import matplotlib.pyplot as plt
-# import warnings
-
-# @pytest.mark.parametrize('n_dim', [1,6])
-# def test_gpy_model(n_dim, n_points=100, n_repeats=5, plot=False):
-#     noisy_fun = lambda x: np.mean(np.sin(x), axis=1) + np.random.randn(x.shape[0])*0.05
-
-#     for i in range(n_repeats):
-#         X_train = np.random.uniform(-3.,3.,(n_points,n_dim))
-#         Y_train = noisy_fun(X_train)
-
-#         #Scaling
-#         X_min = np.min(X_train, axis=0)
-#         X_max = np.max(X_train, axis=0)
-#         X_train_scaled = (X_train-X_min)/(X_max-X_min)
-
-#         Y_mean = np.mean(Y_train)
-#         Y_std = np.std(Y_train)
-#         Y_train_scaled = (Y_train-Y_mean)/Y_std
-#         Y_train_scaled = np.atleast_2d(Y_train_scaled).T
-
-#         # Fit model
-#         warnings.filterwarnings('ignore', category=DeprecationWarning)
-#         m = GPyModel(input_dim=n_dim)
-#         m.fit(X_train_scaled, Y_train_scaled, spectral_sample=True)
-#         Y_train_pred_scaled = m.predict(X_train_scaled, use_spectral_sample=True)
-#         Y_train_pred = Y_train_pred_scaled[:,0]*Y_std + Y_mean
-#         square_error = (Y_train_pred-Y_train)**2
-#         train_rmse = np.sqrt(np.mean(square_error))
-#         print("Training root mean squared error:", train_rmse)
-#         assert train_rmse < 0.1
-
-#         # Model validation
-#         X_valid = np.random.uniform(-3, 3, (n_points,n_dim))
-#         Y_valid = noisy_fun(X_valid)
-#         X_valid_scaled = (X_valid-X_min)/(X_max-X_min)
-
-#         Y_valid_pred_scaled = m.predict(X_valid_scaled, use_spectral_sample=True)
-#         Y_valid_pred = Y_valid_pred_scaled[:,0]*Y_std+Y_mean
-
-#         square_error = (Y_valid-Y_valid_pred)**2
-#         valid_rmse = np.sqrt(np.mean(square_error))
-#         print("Validation root mean squared error:",valid_rmse)
-
-#         assert valid_rmse < 0.3
-
-#         if plot and n_dim == 1:
-#             fig, ax, = plt.subplots(1)
-#             ax.scatter(X_valid[:,0], Y_valid_pred, label="Prediction")
-#             ax.scatter(X_valid[:,0], Y_valid, label="True")
-#             ax.legend()
-#             plt.show()