├── .gitignore ├── LICENSE.md ├── README.md ├── data ├── __init__.py ├── gp_v_nn_time_comparison │ ├── gp.m │ ├── gp_100obs_time_data.csv │ ├── gp_250obs_time_data.csv │ ├── gp_300obs_time_data.csv │ ├── gp_350obs_time_data.csv │ ├── gp_400obs_time_data.csv │ ├── gp_450obs_time_data.csv │ ├── gp_500obs_time_data.csv │ ├── gp_time.eps │ ├── gp_v_nn.m │ ├── nn_100obs_time_data.csv │ ├── nn_250obs_time_data.csv │ ├── nn_300obs_time_data.csv │ ├── nn_350obs_time_data.csv │ ├── nn_400obs_time_data.csv │ ├── nn_450obs_time_data.csv │ └── nn_500obs_time_data.csv ├── mpi_v_seq_time_comparison │ ├── mpi_time_data.csv │ ├── plotme.R │ ├── plotme.m │ └── sequential_time_data.csv └── regret_analysis │ ├── __init__.py │ ├── gp_gm_1.txt │ ├── gp_gm_2.txt │ ├── gp_gm_3.txt │ ├── gp_gm_4.txt │ ├── gp_gm_5.txt │ ├── gp_gm_6.txt │ ├── gp_gm_7.txt │ ├── gp_gp_1.txt │ ├── gp_gp_10.txt │ ├── gp_gp_2.txt │ ├── gp_gp_3.txt │ ├── gp_gp_4.txt │ ├── gp_gp_5.txt │ ├── gp_gp_6.txt │ ├── gp_gp_7.txt │ ├── gp_gp_8.txt │ ├── gp_hm_1.txt │ ├── gp_hm_10.txt │ ├── gp_hm_2.txt │ ├── gp_hm_3.txt │ ├── gp_hm_4.txt │ ├── gp_hm_5.txt │ ├── gp_hm_6.txt │ ├── gp_hm_7.txt │ ├── gp_hm_8.txt │ ├── gp_hm_9.txt │ └── parser.py ├── learning_objective ├── __init__.py ├── gaussian_mix.py ├── gaussian_process.py ├── hartmann.py └── hidden_function.py ├── mpi ├── __init__.py ├── mpi_definitions.py ├── mpi_master.py ├── mpi_optimizer.py ├── mpi_trainer.py ├── mpi_worker.py └── theano_definitions.py ├── sequential ├── __init__.py ├── seq_gaussian_process.py ├── seq_optimizer.py └── test.py └── utilities ├── __init__.py ├── linear_regressor.py ├── neural_net.py └── optimizer.py /.gitignore: -------------------------------------------------------------------------------- 1 | figures 2 | figures_list 3 | output1.txt 4 | framework.org 5 | makefile 6 | fig.zip 7 | report 8 | *pyc 9 | *csv 10 | *txt 11 | neural-network-optimization 12 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2016 Rui Shu 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Adaptive Neural Network Representations for Parallel and Scalable Bayesian Optimization 2 | 3 | **Neural Network Bayesian Optimization** is function optimization technique inpsired by the work of: 4 | > Jasper Snoek, et al
5 | > Scalable Bayesian Optimization Using Deep Neural Networks
6 | > http://arxiv.org/abs/1502.05700 7 | 8 | This repository contains the python code written by James Brofos and Rui Shu of a modified approach that continually retrains the neural network underlying the optimization technique, and implements the technique within a parallelized setting for improved speed performance. 9 | 10 | Motivation 11 | ---------- 12 | The success of most machine learning algorithms is dependent the proper tuning of the hyperparameters. A popular technique for hyperparameter tuning is Bayesian optimization, which canonically uses a Gaussian process to interpolate the hyperparameter space. The computation time for GP-based Bayesian optimization, however, grows rapidly with respect to sample size (the number of tested hyperparameters) and quickly becomes very time consuming, if not all together intractable. Fortunately, a neural network is capable of mimicking the behavior of a Guassian process whilst providing a significant reduction in computation time. 13 | 14 | Dependencies 15 | ------------ 16 | This code requires: 17 | 18 | * Python 2.7 19 | * MPI (and [MPI4Py](http://mpi4py.scipy.org/)) 20 | * [Numpy](http://www.numpy.org/) 21 | * [Scipy](http://www.scipy.org/) 22 | * [Theano](http://deeplearning.net/software/theano/) 23 | * [Theanets](http://theanets.readthedocs.org/en/stable/) 24 | * [Statsmodels](http://statsmodels.sourceforge.net/devel/) 25 | * [Matplotlib](http://matplotlib.org/) 26 | * [pyGPs](http://www-ai.cs.uni-dortmund.de/weblab/static/api_docs/pyGPs/) 27 | 28 | Code Execution 29 | -------------- 30 | To run the code from the home directory in parallel with 4 cores, simply call mpiexec: 31 | ``` 32 | mpiexec -np 4 python -m mpi.mpi_optimizer 33 | ``` 34 | 35 | To run a sequential version of the code: 36 | ``` 37 | python -m sequential.seq_optimizer 38 | ``` 39 | 40 | To run the gaussian process version of Bayesian optimization: 41 | ``` 42 | python -m sequential.seq_gaussian_process 43 | ``` 44 | 45 | **Sample output**: 46 | ``` 47 | Randomly query a set of initial points... Complete initial dataset acquired 48 | Performing optimization... 49 | 0.100 completion... 50 | 0.200 completion... 51 | 0.300 completion... 52 | 0.400 completion... 53 | 0.500 completion... 54 | 0.600 completion... 55 | 0.700 completion... 56 | 0.800 completion... 57 | 0.900 completion... 58 | 1.000 completion... 59 | Sequential gp optimization task complete. 60 | Best evaluated point is: 61 | [-0.31226245 3.80792522] 62 | Predicted best point is: 63 | [-0.31226245 3.7755048 ] 64 | ``` 65 | 66 | **Note:** The code, as written, focuses the use of the algorithm on any black-box function. A few common functions are available in `learning_objective`. The chosen function is set in `hidden_function.py`. To really appreciate the time-savings gained by the parallelized code, it is important to realize that evaluating a real-world black-box function (i.e. computing the test performance for an ML algorithm with a given set of hyperparameters) takes time. 67 | 68 | This can be simulated by uncommenting the line: `# time.sleep(2)` in `hidden_function.py`. 69 | 70 | -------------------------------------------------------------------------------- /data/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RuiShu/nn-bayesian-optimization/e98dc326344d1dc3609de5fc3eb472e06d48d6af/data/__init__.py -------------------------------------------------------------------------------- /data/gp_v_nn_time_comparison/gp.m: -------------------------------------------------------------------------------- 1 | function gp() 2 | 3 | gp100 = load('gp_100obs_time_data.csv'); 4 | gp250 = load('gp_250obs_time_data.csv'); 5 | gp300 = load('gp_300obs_time_data.csv'); 6 | gp350 = load('gp_350obs_time_data.csv'); 7 | gp400 = load('gp_400obs_time_data.csv'); 8 | gp450 = load('gp_450obs_time_data.csv'); 9 | gp500 = load('gp_500obs_time_data.csv'); 10 | 11 | size(gp250) 12 | 13 | gp = [gp250' gp300' gp350' gp400' gp450' gp500']; 14 | 15 | x = [250 300 350 400 450 500]; 16 | clf; 17 | hold on; 18 | grid on; 19 | 20 | plot(x, mean(gp), 'r', 'linewidth', 1) 21 | plot(x, +2*std(gp)+mean(gp), 'r--', 'linewidth', 1) 22 | plot(x, -2*std(gp)+mean(gp), 'r--', 'linewidth', 1) 23 | xlabel('Number of Queries', 'interpreter', 'latex', 'fontsize', 15) 24 | ylabel('Seconds per Iteration', 'interpreter', 'latex', 'fontsize', 15) 25 | h = legend('Gaussian Process', 'location', 'northwest') 26 | set(h, 'interpreter', 'latex', 'fontsize', 15) 27 | -------------------------------------------------------------------------------- /data/gp_v_nn_time_comparison/gp_100obs_time_data.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RuiShu/nn-bayesian-optimization/e98dc326344d1dc3609de5fc3eb472e06d48d6af/data/gp_v_nn_time_comparison/gp_100obs_time_data.csv -------------------------------------------------------------------------------- /data/gp_v_nn_time_comparison/gp_250obs_time_data.csv: -------------------------------------------------------------------------------- 1 | 1.726,1.616,1.713,1.519,1.595,1.712,1.603,1.598,1.635,1.734,1.479,1.505,1.510,1.481,1.547,1.641,1.641,1.555,1.647,1.564,1.493,1.445,1.552,1.510,1.575,1.704,1.645,1.570,1.624,1.586,1.482,1.482,1.556,1.566,1.595,1.706,1.648,1.536,1.612,1.552,1.499,1.453,1.503,1.500,1.552,1.626,1.608,1.541,1.606,1.563,1.549,1.497,1.540,1.530,1.571,1.704,1.609,1.547,1.632,1.572,1.524,1.479,1.558,1.523,1.604,1.692,1.732,1.537,1.612,1.552,1.506,1.582,1.563,1.549,1.581,1.699,1.638,1.565,1.614,1.582,1.525,1.473,1.557,1.518,1.611,1.678,1.633,1.588,1.642,1.607,1.494,1.480,1.516,1.521,1.571,1.700,1.615,1.543,1.614,1.586, -------------------------------------------------------------------------------- /data/gp_v_nn_time_comparison/gp_300obs_time_data.csv: -------------------------------------------------------------------------------- 1 | 2.224,2.286,2.224,2.312,2.252,2.387,2.308,2.420,2.330,2.502,2.206,2.289,2.263,2.447,2.307,2.391,2.306,2.437,2.339,2.531,2.277,2.455,2.266,2.345,2.292,2.445,2.332,2.409,2.345,2.483,2.226,2.283,2.271,2.338,2.324,2.695,2.437,2.449,2.611,2.481,2.226,2.410,2.325,2.371,2.305,2.401,2.370,2.430,2.343,2.444,2.309,2.313,2.319,2.350,2.289,2.411,2.345,2.415,2.396,2.428,2.250,2.294,2.283,2.357,2.267,2.410,2.308,2.420,2.381,2.451,2.224,2.278,2.287,2.439,2.255,2.402,2.234,2.366,2.247,2.310,2.286,2.282,2.233,2.292,2.255,2.408,2.301,2.395,2.318,2.452,2.297,2.399,2.208,2.312,2.319,2.380,2.287,2.392,2.323,2.426, -------------------------------------------------------------------------------- /data/gp_v_nn_time_comparison/gp_350obs_time_data.csv: -------------------------------------------------------------------------------- 1 | 3.080,3.136,3.042,3.186,3.067,3.201,3.256,3.295,3.170,3.366,3.096,3.754,3.351,3.209,3.198,3.259,3.158,3.321,3.224,3.417,3.126,3.145,3.197,3.297,3.153,3.287,3.145,3.323,3.303,3.312,3.247,3.158,3.053,3.163,3.077,3.263,3.147,3.240,3.158,3.277,3.038,3.127,3.235,3.259,3.109,3.231,3.138,3.261,3.121,3.284,3.021,3.123,3.031,3.184,3.125,3.315,3.179,3.281,3.208,3.304,3.169,3.143,3.063,3.156,3.097,3.234,3.185,3.336,3.186,3.277,3.077,3.170,3.061,3.179,3.073,3.187,3.293,3.370,3.161,3.282,3.005,3.101,3.040,3.166,3.088,3.187,3.130,3.264,3.176,3.329,3.056,3.131,3.037,3.205,3.113,3.231,3.135,3.255,3.151,3.284, -------------------------------------------------------------------------------- /data/gp_v_nn_time_comparison/gp_400obs_time_data.csv: -------------------------------------------------------------------------------- 1 | 4.384,4.713,4.778,4.641,4.654,4.687,4.521,4.697,4.700,4.853,4.377,4.659,4.492,4.631,4.575,4.780,4.377,4.732,4.746,4.819,4.531,4.502,4.458,4.567,4.576,4.820,4.629,4.793,4.617,4.794,4.420,4.543,4.478,4.516,4.539,4.667,4.513,4.749,4.681,4.781,4.513,4.562,4.476,4.804,4.740,4.502,4.356,4.419,4.622,5.130,4.382,4.546,4.446,4.682,4.587,4.662,4.562,4.711,4.775,4.871,4.479,4.457,4.394,4.521,4.521,4.654,4.846,4.832,4.522,4.746,5.385,5.066,4.520,5.085,5.247,4.894,4.993,4.891,4.775,4.985,4.680,5.144,4.710,4.753,4.956,5.205,5.078,4.987,4.988,5.368,4.973,4.949,4.732,4.912,4.805,4.999,4.871,4.892,4.853,5.055, -------------------------------------------------------------------------------- /data/gp_v_nn_time_comparison/gp_450obs_time_data.csv: -------------------------------------------------------------------------------- 1 | 6.242,6.646,6.461,6.485,6.355,6.491,6.475,6.615,6.476,6.681,6.169,6.476,6.329,6.518,6.331,6.495,6.445,6.670,6.139,6.551,5.789,5.913,5.872,5.989,6.043,6.147,6.092,6.180,6.090,6.250,5.702,5.863,5.828,6.014,5.982,6.130,6.000,6.262,6.226,6.300,5.742,5.941,5.816,6.068,5.882,6.122,6.626,6.464,6.274,6.483,5.999,6.243,6.022,6.330,6.225,6.534,6.244,6.357,6.272,6.421,5.816,6.045,6.060,6.232,6.091,6.287,6.195,6.455,6.143,6.537,5.880,6.168,6.157,6.162,6.151,6.243,6.216,6.392,6.286,6.414,6.006,6.064,6.066,6.318,6.277,6.369,6.297,6.880,7.527,6.829,6.008,6.314,7.319,6.197,6.119,6.297,6.247,6.323,6.253,6.469, -------------------------------------------------------------------------------- /data/gp_v_nn_time_comparison/gp_500obs_time_data.csv: -------------------------------------------------------------------------------- 1 | 7.355,7.700,7.373,7.480,7.653,7.595,7.592,7.710,7.711,8.308,7.488,7.956,7.343,7.467,7.564,7.569,7.548,7.705,7.866,8.362,7.357,7.698,7.357,7.450,7.451,7.719,7.621,7.668,7.693,8.334,7.375,7.696,7.386,7.487,7.575,7.699,7.663,8.192,7.850,9.975,8.366,9.370,8.225,8.300,8.001,8.062,8.436,8.357,8.416,8.841,8.088,8.510,8.062,8.152,8.149,8.286,8.380,8.561,8.533,9.123,7.933,8.137,7.810,8.006,8.138,8.207,8.028,8.615,8.604,8.962,7.990,8.340,7.880,7.986,8.012,8.127,8.044,8.173,8.352,8.863,7.988,8.299,8.517,8.910,8.103,8.245,8.270,8.428,8.504,8.9789.488,9.860,8.740,9.682,9.186,8.470,7.935,8.153,8.408,9.164,8.648, -------------------------------------------------------------------------------- /data/gp_v_nn_time_comparison/gp_v_nn.m: -------------------------------------------------------------------------------- 1 | function gp_v_nn() 2 | 3 | gp100 = load('gp_100obs_time_data.csv'); 4 | gp250 = load('gp_250obs_time_data.csv'); 5 | gp300 = load('gp_300obs_time_data.csv'); 6 | gp350 = load('gp_350obs_time_data.csv'); 7 | gp400 = load('gp_400obs_time_data.csv'); 8 | gp450 = load('gp_450obs_time_data.csv'); 9 | gp500 = load('gp_500obs_time_data.csv'); 10 | nn100 = load('nn_100obs_time_data.csv'); 11 | nn250 = load('nn_250obs_time_data.csv'); 12 | nn300 = load('nn_300obs_time_data.csv'); 13 | nn350 = load('nn_350obs_time_data.csv'); 14 | nn400 = load('nn_400obs_time_data.csv'); 15 | nn450 = load('nn_450obs_time_data.csv'); 16 | nn500 = load('nn_500obs_time_data.csv'); 17 | 18 | size(gp250) 19 | 20 | gp = [gp250' gp300' gp350' gp400' gp450' gp500']; 21 | nn = [nn250' nn300' nn350' nn400' nn450' nn500']; 22 | x = [250 300 350 400 450 500]; 23 | clf; 24 | hold on; 25 | plot(x, mean(gp), 'g') 26 | plot(x, mean(nn), 'r') 27 | legend('gp', 'nn') 28 | xlabel('iteration') 29 | ylabel('seconds per interation') 30 | -------------------------------------------------------------------------------- /data/gp_v_nn_time_comparison/nn_100obs_time_data.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RuiShu/nn-bayesian-optimization/e98dc326344d1dc3609de5fc3eb472e06d48d6af/data/gp_v_nn_time_comparison/nn_100obs_time_data.csv -------------------------------------------------------------------------------- /data/gp_v_nn_time_comparison/nn_250obs_time_data.csv: -------------------------------------------------------------------------------- 1 | 0.502,0.469,0.523,0.474,0.533,0.465,0.455,0.452,0.481,0.440,0.445,0.440,0.451,0.504,0.444,0.442,0.449,0.436,0.483,0.479,0.513,0.458,0.539,0.456,0.455,0.477,0.459,0.449,0.444,0.454,0.452,0.531,0.453,0.458,0.459,0.469,0.469,0.456,0.456,0.456,0.531,0.452,0.441,0.462,0.454,0.459,0.484,0.461,0.468,0.550,0.470,0.465,0.475,0.474,0.492,0.466,0.475,0.478,0.550,0.470,0.492,0.492,0.513,0.481,0.490,0.482,0.464,0.552,0.471,0.462,0.469,0.469,0.458,0.464,0.469,0.462,0.548,0.463,0.471,0.466,0.474,0.449,0.447,0.457,0.470,0.562,0.453,0.456,0.459,0.464, -------------------------------------------------------------------------------- /data/gp_v_nn_time_comparison/nn_300obs_time_data.csv: -------------------------------------------------------------------------------- 1 | 0.521,0.507,0.461,0.452,0.509,0.479,0.442,0.450,0.443,0.489,0.491,0.491,0.502,0.586,0.499,0.548,0.552,0.524,0.461,0.469,0.488,0.460,0.548,0.470,0.464,0.467,0.470,0.436,0.448,0.443,0.442,0.541,0.475,0.443,0.452,0.444,0.439,0.442,0.444,0.447,0.523,0.454,0.450,0.533,0.443,0.436,0.441,0.440,0.437,0.516,0.443,0.434,0.436,0.452,0.479,0.478,0.471,0.475,0.563,0.530,0.581,0.499,0.487,0.490,0.494,0.514,0.499,0.582,0.488,0.503,0.476,0.479,0.460,0.460,0.461,0.461,0.544,0.469,0.469,0.464,0.513,0.446,0.444,0.454,0.446,0.518,0.465,0.458,0.457,0.453, -------------------------------------------------------------------------------- /data/gp_v_nn_time_comparison/nn_350obs_time_data.csv: -------------------------------------------------------------------------------- 1 | 0.431,0.436,0.475,0.424,0.515,0.444,0.465,0.445,0.446,0.419,0.418,0.426,0.421,0.522,0.645,0.541,0.588,0.438,0.472,0.506,0.476,0.535,0.479,0.501,0.453,0.462,0.446,0.443,0.446,0.443,0.446,0.514,0.455,0.461,0.454,0.447,0.480,0.492,0.476,0.565,0.435,0.431,0.427,0.427,0.448,0.436,0.440,0.437,0.434,0.515,0.439,0.443,0.434,0.440,0.443,0.442,0.440,0.432,0.560,0.529,0.427,0.431,0.435,0.438,0.454,0.448,0.447,0.524,0.454,0.441,0.453,0.458,0.459,0.452,0.451,0.449,0.531,0.457,0.445,0.444,0.449,0.472,0.470,0.472,0.466,0.556,0.476,0.473,0.470,0.480, -------------------------------------------------------------------------------- /data/gp_v_nn_time_comparison/nn_400obs_time_data.csv: -------------------------------------------------------------------------------- 1 | 0.492,0.490,0.450,0.496,0.581,0.485,0.475,0.468,0.472,0.479,0.476,0.500,0.556,0.584,0.539,0.480,0.488,0.486,0.483,0.452,0.454,0.454,0.533,0.462,0.459,0.460,0.468,0.466,0.460,0.470,0.458,0.544,0.469,0.479,0.469,0.476,0.475,0.470,0.468,0.485,0.538,0.457,0.455,0.454,0.451,0.467,0.500,0.458,0.466,0.540,0.466,0.464,0.461,0.466,0.456,0.460,0.465,0.462,0.550,0.455,0.461,0.473,0.473,0.463,0.461,0.457,0.460,0.529,0.453,0.466,0.464,0.458,0.479,0.490,0.481,0.474,0.545,0.480,0.515,0.488,0.506,0.444,0.441,0.441,0.444,0.517,0.448,0.449,0.444,0.440, -------------------------------------------------------------------------------- /data/gp_v_nn_time_comparison/nn_450obs_time_data.csv: -------------------------------------------------------------------------------- 1 | 0.463,0.521,0.520,0.503,0.575,0.482,0.491,0.509,0.485,0.483,0.538,0.509,0.477,0.559,0.497,0.495,0.477,0.486,0.513,0.511,0.499,0.503,0.577,0.502,0.526,0.570,0.517,0.522,0.534,0.560,0.517,0.564,0.508,0.511,0.523,0.497,0.530,0.547,0.479,0.573,0.484,0.487,0.477,0.486,0.494,0.486,0.481,0.491,0.481,0.569,0.490,0.545,0.484,0.514,0.470,0.475,0.483,0.470,0.562,0.483,0.502,0.482,0.478,0.524,0.514,0.503,0.494,0.564,0.492,0.500,0.496,0.501,0.501,0.496,0.486,0.558,0.462,0.473,0.472,0.482,0.467,0.523,0.541,0.534,0.547,0.601,0.489,0.482,0.548,0.602, -------------------------------------------------------------------------------- /data/gp_v_nn_time_comparison/nn_500obs_time_data.csv: -------------------------------------------------------------------------------- 1 | 0.420,0.423,0.422,0.421,0.498,0.426,0.424,0.422,0.427,0.439,0.436,0.445,0.450,0.515,0.444,0.449,0.443,0.440,0.461,0.459,0.459,0.459,0.561,0.469,0.469,0.469,0.467,0.462,0.480,0.467,0.464,0.537,0.463,0.483,0.467,0.467,0.442,0.442,0.447,0.443,0.517,0.442,0.439,0.449,0.441,0.443,0.444,0.439,0.442,0.534,0.464,0.443,0.453,0.451,0.410,0.422,0.419,0.419,0.498,0.417,0.420,0.426,0.425,0.455,0.457,0.459,0.458,0.544,0.457,0.461,0.462,0.460,0.437,0.439,0.440,0.439,0.515,0.438,0.436,0.443,0.446,0.422,0.437,0.431,0.427,0.498,0.451,0.428,0.435,0.438 -------------------------------------------------------------------------------- /data/mpi_v_seq_time_comparison/mpi_time_data.csv: -------------------------------------------------------------------------------- 1 | 0.005,0.006,0.006,0.007,0.007,2.003,2.026,2.026,2.027,2.027,2.941,4.007,4.030,4.034,4.402,4.403,4.945,6.010,6.034,7.859,7.860,7.865,7.866,8.014,8.641,9.870,9.870,9.871,9.873,10.362,10.645,11.874,11.874,11.878,12.353,12.367,12.649,13.878,13.878,14.663,14.664,14.664,14.665,15.882,15.882,16.669,16.669,16.670,16.670,17.886,18.145,18.674,18.676,18.678,19.080,19.893,20.149,20.678,20.682,21.180,21.181,21.898,22.153,22.681,22.930,23.185,23.189,23.902,24.157,24.685,24.937,25.188,25.193,25.906,26.161,26.689,26.941,27.192,27.197,27.910,28.165,28.693,28.945,29.196,29.391,29.913,30.167,30.697,30.948,31.200,31.395,31.917,32.169,32.699,32.953,33.204,33.399,33.921,34.173,34.703,34.956,35.207,35.402,35.924,36.175,36.706,36.959,37.211,37.406,37.928,38.178,38.710,38.963,39.215,39.408,39.931,40.182,40.714,40.966,41.219,41.413,41.935,42.186,42.716,42.970,43.223,43.416,43.939,44.190,44.720,44.974,45.225,45.419,45.942,46.194,46.723,46.976,47.229,47.422,47.946,48.198,48.727,48.980,49.233,49.425,49.950,50.202,50.731,50.983,51.236,51.429,51.954,52.206,52.735,52.987,53.239,53.433,53.958,54.210,54.737,54.991,55.243,55.437,55.962,56.214,56.741,56.995,57.246,57.445,57.965,58.218,58.745,58.999,59.250,59.449,59.968,60.222,60.749,61.002,61.253,61.453,61.972,62.224,62.753,63.004,63.257,63.457,63.976,64.228,64.755,65.006,65.259,65.461,65.980,66.232,66.759,67.010,67.263,67.473,67.984,68.236,68.763,69.014,69.267,69.476,69.987,70.239,70.767,71.025,71.430,71.478,71.991,72.243,72.770,73.035,73.434,73.483,73.995,74.246,74.774,75.039,75.437,75.486,75.998,76.402,76.778,77.042,77.441,77.491,78.002,78.406,78.782,79.046,79.445,79.708,80.006,80.410,80.785,81.050,81.448,81.713,82.009,82.414,82.789,83.165,83.452,83.716,84.013,84.418,84.793 2 | 0.001,0.001,0.002,0.002,0.002,2.004,2.008,2.009,2.011,2.999,3.000,4.008,4.012,4.014,4.192,5.004,5.005,6.014,6.020,6.203,6.203,7.008,7.009,8.018,9.059,9.059,9.060,9.060,9.061,10.022,11.065,11.066,11.068,11.070,11.250,12.026,13.069,13.071,13.072,13.410,13.410,14.031,15.072,15.076,15.353,15.414,15.416,16.035,17.076,17.364,17.364,17.418,17.420,18.039,19.081,19.370,19.372,19.421,19.424,20.043,21.094,21.372,21.375,21.425,21.660,22.048,23.097,23.376,23.379,23.770,23.770,24.052,25.100,25.380,25.761,25.775,25.784,26.056,27.104,27.392,27.764,27.779,27.788,28.060,29.107,29.394,29.771,29.784,29.792,30.070,31.111,31.398,31.774,31.788,32.071,32.074,33.115,33.402,33.777,34.046,34.075,34.078,35.119,35.409,35.783,36.050,36.078,36.080,37.127,37.413,37.787,38.054,38.084,38.085,39.131,39.417,39.791,40.058,40.088,40.372,41.135,41.420,41.796,42.062,42.334,42.380,43.139,43.425,43.800,44.069,44.338,44.385,45.143,45.428,45.804,46.073,46.341,46.388,47.147,47.432,47.812,48.076,48.345,48.398,49.151,49.439,49.816,50.083,50.348,50.775,51.155,51.443,51.820,52.087,52.536,52.780,53.159,53.448,53.824,54.240,54.543,54.784,55.163,55.452,55.874,56.244,56.548,56.788,57.167,57.589,57.878,58.248,58.552,58.792,59.171,59.591,59.882,60.252,60.555,60.796,61.175,61.596,61.885,62.256,62.559,62.801,63.179,63.600,63.888,64.259,64.564,64.804,65.187,65.604,65.891,66.263,66.568,66.809,67.189,67.608,67.895,68.267,68.570,68.812,69.194,69.612,69.900,70.270,70.574,70.816,71.198,71.616,71.904,72.273,72.577,72.819,73.202,73.620,73.906,74.276,74.580,74.823,75.206,75.622,75.910,76.280,76.584,76.828,77.210,77.627,77.913,78.284,78.588,78.832,79.214,79.631,79.916,80.295,80.591,80.836,81.218,81.635,81.920,82.299,82.595,82.840,83.222,83.640,83.924,84.303 3 | 0.001,0.001,0.003,0.004,0.012,2.011,2.017,2.020,2.021,2.254,3.379,4.015,4.021,4.029,4.029,4.312,5.383,6.024,6.024,6.208,6.315,6.316,7.389,8.028,8.029,8.233,8.319,8.320,9.392,10.031,10.237,10.243,10.324,10.324,11.394,12.035,12.241,12.247,12.328,12.564,13.398,14.039,14.245,14.252,14.493,14.566,15.402,16.043,16.249,16.449,16.497,16.570,17.409,18.047,18.301,18.453,18.502,18.583,19.411,20.051,20.311,20.462,20.504,20.587,21.415,22.055,22.315,22.466,22.509,22.900,23.418,24.059,24.319,24.469,24.726,24.904,25.422,26.063,26.323,26.578,26.729,26.908,27.426,28.064,28.327,28.582,28.732,28.912,29.429,30.068,30.331,30.586,30.736,30.916,31.432,32.072,32.335,32.589,32.740,33.035,33.436,34.076,34.339,34.593,34.855,35.044,35.441,36.080,36.343,36.637,36.859,37.048,37.445,38.088,38.374,38.641,38.863,39.052,39.449,40.092,40.378,40.645,40.866,41.056,41.454,42.095,42.382,42.650,42.872,43.148,43.456,44.100,44.389,44.656,44.924,45.152,45.460,46.111,46.392,46.661,46.930,47.156,47.462,48.115,48.396,48.668,48.934,49.159,49.466,50.117,50.400,50.672,50.938,51.163,51.535,52.122,52.405,52.677,52.945,53.251,53.544,54.127,54.408,54.684,54.982,55.257,55.547,56.131,56.413,56.695,56.988,57.261,57.551,58.136,58.417,58.700,58.992,59.265,59.555,60.140,60.419,60.704,60.995,61.267,61.559,62.144,62.423,62.707,62.999,63.271,63.565,64.149,64.427,64.716,65.003,65.275,65.568,66.153,66.431,66.718,67.006,67.278,67.576,68.157,68.434,68.722,69.009,69.283,69.580,70.160,70.438,70.726,71.013,71.287,71.584,72.165,72.442,72.729,73.015,73.291,73.586,74.168,74.444,74.731,75.020,75.295,75.590,76.172,76.448,76.735,77.023,77.298,77.593,78.179,78.453,78.739,79.027,79.301,79.596,80.183,80.457,80.743,81.032,81.304,81.600,82.187,82.461,82.751,83.036,83.308 4 | 0.001,0.001,0.002,0.002,0.002,2.004,2.005,2.007,2.012,2.888,2.888,4.009,4.009,4.011,4.319,4.892,4.892,6.012,6.014,7.160,7.164,7.164,7.165,8.016,8.863,9.168,9.169,9.169,9.172,10.024,10.869,11.172,11.173,11.174,11.507,12.028,12.878,13.176,13.178,13.595,13.595,14.033,14.880,15.180,15.474,15.599,15.600,16.037,16.882,17.184,17.480,17.603,17.604,18.041,18.885,19.188,19.484,19.608,19.609,20.044,20.889,21.191,21.488,21.613,21.871,22.048,22.893,23.195,23.492,23.670,23.875,24.052,24.896,25.199,25.493,25.676,25.882,26.056,26.900,27.203,27.496,27.684,27.886,28.059,28.904,29.207,29.500,29.688,29.890,30.063,30.908,31.211,31.504,31.692,31.894,32.066,32.912,33.213,33.508,33.696,33.900,34.070,34.916,35.217,35.512,35.700,35.904,36.072,36.920,37.220,37.515,37.704,37.909,38.076,38.925,39.224,39.519,39.707,39.912,40.080,40.928,41.232,41.523,41.711,41.916,42.084,42.932,43.236,43.531,43.715,43.920,44.088,44.936,45.239,45.535,45.719,45.924,46.090,46.940,47.244,47.539,47.723,47.929,48.094,48.944,49.248,49.542,49.727,49.936,50.223,50.948,51.257,51.546,51.731,51.938,52.227,52.952,53.261,53.550,53.740,53.942,54.231,54.956,55.265,55.554,55.744,55.946,56.232,56.960,57.269,57.558,57.748,57.950,58.236,58.963,59.273,59.562,59.752,59.954,60.240,60.966,61.277,61.566,61.754,61.968,62.244,62.971,63.281,63.570,63.758,63.972,64.248,64.975,65.285,65.574,65.761,65.976,66.252,66.979,67.288,67.578,67.765,67.980,68.255,68.983,69.292,69.582,69.769,69.984,70.259,70.987,71.296,71.586,71.773,71.988,72.262,72.991,73.299,73.590,73.778,73.992,74.266,74.995,75.302,75.594,75.782,76.001,76.270,76.999,77.306,77.598,77.785,78.007,78.273,79.003,79.310,79.602,79.788,80.011,80.277,81.012,81.316,81.606,81.792,82.015,82.281,83.016,83.319,83.608,83.797 5 | 0.001,0.001,0.001,0.002,0.002,2.006,2.006,2.007,2.009,2.986,2.987,4.010,4.010,4.012,4.442,4.990,4.992,6.014,6.015,6.931,6.931,6.994,6.994,8.018,8.999,8.999,9.000,9.000,9.001,10.022,11.004,11.006,11.006,11.008,11.392,12.026,13.008,13.010,13.010,13.348,13.397,14.030,15.012,15.014,15.363,15.363,15.401,16.034,17.016,17.223,17.367,17.369,17.405,18.038,19.019,19.227,19.371,19.373,19.409,20.042,21.023,21.231,21.375,21.378,21.867,22.046,23.026,23.235,23.379,24.013,24.013,24.050,25.030,25.238,25.431,26.017,26.022,26.054,27.034,27.242,27.438,28.021,28.026,28.057,29.038,29.244,29.441,30.025,30.030,30.202,31.041,31.248,31.445,32.029,32.246,32.246,33.045,33.251,33.449,34.033,34.250,34.254,35.049,35.255,35.453,36.037,36.254,36.258,37.053,37.259,37.456,38.041,38.258,38.262,39.061,39.263,39.460,40.045,40.262,40.595,41.065,41.267,41.464,42.049,42.266,42.599,43.069,43.270,43.468,44.053,44.270,44.602,45.073,45.274,45.472,46.057,46.274,46.606,47.077,47.278,47.476,48.061,48.278,48.610,49.081,49.282,49.480,50.065,50.282,50.614,51.085,51.290,51.484,52.069,52.286,52.617,53.089,53.294,53.488,54.073,54.288,54.621,55.093,55.298,55.492,56.077,56.292,56.625,57.098,57.302,57.496,58.081,58.296,58.628,59.102,59.306,59.500,60.085,60.299,60.632,61.106,61.310,61.503,62.089,62.301,62.634,63.110,63.314,63.507,64.091,64.305,64.638,65.114,65.318,65.512,66.095,66.309,66.642,67.118,67.322,67.515,68.098,68.313,68.646,69.122,69.326,69.519,70.102,70.317,70.650,71.126,71.330,71.523,72.106,72.321,72.654,73.130,73.333,73.527,74.110,74.325,74.658,75.132,75.336,75.531,76.114,76.329,76.660,77.136,77.353,77.535,78.118,78.333,78.665,79.140,79.357,79.539,80.122,80.337,80.669,81.144,81.361,81.543,82.126,82.341,82.673,83.146,83.365,83.547,84.130 6 | 0.001,0.001,0.002,0.002,0.002,2.006,2.007,2.008,2.010,2.481,3.271,4.010,4.011,4.015,4.442,4.485,5.274,6.014,6.015,6.803,6.804,6.804,7.278,8.018,8.392,8.808,8.810,8.812,9.282,10.022,10.397,10.811,10.814,10.816,11.285,12.026,12.401,12.815,12.818,13.228,13.289,14.030,14.405,14.819,15.194,15.234,15.293,16.034,16.409,16.823,17.198,17.237,17.297,18.037,18.413,18.826,19.202,19.241,19.301,20.041,20.416,20.829,21.205,21.245,21.755,22.045,22.420,22.833,23.209,23.545,23.759,24.049,24.424,24.841,25.213,25.549,25.763,26.053,26.428,26.844,27.217,27.553,27.767,28.056,28.431,28.847,29.221,29.557,29.771,30.060,30.440,30.855,31.226,31.561,31.790,32.074,32.442,32.858,33.229,33.565,33.799,34.086,34.446,34.862,35.233,35.568,35.803,36.090,36.449,36.865,37.237,37.572,37.807,38.093,38.453,38.870,39.241,39.575,39.811,40.133,40.456,40.872,41.244,41.579,41.894,42.137,42.460,42.874,43.246,43.581,43.898,44.141,44.464,44.878,45.248,45.585,45.902,46.145,46.468,46.882,47.252,47.589,47.906,48.147,48.472,48.889,49.256,49.593,49.909,50.164,50.474,50.893,51.260,51.597,52.076,52.169,52.478,52.897,53.265,53.603,54.081,54.173,54.482,54.901,55.269,55.607,56.085,56.177,56.486,56.905,57.273,57.611,58.089,58.181,58.490,58.909,59.277,59.614,60.093,60.392,60.492,60.914,61.281,61.618,62.100,62.398,62.494,62.918,63.286,63.622,64.105,64.402,64.504,64.923,65.290,65.626,66.109,66.406,66.507,66.926,67.294,67.631,68.113,68.410,68.770,68.930,69.298,69.634,70.117,70.414,70.779,70.934,71.301,71.638,72.121,72.418,72.782,72.938,73.309,73.642,74.125,74.422,74.786,74.942,75.313,75.646,76.129,76.426,76.790,77.058,77.317,77.649,78.133,78.430,78.797,79.064,79.321,79.653,80.136,80.433,80.801,81.068,81.325,81.657,82.140,82.437,82.804,83.072,83.329,83.661 7 | 0.001,0.001,0.002,0.002,0.002,2.004,2.006,2.028,2.028,2.029,3.285,4.008,4.010,4.033,4.356,5.289,5.289,6.013,6.015,6.267,6.359,7.293,7.293,8.016,8.527,8.528,8.528,9.297,9.297,10.020,10.532,10.533,10.535,11.300,11.539,12.024,12.536,12.537,12.538,13.303,13.543,14.028,14.540,14.540,14.684,15.307,15.547,16.032,16.544,16.773,16.774,17.311,17.551,18.036,18.548,18.776,18.781,19.315,19.554,20.044,20.552,20.780,20.784,21.318,21.558,22.048,22.556,22.784,22.788,23.322,23.563,24.052,24.560,24.788,24.958,25.326,25.567,26.054,26.564,26.792,26.961,27.330,27.571,28.058,28.568,28.794,28.965,29.333,29.578,30.062,30.571,30.796,30.969,31.337,31.581,32.068,32.575,32.799,32.974,33.342,33.585,34.071,34.578,34.803,34.978,35.344,35.587,36.075,36.580,36.806,36.983,37.348,37.589,38.079,38.584,38.810,38.987,39.352,39.593,40.083,40.588,40.814,40.991,41.360,41.597,42.087,42.591,42.818,42.994,43.364,43.601,44.091,44.594,44.822,44.998,45.368,45.604,46.095,46.598,46.824,47.002,47.372,47.608,48.099,48.602,48.828,49.006,49.375,49.612,50.101,50.605,50.832,51.010,51.379,51.617,52.106,52.608,52.836,53.014,53.383,53.621,54.109,54.612,54.839,55.017,55.387,55.624,56.113,56.616,56.843,57.021,57.391,57.627,58.116,58.621,58.847,59.025,59.395,59.630,60.120,60.624,60.849,61.029,61.399,61.632,62.124,62.628,62.853,63.033,63.403,63.636,64.128,64.632,64.859,65.037,65.407,65.640,66.132,66.636,66.863,67.041,67.411,67.645,68.136,68.640,68.867,69.045,69.415,69.649,70.139,70.643,70.870,71.049,71.419,71.653,72.143,72.647,72.876,73.053,73.423,73.656,74.147,74.655,74.880,75.057,75.427,75.660,76.151,76.664,76.884,77.061,77.431,77.664,78.153,78.669,78.888,79.065,79.436,79.668,80.157,80.673,80.892,81.069,81.440,81.672,82.161,82.676,82.896,83.073,83.444 8 | 0.001,0.001,0.002,0.002,0.002,2.004,2.029,2.030,2.030,2.030,2.257,4.008,4.034,4.036,4.723,4.724,4.724,6.012,6.037,6.189,6.727,6.745,6.746,8.016,8.824,8.825,8.825,8.826,8.826,10.020,10.829,10.829,10.833,10.834,11.553,12.024,12.833,12.834,12.837,13.077,13.561,14.028,14.837,14.838,15.194,15.194,15.565,16.032,16.841,17.568,17.569,17.569,17.571,18.036,18.845,19.573,19.575,19.575,19.577,20.045,20.849,21.577,21.577,21.579,21.895,22.048,22.853,23.581,23.582,23.582,23.918,24.052,24.865,25.589,25.797,25.922,25.924,26.056,26.879,27.603,27.804,27.925,27.929,28.060,28.892,29.607,29.808,29.929,29.933,30.117,30.895,31.611,31.813,31.933,32.105,32.121,32.899,33.615,33.817,33.980,34.109,34.125,34.901,35.619,35.821,35.984,36.113,36.129,36.905,37.621,37.825,37.987,38.117,38.133,38.909,39.625,39.828,39.991,40.121,40.336,40.913,41.629,41.832,41.994,42.220,42.340,42.918,43.633,43.835,44.010,44.223,44.344,44.925,45.637,45.839,46.013,46.225,46.349,46.928,47.641,47.841,48.017,48.229,48.353,48.932,49.645,49.845,50.021,50.233,50.391,50.936,51.649,51.849,52.025,52.237,52.396,52.940,53.653,53.853,54.029,54.241,54.400,54.944,55.657,55.857,56.032,56.245,56.408,56.948,57.661,57.861,58.036,58.249,58.412,58.952,59.665,59.867,60.040,60.253,60.416,60.956,61.669,61.871,62.044,62.257,62.420,62.961,63.673,63.875,64.048,64.261,64.424,64.965,65.677,65.879,66.051,66.265,66.427,66.969,67.681,67.882,68.055,68.268,68.431,68.973,69.683,69.886,70.059,70.272,70.460,70.976,71.687,71.889,72.063,72.276,72.464,72.980,73.690,73.893,74.066,74.280,74.468,74.984,75.694,75.897,76.070,76.284,76.472,76.988,77.697,77.901,78.074,78.292,78.475,78.995,79.701,79.909,80.078,80.296,80.479,80.999,81.705,81.913,82.082,82.300,82.482,83.003,83.708,83.918,84.121 9 | 0.001,0.001,0.002,0.002,0.002,2.006,2.006,2.009,2.011,2.769,3.390,4.010,4.011,4.014,4.177,4.774,5.394,6.014,6.015,6.181,6.181,6.778,7.398,8.018,8.336,8.337,8.337,8.781,9.402,10.022,10.341,10.342,10.344,10.786,11.406,12.026,12.345,12.346,12.351,12.790,13.411,14.030,14.349,14.350,14.493,14.793,15.414,16.033,16.353,16.540,16.541,16.797,17.418,18.037,18.357,18.545,18.545,18.807,19.426,20.041,20.361,20.549,20.550,20.810,21.428,22.045,22.365,22.553,22.554,22.814,23.432,24.049,24.366,24.558,24.689,24.818,25.435,26.052,26.370,26.562,26.696,26.822,27.438,28.056,28.374,28.566,28.700,28.826,29.441,30.058,30.378,30.570,30.704,30.830,31.445,32.061,32.381,32.574,32.708,32.853,33.449,34.065,34.384,34.578,34.710,34.858,35.453,36.068,36.388,36.582,36.714,36.861,37.457,38.072,38.391,38.586,38.717,38.865,39.461,40.075,40.395,40.590,40.726,40.869,41.465,42.078,42.399,42.594,42.730,42.873,43.467,44.082,44.403,44.598,44.734,44.876,45.471,46.085,46.406,46.602,46.738,46.880,47.478,48.089,48.409,48.606,48.742,48.885,49.481,50.097,50.416,50.609,50.746,50.888,51.485,52.100,52.420,52.613,52.749,52.892,53.489,54.104,54.425,54.617,54.754,54.895,55.493,56.108,56.428,56.622,56.758,56.899,57.497,58.110,58.432,58.626,58.762,58.902,59.501,60.115,60.435,60.630,60.766,60.906,61.504,62.125,62.438,62.633,62.769,62.910,63.507,64.129,64.442,64.637,64.773,64.914,65.511,66.132,66.447,66.642,66.777,66.917,67.515,68.136,68.451,68.645,68.781,68.921,69.519,70.146,70.453,70.649,70.784,70.925,71.523,72.150,72.462,72.658,72.786,72.934,73.526,74.154,74.466,74.662,74.789,74.938,75.530,76.157,76.471,76.665,76.793,76.941,77.534,78.166,78.473,78.669,78.797,78.945,79.538,80.169,80.476,80.673,80.800,80.949,81.542,82.173,82.480,82.677,82.804,82.953 10 | 0.001,0.001,0.002,0.002,0.013,2.018,2.021,2.021,2.024,3.322,3.322,4.025,4.026,4.027,5.014,5.325,5.327,6.029,6.029,6.793,7.018,7.329,7.335,8.033,8.767,8.797,9.021,9.333,9.337,10.373,10.771,10.800,11.025,11.337,12.667,12.667,12.775,12.802,13.029,13.341,14.671,14.673,14.778,14.805,15.033,15.346,16.675,16.681,16.781,17.031,17.037,17.350,18.678,18.684,18.871,19.035,19.041,19.353,20.682,20.835,20.878,21.038,21.045,21.357,22.686,22.837,22.881,23.042,23.049,23.361,24.689,24.841,24.885,25.045,25.178,25.364,26.692,26.845,26.889,27.049,27.182,27.368,28.696,28.847,28.985,29.053,29.185,29.372,30.700,30.849,30.989,31.057,31.189,31.376,32.704,32.853,32.993,33.061,33.193,33.379,34.707,34.857,34.995,35.065,35.199,35.381,36.711,36.861,36.997,37.145,37.204,37.386,38.715,38.865,39.010,39.149,39.208,39.390,40.719,40.940,41.014,41.152,41.212,41.394,42.723,42.944,43.020,43.156,43.216,43.440,44.727,44.948,45.024,45.160,45.385,45.445,46.731,46.952,47.028,47.252,47.389,47.448,48.735,48.956,49.179,49.256,49.393,49.452,50.738,51.048,51.183,51.260,51.397,51.454,52.742,53.052,53.187,53.263,53.401,53.673,54.746,55.056,55.191,55.267,55.534,55.677,56.750,57.060,57.194,57.503,57.538,57.681,58.754,59.064,59.356,59.507,59.542,59.685,60.757,61.101,61.361,61.513,61.545,61.689,62.761,63.108,63.365,63.517,63.549,63.887,64.764,65.112,65.369,65.521,65.894,65.894,66.768,67.116,67.373,67.727,67.898,67.901,68.772,69.119,69.560,69.733,69.902,69.904,70.776,71.123,71.565,71.737,71.906,71.908,72.780,73.126,73.567,73.741,73.910,74.294,74.791,75.130,75.571,75.745,76.135,76.296,76.794,77.134,77.575,77.940,78.139,78.300,78.798,79.138,79.579,79.944,80.145,80.304,80.802,81.142,81.582,81.952,82.147,82.308,82.806,83.145,83.586,83.956,84.149,84.452 11 | 0.001,2.830,2.831,2.831,2.832,2.841,2.841,2.842,3.536,3.536,3.537,3.537,3.538,4.237,4.238,4.238,4.243,4.244,7.111,7.112,7.112,7.113,7.113,7.718,7.719,7.728,7.728,7.730,7.731,7.731,8.356,8.356,8.916,8.929,8.929,8.930,8.930,8.931,9.456,9.459,9.460,9.460,9.954,9.955,9.955,9.956,9.956,9.957,10.567,10.567,10.568,10.568,11.154,11.155,11.160,11.160,11.161,11.652,11.652,11.653,11.653,11.654,11.654,12.164,12.165,12.165,12.166,12.612,12.620,12.624,12.624,12.625,13.174,13.182,13.189,13.190,13.196,13.198,13.610,13.611,13.611,13.612,14.129,14.129,14.130,14.130,14.131,14.580,14.580,14.581,14.581,14.581,14.594,15.047,15.048,15.048,15.048,15.049,15.575,15.583,15.590,15.591,15.591,15.592,16.020,16.020,16.021,16.021,16.022,16.488,16.489,16.489,16.992,16.993,16.993,17.001,17.002,17.002,17.505,17.516,17.516,17.548,17.552,17.977,17.984,17.985,17.985,17.985,18.549,18.552,18.552,18.553,18.553,18.553,19.142,19.142,19.142,19.788,19.797,19.798,19.798,19.799,19.800,20.425,20.433,20.434,20.435,20.436,21.232,21.233,21.233,21.234,21.234,21.865,21.865,21.866,21.874,22.573,22.574,22.574,22.580,22.580,23.328,23.329,23.329,23.330,23.330,24.012,24.013,24.013,24.014,24.014,24.702,24.702,24.703,24.703,24.704,24.704,25.357,25.357,25.357,25.358,26.294,26.294,26.295,26.295,26.296,26.296,27.077,27.077,27.078,27.078,27.764,27.764,27.765,27.765,27.766,28.513,28.513,28.514,28.514,28.514,29.476,29.476,29.477,29.477,29.478,29.478,30.169,30.169,30.170,30.170,30.171,30.855,30.856,30.856,30.856,31.633,31.633,31.634,31.634,31.637,32.028,32.029,32.029,32.030,32.030,32.424,32.428,32.428,32.430,32.430,32.981,32.981,32.982,32.982,32.983,33.226,33.226,33.227,33.227,33.228,33.504,33.507,33.507,33.516,33.516,33.517,33.937,33.937,NA 12 | 0.001,0.001,1.006,1.006,1.008,1.008,1.009,3.768,3.768,3.783,3.783,3.784,3.784,4.129,4.129,4.130,4.130,6.607,6.608,6.608,6.609,6.612,7.794,7.794,7.795,7.800,7.800,7.801,8.628,8.629,8.629,8.630,9.188,9.188,9.189,9.189,9.190,9.190,10.456,10.457,10.458,10.459,10.460,11.751,11.751,11.752,11.752,12.875,12.876,12.876,12.877,12.877,12.878,14.051,14.052,14.052,14.053,15.084,15.084,15.085,15.085,15.086,15.101,16.056,16.056,16.057,16.057,16.058,16.972,16.980,16.980,16.981,16.981,17.869,17.869,17.870,17.870,18.720,18.720,18.721,18.745,18.746,18.746,19.381,19.381,19.382,19.382,20.007,20.007,20.016,20.016,20.017,20.017,20.629,20.629,20.630,20.630,20.631,21.277,21.277,21.278,21.278,21.901,21.901,21.902,21.902,21.903,22.513,22.513,22.514,22.514,22.515,23.168,23.169,23.169,23.170,23.170,23.773,23.774,23.774,23.775,23.775,23.776,24.444,24.445,24.445,24.446,24.962,24.963,24.963,24.963,24.964,25.557,25.557,25.558,25.560,25.560,25.561,26.184,26.185,26.185,26.186,26.844,26.845,26.846,26.846,26.846,26.847,27.444,27.445,27.445,27.446,28.224,28.225,28.225,28.226,28.226,28.848,28.848,28.849,28.849,28.850,28.850,29.484,29.485,29.485,29.486,30.073,30.073,30.074,30.074,30.075,30.075,30.681,30.681,30.682,30.682,30.683,31.260,31.261,31.261,31.262,31.932,31.933,31.933,31.934,31.934,32.533,32.533,32.534,32.534,32.535,32.535,33.134,33.135,33.135,33.136,33.137,33.732,33.732,33.733,33.733,33.734,34.456,34.459,34.460,34.464,35.022,35.023,35.023,35.024,35.024,35.604,35.605,35.605,35.606,35.607,36.180,36.181,36.181,36.185,36.186,36.774,36.775,36.775,36.776,36.776,37.345,37.345,37.346,37.346,37.347,37.347,37.970,37.970,37.971,37.971,37.972,37.972,38.600,38.600,38.601,38.601,39.323,39.324,39.324,39.325,39.774,39.780,39.792,NA 13 | 0.001,0.774,0.774,0.775,1.504,1.505,2.235,2.954,2.955,2.955,3.770,3.770,4.506,5.237,5.238,5.238,6.097,6.098,6.608,7.226,7.226,7.227,7.938,7.939,8.658,9.238,9.239,9.239,9.822,9.822,10.634,11.113,11.122,11.123,11.781,11.782,12.516,13.314,13.314,13.315,14.010,14.010,14.710,15.414,15.415,15.415,16.161,16.162,16.867,17.634,17.634,17.635,18.331,18.332,19.214,19.945,19.945,19.946,20.713,20.713,21.426,22.133,22.134,22.134,22.850,22.853,23.574,24.282,24.282,24.283,25.038,25.039,25.776,26.498,26.498,26.499,27.222,27.222,27.942,28.659,28.660,28.660,29.370,29.371,29.371,30.078,31.494,31.494,31.495,31.495,31.496,31.496,33.631,33.632,33.632,33.633,33.633,33.634,35.766,35.766,35.767,35.767,35.768,35.768,37.897,37.898,37.898,37.899,37.899,37.899,40.209,40.209,40.210,40.210,40.211,40.211,42.438,42.439,42.445,42.446,42.446,42.447,44.634,44.634,44.635,44.635,44.636,44.636,46.806,46.807,46.817,46.818,46.818,46.819,48.991,48.991,48.992,48.992,48.993,48.993,51.165,51.165,51.166,51.166,51.167,51.167,53.348,53.349,53.349,53.350,53.350,53.351,55.686,55.697,55.698,55.698,55.699,55.699,57.930,57.930,57.931,57.931,57.932,57.932,60.138,60.149,60.150,60.150,60.151,60.151,62.346,62.756,62.757,62.757,62.758,62.758,64.602,64.603,64.603,64.604,64.604,64.605,66.894,66.894,66.895,66.895,66.896,66.896,69.292,69.293,69.293,69.294,69.294,69.295,71.618,71.618,71.619,71.619,71.620,71.620,73.957,73.966,73.973,73.977,73.978,73.978,76.002,76.003,76.003,76.004,76.004,76.005,78.185,78.186,78.186,78.187,78.187,78.187,80.341,80.342,80.342,80.343,80.343,80.344,82.694,82.695,82.695,82.696,82.696,82.697,84.692,84.693,84.694,84.697,84.698,84.699,87.017,87.018,87.023,87.024,87.024,87.025,89.319,89.319,89.320,89.320,89.321,89.321,91.807,91.808,NA 14 | -------------------------------------------------------------------------------- /data/mpi_v_seq_time_comparison/plotme.R: -------------------------------------------------------------------------------- 1 | library(ggplot2) 2 | 3 | mpi.df <- read.csv("mpi_time_data.csv", header=F) 4 | mpi.df <- mpi.df[,1:250] 5 | 6 | seq.df <- read.csv("sequential_time_data.csv", header=F) 7 | seq.df <- seq.df[,1:250] 8 | 9 | df <- data.frame(x=1:250, y1=rowMeans(t(mpi.df)), y2=rowMeans(t(seq.df))) 10 | cairo_ps(file="plot.eps", width=7,height=7) 11 | p <- (ggplot(df, aes(x, y = value, color = variable)) + 12 | geom_line(aes(y = y1, col = "Parallel")) + 13 | geom_line(aes(y = y2, col = "Sequential")) + 14 | xlab("Number of queries") + ylab("Seconds taken") + 15 | scale_fill_discrete(breaks=c("Sequential", "Parallel"))) 16 | plot(p) 17 | dev.off() 18 | -------------------------------------------------------------------------------- /data/mpi_v_seq_time_comparison/plotme.m: -------------------------------------------------------------------------------- 1 | function plotme() 2 | 3 | seq = load('sequential_time_data.csv'); 4 | mpi = load('mpi_time_data.csv'); 5 | 6 | seq_y = mean(seq, 1); 7 | mpi_y = mean(mpi, 1); 8 | x = 1:250; 9 | 10 | clf; 11 | hold on; 12 | plot(x, seq_y, 'b'); 13 | plot(x, mpi_y, 'r'); 14 | legend('sequential', 'parallel') 15 | xlabel('iterations') 16 | ylabel('time') 17 | -------------------------------------------------------------------------------- /data/mpi_v_seq_time_comparison/sequential_time_data.csv: -------------------------------------------------------------------------------- 1 | 2.005,4.010,6.013,8.017,10.022,12.670,14.674,16.681,18.687,20.692,23.523,25.528,27.531,29.535,31.536,33.749,35.752,37.757,39.762,41.767,43.928,45.933,47.937,49.943,51.949,54.194,56.199,58.205,60.211,62.215,64.587,66.591,68.597,70.601,72.606,74.848,76.852,78.856,80.858,82.860,85.109,87.114,89.117,91.121,93.125,95.348,97.353,99.356,101.360,103.363,107.646,109.652,111.657,113.661,115.664,118.011,120.017,122.022,124.027,126.029,128.274,130.278,132.284,134.288,136.292,138.545,140.549,142.552,144.556,146.560,148.779,150.784,152.790,154.797,156.803,159.087,161.093,163.096,165.101,167.104,169.417,171.421,173.425,175.429,177.435,179.639,181.641,183.647,185.651,187.655,189.835,191.840,193.843,195.849,197.852,200.109,202.113,204.116,206.120,208.124,210.331,212.337,214.342,216.348,218.353,220.566,222.571,224.576,226.579,228.583,230.921,232.925,234.930,236.935,238.939,241.147,243.152,245.155,247.159,249.163,251.345,253.347,255.351,257.354,259.357,261.539,263.544,265.549,267.552,269.555,271.729,273.733,275.735,277.739,279.744,281.936,283.941,285.944,287.946,289.950,292.158,294.162,296.165,298.167,300.171,302.360,304.365,306.368,308.373,310.378,314.618,316.622,318.626,320.629,322.633,324.828,326.831,328.836,330.841,332.846,335.147,337.151,339.156,341.161,343.165,345.436,347.442,349.447,351.451,353.457,355.717,357.721,359.726,361.730,363.735,366.010,368.015,370.019,372.023,374.027,376.297,378.302,380.306,382.311,384.314,386.580,388.585,390.589,392.594,394.597,396.874,398.878,400.883,402.890,404.896,407.182,409.186,411.188,413.191,415.195,417.456,419.462,421.465,423.469,425.473,427.768,429.772,431.778,433.784,435.789,438.084,440.086,442.090,444.094,446.098,448.369,450.372,452.376,454.379,456.385,458.676,460.680,462.684,464.687,466.691,468.974,470.978,472.983,474.986,476.992,479.252,481.257,483.262,485.266,487.271,489.537,491.541,493.545,495.548,497.552,499.814,501.819,503.825,505.828,507.833,510.172,512.175,514.179,516.184,518.190 2 | 2.003,4.007,6.011,8.014,10.017,12.318,14.322,16.327,18.332,20.337,22.827,24.830,26.834,28.838,30.843,33.673,35.678,37.682,39.685,41.689,43.939,45.943,47.947,49.950,51.954,54.280,56.282,58.286,60.292,62.296,64.510,66.514,68.519,70.524,72.527,74.709,76.714,78.719,80.724,82.728,84.910,86.915,88.924,90.929,92.933,95.110,97.114,99.116,101.120,103.125,108.029,110.034,112.038,114.044,116.049,118.213,120.216,122.219,124.223,126.228,128.365,130.370,132.376,134.381,136.387,138.520,140.524,142.527,144.529,146.532,148.680,150.684,152.689,154.694,156.699,158.921,160.924,162.928,164.933,166.938,169.081,171.085,173.089,175.093,177.099,179.249,181.254,183.259,185.264,187.268,189.406,191.410,193.414,195.419,197.425,199.560,201.566,203.570,205.574,207.579,209.710,211.715,213.719,215.723,217.727,219.857,221.860,223.864,225.870,227.875,230.015,232.020,234.026,236.031,238.035,240.178,242.184,244.186,246.189,248.193,250.344,252.348,254.352,256.357,258.360,260.487,262.490,264.495,266.499,268.503,270.648,272.654,274.659,276.664,278.668,280.807,282.812,284.817,286.822,288.827,290.972,292.975,294.979,296.984,298.988,301.155,303.158,305.162,307.166,309.171,314.216,316.220,318.224,320.229,322.233,324.377,326.382,328.387,330.392,332.398,334.540,336.547,338.552,340.558,342.561,344.716,346.720,348.725,350.731,352.739,354.871,356.875,358.878,360.881,362.886,365.023,367.027,369.031,371.035,373.038,375.161,377.165,379.170,381.175,383.180,385.317,387.322,389.326,391.330,393.336,395.473,397.478,399.485,401.489,403.493,405.623,407.627,409.630,411.634,413.638,415.775,417.780,419.786,421.792,423.797,425.941,427.947,429.950,431.954,433.960,436.100,438.106,440.110,442.114,444.119,446.287,448.290,450.294,452.297,454.300,456.430,458.435,460.439,462.442,464.448,466.589,468.593,470.597,472.599,474.605,476.752,478.757,480.762,482.765,484.769,486.901,488.904,490.908,492.914,494.920,497.122,499.126,501.130,503.133,505.137,507.268,509.274,511.280,513.285,515.290 3 | 2.002,4.006,6.012,8.017,10.021,12.494,14.499,16.503,18.507,20.512,23.147,25.152,27.156,29.159,31.163,33.313,35.318,37.321,39.325,41.328,43.480,45.484,47.489,49.493,51.499,53.664,55.666,57.670,59.672,61.676,63.849,65.854,67.860,69.864,71.868,74.024,76.028,78.034,80.039,82.044,84.291,86.295,88.301,90.305,92.309,94.507,96.513,98.518,100.522,102.525,106.797,108.803,110.808,112.813,114.817,117.008,119.013,121.019,123.025,125.029,127.237,129.241,131.246,133.250,135.255,137.490,139.494,141.497,143.501,145.505,147.722,149.728,151.733,153.735,155.741,158.021,160.027,162.033,164.039,166.044,168.250,170.253,172.258,174.262,176.265,178.487,180.492,182.495,184.498,186.502,188.727,190.731,192.734,194.738,196.743,198.944,200.949,202.952,204.956,206.959,209.153,211.158,213.163,215.167,217.171,219.374,221.379,223.382,225.386,227.391,229.597,231.601,233.607,235.613,237.618,239.823,241.827,243.832,245.837,247.841,250.038,252.042,254.048,256.053,258.057,260.269,262.272,264.276,266.278,268.282,270.480,272.485,274.490,276.494,278.498,280.682,282.688,284.693,286.698,288.702,290.880,292.884,294.888,296.894,298.899,301.111,303.116,305.122,307.126,309.130,313.457,315.460,317.464,319.469,321.472,323.619,325.625,327.630,329.636,331.639,333.791,335.795,337.798,339.804,341.809,343.990,345.993,347.997,350.003,352.008,354.155,356.158,358.163,360.168,362.173,364.358,366.364,368.370,370.374,372.379,374.580,376.585,378.590,380.594,382.598,384.803,386.807,388.810,390.815,392.819,394.991,396.994,398.998,401.004,403.008,405.203,407.208,409.211,411.214,413.218,415.419,417.423,419.428,421.433,423.436,425.689,427.693,429.698,431.703,433.709,435.886,437.890,439.894,441.899,443.905,446.104,448.109,450.115,452.120,454.124,456.330,458.336,460.338,462.341,464.345,466.544,468.548,470.552,472.558,474.564,476.748,478.753,480.758,482.763,484.768,486.925,488.930,490.934,492.937,494.940,497.103,499.107,501.112,503.117,505.123,507.372,509.377,511.381,513.385,515.388 4 | 2.003,4.007,6.011,8.016,10.020,12.663,14.668,16.672,18.677,20.680,23.388,25.392,27.398,29.402,31.408,34.419,36.422,38.425,40.428,42.435,44.646,46.651,48.655,50.660,52.666,54.923,56.928,58.934,60.939,62.945,65.193,67.196,69.199,71.204,73.209,75.418,77.423,79.427,81.430,83.434,85.648,87.652,89.655,91.661,93.666,95.892,97.896,99.902,101.907,103.911,108.316,110.321,112.326,114.333,116.337,118.562,120.565,122.569,124.572,126.574,128.769,130.774,132.778,134.781,136.785,139.008,141.011,143.015,145.019,147.023,149.261,151.266,153.270,155.274,157.278,159.495,161.499,163.503,165.509,167.515,169.827,171.832,173.838,175.843,177.849,180.057,182.061,184.066,186.070,188.075,190.297,192.301,194.304,196.308,198.314,200.527,202.531,204.537,206.540,208.545,210.737,212.743,214.748,216.754,218.759,220.957,222.961,224.964,226.967,228.971,231.134,233.139,235.143,237.145,239.148,241.342,243.346,245.352,247.355,249.359,251.551,253.555,255.560,257.564,259.569,261.756,263.762,265.764,267.768,269.771,271.976,273.981,275.987,277.991,279.996,282.193,284.199,286.204,288.209,290.212,292.394,294.398,296.404,298.409,300.414,302.603,304.609,306.613,308.617,310.622,314.874,316.880,318.885,320.888,322.893,325.066,327.069,329.073,331.078,333.080,335.248,337.251,339.256,341.262,343.267,345.446,347.449,349.452,351.456,353.460,355.631,357.635,359.639,361.645,363.651,365.817,367.821,369.825,371.830,373.836,376.010,378.013,380.017,382.020,384.024,386.211,388.214,390.217,392.221,394.226,396.404,398.409,400.414,402.417,404.421,406.594,408.600,410.604,412.607,414.612,416.777,418.781,420.786,422.790,424.796,426.971,428.975,430.980,432.986,434.991,437.153,439.159,441.164,443.170,445.175,447.336,449.342,451.347,453.349,455.354,457.541,459.546,461.551,463.555,465.561,467.729,469.733,471.739,473.744,475.749,477.974,479.979,481.984,483.988,485.993,488.157,490.162,492.166,494.171,496.175,498.336,500.340,502.343,504.349,506.354,508.508,510.513,512.519,514.524,516.528 5 | 2.003,4.008,6.013,8.017,10.021,12.161,14.167,16.169,18.173,20.178,22.346,24.349,26.353,28.358,30.362,33.014,35.018,37.021,39.024,41.028,43.740,45.744,47.747,49.751,51.756,54.519,56.525,58.529,60.534,62.540,65.310,67.316,69.321,71.324,73.328,75.619,77.623,79.625,81.629,83.632,85.861,87.867,89.872,91.878,93.883,96.128,98.134,100.139,102.145,104.150,108.618,110.625,112.628,114.634,116.639,118.867,120.871,122.877,124.882,126.888,129.114,131.118,133.122,135.126,137.130,139.335,141.340,143.344,145.349,147.353,149.595,151.601,153.606,155.612,157.615,159.856,161.860,163.865,165.867,167.872,170.111,172.117,174.123,176.128,178.133,180.388,182.391,184.395,186.403,188.408,190.700,192.705,194.709,196.714,198.718,201.003,203.009,205.014,207.017,209.021,211.358,213.363,215.368,217.374,219.379,221.647,223.650,225.654,227.659,229.663,231.949,233.954,235.960,237.965,239.970,242.235,244.239,246.242,248.246,250.250,252.480,254.484,256.490,258.495,260.500,262.754,264.758,266.764,268.769,270.774,273.033,275.037,277.041,279.046,281.052,283.276,285.280,287.285,289.290,291.295,293.523,295.528,297.533,299.537,301.542,303.785,305.787,307.791,309.796,311.798,316.293,318.298,320.301,322.305,324.311,326.636,328.642,330.647,332.652,334.655,336.826,338.829,340.833,342.836,344.840,347.041,349.046,351.051,353.057,355.060,357.253,359.258,361.262,363.265,365.270,367.473,369.476,371.479,373.482,375.486,377.678,379.684,381.689,383.692,385.696,387.907,389.912,391.917,393.922,395.927,398.146,400.152,402.157,404.160,406.163,408.361,410.366,412.369,414.373,416.378,418.602,420.608,422.612,424.617,426.621,428.836,430.839,432.843,434.849,436.854,439.067,441.071,443.076,445.082,447.088,449.314,451.318,453.322,455.326,457.332,459.544,461.546,463.552,465.557,467.562,469.769,471.774,473.780,475.785,477.788,479.994,481.998,484.003,486.009,488.015,490.258,492.261,494.266,496.271,498.276,500.478,502.483,504.486,506.491,508.495,510.719,512.724,514.730,516.734,518.737 6 | 2.004,4.009,6.015,8.020,10.024,12.572,14.576,16.580,18.586,20.592,23.210,25.216,27.221,29.225,31.228,33.543,35.548,37.553,39.557,41.560,43.829,45.835,47.840,49.846,51.850,53.984,55.989,57.995,60.001,62.006,64.120,66.125,68.130,70.135,72.138,74.256,76.262,78.266,80.270,82.275,84.399,86.401,88.405,90.407,92.409,94.536,96.540,98.544,100.548,102.552,106.718,108.724,110.730,112.734,114.739,116.994,118.999,121.002,123.005,125.008,127.259,129.265,131.270,133.274,135.281,137.469,139.472,141.475,143.479,145.484,147.695,149.701,151.706,153.711,155.715,157.966,159.972,161.975,163.979,165.983,168.311,170.315,172.322,174.328,176.334,178.530,180.535,182.541,184.546,186.549,188.737,190.741,192.743,194.746,196.751,199.007,201.010,203.015,205.019,207.025,209.206,211.211,213.216,215.219,217.223,219.424,221.428,223.432,225.437,227.443,229.640,231.645,233.649,235.655,237.659,239.828,241.832,243.836,245.842,247.846,250.040,252.043,254.047,256.050,258.054,260.250,262.255,264.259,266.263,268.267,270.463,272.466,274.470,276.474,278.479,280.692,282.697,284.702,286.706,288.716,290.920,292.923,294.926,296.928,298.931,301.127,303.132,305.137,307.141,309.145,313.650,315.655,317.660,319.666,321.671,323.866,325.872,327.876,329.880,331.885,334.055,336.059,338.064,340.068,342.072,344.319,346.323,348.328,350.332,352.335,354.529,356.534,358.539,360.543,362.548,364.723,366.728,368.733,370.736,372.740,374.928,376.932,378.936,380.942,382.947,385.127,387.130,389.134,391.139,393.145,395.330,397.334,399.340,401.345,403.350,405.547,407.552,409.557,411.562,413.566,415.748,417.753,419.757,421.763,423.767,425.940,427.944,429.950,431.954,433.958,436.135,438.141,440.145,442.147,444.151,446.334,448.338,450.343,452.349,454.355,456.544,458.549,460.555,462.559,464.563,466.750,468.753,470.756,472.760,474.765,476.943,478.948,480.954,482.959,484.963,487.140,489.144,491.148,493.153,495.158,497.336,499.341,501.345,503.349,505.353,507.544,509.548,511.550,513.555,515.560 7 | 2.003,4.007,6.013,8.019,10.023,12.357,14.362,16.368,18.372,20.376,23.082,25.087,27.091,29.096,31.098,34.010,36.014,38.018,40.023,42.026,44.764,46.768,48.773,50.777,52.780,55.058,57.062,59.068,61.074,63.080,65.285,67.290,69.294,71.298,73.302,75.602,77.605,79.610,81.613,83.618,85.954,87.957,89.958,91.962,93.967,96.164,98.168,100.172,102.176,104.182,108.349,110.353,112.359,114.364,116.368,118.647,120.653,122.659,124.665,126.670,128.957,130.962,132.967,134.972,136.976,139.263,141.269,143.274,145.278,147.283,149.551,151.557,153.562,155.568,157.573,159.841,161.846,163.851,165.856,167.859,170.149,172.153,174.157,176.161,178.166,180.495,182.499,184.502,186.506,188.512,190.789,192.795,194.800,196.805,198.808,201.058,203.064,205.068,207.075,209.080,211.351,213.355,215.359,217.362,219.366,221.600,223.606,225.610,227.613,229.618,231.867,233.871,235.876,237.881,239.887,242.129,244.134,246.140,248.144,250.149,252.393,254.398,256.400,258.405,260.409,262.684,264.688,266.693,268.697,270.703,272.964,274.969,276.973,278.979,280.982,283.284,285.288,287.292,289.295,291.297,293.598,295.603,297.607,299.611,301.616,303.859,305.863,307.866,309.870,311.875,316.394,318.398,320.404,322.408,324.414,326.984,328.988,330.992,332.996,335.000,337.333,339.339,341.343,343.347,345.353,347.560,349.566,351.571,353.576,355.580,357.803,359.808,361.812,363.816,365.823,368.028,370.032,372.037,374.041,376.046,378.296,380.302,382.305,384.310,386.314,388.513,390.518,392.523,394.525,396.529,398.725,400.727,402.733,404.738,406.743,408.933,410.938,412.943,414.946,416.950,419.146,421.151,423.156,425.160,427.165,429.361,431.364,433.367,435.371,437.376,439.576,441.582,443.587,445.592,447.595,449.779,451.784,453.788,455.794,457.799,459.998,462.002,464.006,466.009,468.015,470.247,472.250,474.255,476.260,478.266,480.526,482.529,484.531,486.535,488.540,490.727,492.731,494.736,496.741,498.745,500.962,502.968,504.973,506.976,508.981,511.186,513.192,515.197,517.203,519.206 8 | 2.003,4.008,6.013,8.017,10.021,12.700,14.705,16.712,18.717,20.720,22.859,24.862,26.866,28.870,30.873,33.556,35.560,37.564,39.570,41.572,43.803,45.807,47.811,49.814,51.818,54.052,56.056,58.063,60.067,62.073,64.352,66.356,68.360,70.364,72.366,74.577,76.580,78.584,80.589,82.595,84.790,86.793,88.796,90.800,92.804,94.997,97.000,99.004,101.007,103.011,107.325,109.330,111.336,113.341,115.347,117.511,119.513,121.517,123.524,125.529,127.702,129.707,131.711,133.716,135.720,137.881,139.887,141.891,143.896,145.901,148.052,150.056,152.060,154.064,156.068,158.245,160.250,162.254,164.259,166.265,168.511,170.516,172.522,174.527,176.532,178.701,180.704,182.708,184.711,186.715,188.877,190.879,192.883,194.889,196.892,199.083,201.088,203.094,205.098,207.103,209.293,211.297,213.300,215.306,217.313,219.481,221.487,223.492,225.498,227.504,229.690,231.696,233.701,235.705,237.711,239.886,241.889,243.892,245.898,247.903,250.087,252.090,254.093,256.101,258.107,260.281,262.288,264.293,266.296,268.300,270.477,272.481,274.483,276.487,278.490,280.680,282.684,284.688,286.691,288.695,290.871,292.875,294.880,296.885,298.890,301.071,303.074,305.078,307.079,309.083,314.604,316.608,318.611,320.616,322.620,324.768,326.772,328.778,330.782,332.787,334.934,336.939,338.944,340.948,342.952,345.106,347.112,349.115,351.117,353.121,355.272,357.277,359.282,361.288,363.293,365.441,367.444,369.448,371.455,373.460,375.614,377.619,379.626,381.633,383.638,385.789,387.793,389.796,391.800,393.804,395.963,397.970,399.974,401.978,403.984,406.132,408.138,410.143,412.148,414.153,416.305,418.311,420.314,422.319,424.325,426.476,428.481,430.486,432.491,434.497,436.650,438.654,440.659,442.663,444.667,446.820,448.824,450.830,452.835,454.839,456.992,458.996,461.001,463.007,465.012,467.168,469.173,471.176,473.180,475.185,477.339,479.344,481.348,483.352,485.357,487.516,489.519,491.522,493.529,495.534,497.682,499.687,501.691,503.696,505.702,507.924,509.930,511.934,513.940,515.943 9 | 2.004,4.011,6.015,8.020,10.027,12.214,14.219,16.223,18.227,20.232,22.515,24.518,26.524,28.529,30.536,32.756,34.761,36.764,38.769,40.776,43.588,45.592,47.598,49.602,51.606,54.426,56.433,58.438,60.440,62.443,65.241,67.244,69.247,71.252,73.257,75.524,77.529,79.535,81.539,83.543,86.153,88.156,90.160,92.165,94.168,96.490,98.494,100.500,102.503,104.506,109.349,111.353,113.358,115.363,117.368,119.603,121.609,123.614,125.618,127.624,129.855,131.860,133.864,135.869,137.875,140.071,142.077,144.081,146.086,148.092,150.323,152.330,154.335,156.341,158.347,160.585,162.588,164.593,166.598,168.602,170.851,172.857,174.862,176.867,178.870,181.201,183.206,185.211,187.216,189.220,191.452,193.458,195.465,197.469,199.473,201.682,203.689,205.694,207.699,209.703,211.954,213.959,215.963,217.968,219.973,222.206,224.211,226.215,228.220,230.225,232.447,234.451,236.455,238.461,240.466,242.668,244.673,246.677,248.679,250.685,252.895,254.899,256.903,258.906,260.912,263.132,265.137,267.140,269.147,271.151,273.371,275.375,277.381,279.385,281.389,283.588,285.595,287.600,289.605,291.610,293.834,295.839,297.844,299.847,301.853,304.068,306.073,308.077,310.082,312.089,317.239,319.243,321.249,323.255,325.261,327.455,329.462,331.466,333.470,335.475,337.683,339.688,341.691,343.695,345.700,347.934,349.940,351.945,353.949,355.953,358.163,360.166,362.169,364.173,366.177,368.415,370.419,372.424,374.428,376.433,378.662,380.666,382.671,384.674,386.678,388.903,390.908,392.912,394.915,396.920,399.157,401.162,403.166,405.168,407.172,409.389,411.392,413.397,415.404,417.409,419.646,421.652,423.658,425.663,427.666,429.891,431.897,433.900,435.905,437.909,440.140,442.146,444.151,446.155,448.158,450.411,452.415,454.420,456.425,458.429,460.663,462.669,464.675,466.680,468.684,470.912,472.917,474.921,476.928,478.933,481.157,483.161,485.165,487.170,489.175,491.429,493.435,495.440,497.444,499.448,501.662,503.664,505.669,507.675,509.680,511.903,513.907,515.910,517.918,519.923 10 | 2.004,4.008,6.014,8.019,10.025,12.354,14.359,16.362,18.367,20.372,22.579,24.586,26.591,28.595,30.600,33.440,35.445,37.449,39.451,41.455,43.909,45.916,47.920,49.925,51.931,54.248,56.254,58.259,60.265,62.271,64.562,66.566,68.572,70.578,72.582,74.844,76.849,78.854,80.859,82.863,85.151,87.155,89.158,91.163,93.170,95.430,97.434,99.440,101.445,103.449,108.011,110.017,112.021,114.025,116.031,118.319,120.323,122.326,124.331,126.335,128.681,130.685,132.690,134.696,136.700,138.962,140.968,142.973,144.975,146.981,149.255,151.261,153.267,155.271,157.275,159.564,161.569,163.575,165.580,167.584,169.896,171.901,173.907,175.912,177.917,180.159,182.163,184.167,186.171,188.175,190.404,192.409,194.413,196.419,198.426,200.654,202.657,204.663,206.668,208.671,210.898,212.904,214.909,216.915,218.920,221.153,223.156,225.160,227.166,229.171,231.383,233.388,235.393,237.397,239.401,241.632,243.638,245.643,247.648,249.655,251.883,253.889,255.895,257.898,259.904,262.101,264.107,266.112,268.118,270.122,272.330,274.335,276.339,278.343,280.348,282.532,284.535,286.540,288.545,290.553,292.737,294.741,296.748,298.754,300.759,302.948,304.954,306.959,308.964,310.970,315.656,317.659,319.666,321.672,323.676,325.829,327.834,329.840,331.846,333.850,335.995,337.999,340.003,342.009,344.015,346.170,348.175,350.180,352.185,354.192,356.356,358.362,360.368,362.372,364.377,366.534,368.539,370.545,372.552,374.557,376.709,378.714,380.719,382.723,384.729,386.893,388.895,390.901,392.907,394.913,397.067,399.074,401.080,403.086,405.090,407.237,409.240,411.243,413.247,415.253,417.407,419.410,421.415,423.419,425.423,427.573,429.577,431.581,433.585,435.589,437.721,439.725,441.729,443.733,445.738,447.892,449.898,451.902,453.907,455.911,458.051,460.056,462.059,464.064,466.068,468.215,470.218,472.222,474.226,476.230,478.390,480.394,482.396,484.401,486.405,488.565,490.571,492.575,494.579,496.583,498.780,500.785,502.790,504.793,506.797,508.963,510.968,512.971,514.975,516.980 -------------------------------------------------------------------------------- /data/regret_analysis/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RuiShu/nn-bayesian-optimization/e98dc326344d1dc3609de5fc3eb472e06d48d6af/data/regret_analysis/__init__.py -------------------------------------------------------------------------------- /data/regret_analysis/gp_gm_7.txt: -------------------------------------------------------------------------------- 1 | Complete initial dataset acquired 2 | [[ 7.01633367e-01 -9.08142827e-01 1.67547830e-03] 3 | [ 7.53458638e-01 4.53779980e-01 4.22874531e-01] 4 | [ 6.00811296e-01 -1.00216392e-01 2.90279549e-01] 5 | [ 3.21126448e-01 -6.55372499e-01 -3.06204929e-04] 6 | [ -8.51233295e-01 -2.90344163e-01 -4.28296776e-04] 7 | [ 2.17338343e-01 7.06014108e-01 1.66406620e+00] 8 | [ -2.99959481e-01 9.63932771e-01 1.97164935e-02] 9 | [ 1.75253392e-01 -9.81051962e-01 9.30237123e-04] 10 | [ 6.07074630e-01 -9.66802839e-01 4.46149313e-04] 11 | [ 1.63909208e-01 -4.38368235e-01 6.43774945e-05] 12 | [ -2.96094241e-01 -7.89856301e-01 5.87890753e-04] 13 | [ -6.20079128e-01 -3.53002040e-01 1.63413878e-03] 14 | [ -1.61606800e-01 4.36628849e-01 1.09968296e-01] 15 | [ -5.49505698e-01 7.35075140e-01 -6.99594227e-05] 16 | [ -8.57419428e-01 6.45673304e-01 1.68745835e-03] 17 | [ -1.90521352e-01 -6.13050747e-01 2.40280160e-04] 18 | [ -7.15695704e-01 5.42084306e-01 -3.99367597e-04] 19 | [ -6.82107977e-01 5.66971310e-01 9.15474687e-04] 20 | [ 2.93356972e-01 -7.49939409e-01 4.06269459e-04] 21 | [ -2.16906785e-01 -2.78100658e-01 -5.78235240e-04] 22 | [ -1.24566610e-02 -5.00096745e-02 2.22857779e-04] 23 | [ -5.30723862e-01 3.38536379e-01 2.30414196e-05] 24 | [ -1.88284387e-01 7.70445734e-01 2.41734630e-01] 25 | [ 5.43207079e-03 -6.39426155e-01 1.99412184e-03] 26 | [ 1.67286802e-01 5.19540303e-01 1.03216686e+00] 27 | [ -8.45095606e-01 -6.43027084e-01 1.16880609e-03] 28 | [ -5.12237788e-01 -6.83419471e-01 4.62195936e-04] 29 | [ -3.75963752e-01 9.11672862e-01 8.42397877e-03] 30 | [ 4.94819947e-01 -2.14966769e-01 7.71706651e-02] 31 | [ -4.43204348e-01 1.75401949e-01 -4.02173811e-04] 32 | [ -6.61511030e-01 6.21854893e-01 -3.46430097e-04] 33 | [ -8.47244388e-01 -9.51635250e-01 -5.50908135e-04] 34 | [ 7.74202886e-01 7.89228655e-02 9.08929631e-01] 35 | [ 4.62281366e-01 -9.05582819e-01 2.44321962e-03] 36 | [ -9.54432256e-01 6.85669294e-01 -8.60593429e-04] 37 | [ 8.64138047e-01 1.01474765e-01 1.05453915e+00] 38 | [ 7.43211885e-01 8.34046477e-01 6.41619215e-01] 39 | [ 7.17823577e-01 8.24910778e-01 6.03443733e-01] 40 | [ -7.18867886e-01 1.35199132e-01 2.31725520e-03] 41 | [ -3.04501206e-01 7.66192635e-02 5.43861179e-04] 42 | [ 7.93695819e-01 -1.12943523e-01 6.02803966e-01] 43 | [ 1.19098723e-02 -2.08836323e-01 1.46138648e-04] 44 | [ -3.19558694e-01 5.64310508e-01 3.25648220e-02] 45 | [ -5.56944257e-01 6.60718175e-01 8.45941862e-04] 46 | [ -7.68947360e-01 -5.57523802e-01 1.17001573e-03] 47 | [ 4.68783725e-01 6.18373600e-01 4.44753434e-01] 48 | [ 4.80419089e-01 -5.44884446e-01 1.02830046e-03] 49 | [ -9.12294897e-01 3.96798663e-01 -1.55615331e-05] 50 | [ 3.79809979e-01 -4.70133335e-01 1.89619284e-03] 51 | [ -6.85500760e-01 7.04151189e-02 -2.58085369e-03]] 52 | optimizer.py: All expected 53 | Tasks done: 1. New data added to dataset: [[ 0.2244898 0.79591837 1.41179903]] 54 | optimizer.py: All expected 55 | Tasks done: 2. New data added to dataset: [[ 0.18367347 0.71428571 1.74930717]] 56 | optimizer.py: All expected 57 | Tasks done: 3. New data added to dataset: [[ 0.14285714 0.71428571 1.77348566]] 58 | optimizer.py: All expected 59 | Tasks done: 4. New data added to dataset: [[ 0.14285714 0.71428571 1.77451479]] 60 | optimizer.py: All expected 61 | Tasks done: 5. New data added to dataset: [[ 0.14285714 0.71428571 1.773668 ]] 62 | optimizer.py: All expected 63 | Tasks done: 6. New data added to dataset: [[ 0.14285714 0.67346939 1.75793617]] 64 | optimizer.py: All expected 65 | Tasks done: 7. New data added to dataset: [[ 0.14285714 0.71428571 1.77242267]] 66 | optimizer.py: All expected 67 | Tasks done: 8. New data added to dataset: [[ 0.14285714 0.71428571 1.77323393]] 68 | optimizer.py: All expected 69 | Tasks done: 9. New data added to dataset: [[ 0.14285714 0.71428571 1.77203399]] 70 | optimizer.py: All expected 71 | Tasks done: 10. New data added to dataset: [[ 0.14285714 0.71428571 1.77475787]] 72 | optimizer.py: All expected 73 | Tasks done: 11. New data added to dataset: [[ 0.14285714 0.71428571 1.77318503]] 74 | optimizer.py: All expected 75 | Tasks done: 12. New data added to dataset: [[ 0.14285714 0.71428571 1.77291055]] 76 | optimizer.py: All expected 77 | Tasks done: 13. New data added to dataset: [[ 0.14285714 0.71428571 1.77335629]] 78 | optimizer.py: All expected 79 | Tasks done: 14. New data added to dataset: [[ 0.14285714 0.71428571 1.77298453]] 80 | optimizer.py: All expected 81 | Tasks done: 15. New data added to dataset: [[ 0.14285714 0.71428571 1.77319136]] 82 | optimizer.py: All expected 83 | Tasks done: 16. New data added to dataset: [[ 0.14285714 0.71428571 1.77350307]] 84 | optimizer.py: All expected 85 | Tasks done: 17. New data added to dataset: [[ 0.14285714 0.71428571 1.77351068]] 86 | optimizer.py: All expected 87 | Tasks done: 18. New data added to dataset: [[ 0.14285714 0.71428571 1.77208209]] 88 | optimizer.py: All expected 89 | Tasks done: 19. New data added to dataset: [[ 0.14285714 0.71428571 1.77500775]] 90 | optimizer.py: All expected 91 | Tasks done: 20. New data added to dataset: [[ 0.14285714 0.71428571 1.77219023]] 92 | optimizer.py: All expected 93 | Tasks done: 21. New data added to dataset: [[ 0.14285714 0.71428571 1.77348792]] 94 | optimizer.py: All expected 95 | Tasks done: 22. New data added to dataset: [[ 0.14285714 0.71428571 1.77287721]] 96 | optimizer.py: All expected 97 | Tasks done: 23. New data added to dataset: [[ 0.14285714 0.71428571 1.7726083 ]] 98 | optimizer.py: All expected 99 | Tasks done: 24. New data added to dataset: [[ 0.14285714 0.71428571 1.77214528]] 100 | optimizer.py: All expected 101 | Tasks done: 25. New data added to dataset: [[ 0.14285714 0.71428571 1.77356477]] 102 | optimizer.py: All expected 103 | Tasks done: 26. New data added to dataset: [[ 0.14285714 0.71428571 1.77384516]] 104 | optimizer.py: All expected 105 | Tasks done: 27. New data added to dataset: [[ 0.14285714 0.71428571 1.77513115]] 106 | optimizer.py: All expected 107 | Tasks done: 28. New data added to dataset: [[ 0.14285714 0.71428571 1.77293752]] 108 | optimizer.py: All expected 109 | Tasks done: 29. New data added to dataset: [[ 0.14285714 0.71428571 1.7734619 ]] 110 | optimizer.py: All expected 111 | Tasks done: 30. New data added to dataset: [[ 0.14285714 0.71428571 1.77257108]] 112 | optimizer.py: All expected 113 | Tasks done: 31. New data added to dataset: [[ 0.14285714 0.71428571 1.77331991]] 114 | optimizer.py: All expected 115 | Tasks done: 32. New data added to dataset: [[ 0.14285714 0.71428571 1.77390568]] 116 | optimizer.py: All expected 117 | Tasks done: 33. New data added to dataset: [[ 0.14285714 0.71428571 1.77317542]] 118 | optimizer.py: All expected 119 | Tasks done: 34. New data added to dataset: [[ 0.14285714 0.71428571 1.77211449]] 120 | optimizer.py: All expected 121 | Tasks done: 35. New data added to dataset: [[ 0.14285714 0.71428571 1.77267933]] 122 | optimizer.py: All expected 123 | Tasks done: 36. New data added to dataset: [[ 0.14285714 0.71428571 1.7720356 ]] 124 | optimizer.py: All expected 125 | Tasks done: 37. New data added to dataset: [[ 0.14285714 0.71428571 1.77240084]] 126 | optimizer.py: All expected 127 | Tasks done: 38. New data added to dataset: [[ 0.14285714 0.71428571 1.77335381]] 128 | optimizer.py: All expected 129 | Tasks done: 39. New data added to dataset: [[ 0.14285714 0.71428571 1.77416436]] 130 | optimizer.py: All expected 131 | Tasks done: 40. New data added to dataset: [[ 0.14285714 0.71428571 1.7740197 ]] 132 | optimizer.py: All expected 133 | Tasks done: 41. New data added to dataset: [[ 0.14285714 0.71428571 1.77311262]] 134 | optimizer.py: All expected 135 | Tasks done: 42. New data added to dataset: [[ 0.14285714 0.71428571 1.77445938]] 136 | optimizer.py: All expected 137 | Tasks done: 43. New data added to dataset: [[ 0.14285714 0.71428571 1.7727646 ]] 138 | optimizer.py: All expected 139 | Tasks done: 44. New data added to dataset: [[ 0.14285714 0.71428571 1.77435273]] 140 | optimizer.py: All expected 141 | Tasks done: 45. New data added to dataset: [[ 0.14285714 0.71428571 1.77517388]] 142 | optimizer.py: All expected 143 | Tasks done: 46. New data added to dataset: [[ 0.14285714 0.71428571 1.77301197]] 144 | optimizer.py: All expected 145 | Tasks done: 47. New data added to dataset: [[ 0.14285714 0.71428571 1.77186704]] 146 | optimizer.py: All expected 147 | Tasks done: 48. New data added to dataset: [[ 0.14285714 0.71428571 1.77181281]] 148 | optimizer.py: All expected 149 | Tasks done: 49. New data added to dataset: [[ 0.14285714 0.71428571 1.77498706]] 150 | optimizer.py: All expected 151 | Tasks done: 50. New data added to dataset: [[ 0.14285714 0.71428571 1.77219313]] 152 | optimizer.py: All expected 153 | Tasks done: 51. New data added to dataset: [[ 0.14285714 0.71428571 1.77411336]] 154 | optimizer.py: All expected 155 | Tasks done: 52. New data added to dataset: [[ 0.14285714 0.71428571 1.77302646]] 156 | optimizer.py: All expected 157 | Tasks done: 53. New data added to dataset: [[ 0.14285714 0.71428571 1.77086059]] 158 | optimizer.py: All expected 159 | Tasks done: 54. New data added to dataset: [[ 0.14285714 0.71428571 1.77279619]] 160 | optimizer.py: All expected 161 | Tasks done: 55. New data added to dataset: [[ 0.14285714 0.71428571 1.77358017]] 162 | optimizer.py: All expected 163 | Tasks done: 56. New data added to dataset: [[ 0.14285714 0.71428571 1.77202918]] 164 | optimizer.py: All expected 165 | Tasks done: 57. New data added to dataset: [[ 0.14285714 0.71428571 1.7725252 ]] 166 | optimizer.py: All expected 167 | Tasks done: 58. New data added to dataset: [[ 0.14285714 0.71428571 1.77353143]] 168 | optimizer.py: All expected 169 | Tasks done: 59. New data added to dataset: [[ 0.14285714 0.71428571 1.77207075]] 170 | optimizer.py: All expected 171 | Tasks done: 60. New data added to dataset: [[ 0.14285714 0.71428571 1.77514574]] 172 | optimizer.py: All expected 173 | Tasks done: 61. New data added to dataset: [[ 0.14285714 0.71428571 1.77376093]] 174 | optimizer.py: All expected 175 | Tasks done: 62. New data added to dataset: [[ 0.14285714 0.71428571 1.77365555]] 176 | optimizer.py: All expected 177 | Tasks done: 63. New data added to dataset: [[ 0.14285714 0.71428571 1.77452468]] 178 | optimizer.py: All expected 179 | Tasks done: 64. New data added to dataset: [[ 0.14285714 0.71428571 1.77335511]] 180 | optimizer.py: All expected 181 | Tasks done: 65. New data added to dataset: [[ 0.14285714 0.71428571 1.77413686]] 182 | optimizer.py: All expected 183 | Tasks done: 66. New data added to dataset: [[ 0.14285714 0.71428571 1.77358226]] 184 | optimizer.py: All expected 185 | Tasks done: 67. New data added to dataset: [[ 0.14285714 0.71428571 1.77224476]] 186 | optimizer.py: All expected 187 | Tasks done: 68. New data added to dataset: [[ 0.14285714 0.71428571 1.77268723]] 188 | optimizer.py: All expected 189 | Tasks done: 69. New data added to dataset: [[ 0.14285714 0.71428571 1.77360457]] 190 | optimizer.py: All expected 191 | Tasks done: 70. New data added to dataset: [[ 0.14285714 0.71428571 1.77392595]] 192 | optimizer.py: All expected 193 | Tasks done: 71. New data added to dataset: [[ 0.14285714 0.71428571 1.77237262]] 194 | optimizer.py: All expected 195 | Tasks done: 72. New data added to dataset: [[ 0.14285714 0.71428571 1.77135057]] 196 | optimizer.py: All expected 197 | Tasks done: 73. New data added to dataset: [[ 0.14285714 0.71428571 1.77211435]] 198 | optimizer.py: All expected 199 | Tasks done: 74. New data added to dataset: [[ 0.14285714 0.71428571 1.77321382]] 200 | optimizer.py: All expected 201 | Tasks done: 75. New data added to dataset: [[ 0.14285714 0.71428571 1.77416664]] 202 | optimizer.py: All expected 203 | Tasks done: 76. New data added to dataset: [[ 0.14285714 0.71428571 1.77379168]] 204 | optimizer.py: All expected 205 | Tasks done: 77. New data added to dataset: [[ 0.14285714 0.71428571 1.77352105]] 206 | optimizer.py: All expected 207 | Tasks done: 78. New data added to dataset: [[ 0.14285714 0.71428571 1.77514553]] 208 | optimizer.py: All expected 209 | Tasks done: 79. New data added to dataset: [[ 0.14285714 0.71428571 1.77394498]] 210 | optimizer.py: All expected 211 | Tasks done: 80. New data added to dataset: [[ 0.14285714 0.71428571 1.77229251]] 212 | optimizer.py: All expected 213 | Tasks done: 81. New data added to dataset: [[ 0.14285714 0.71428571 1.77440254]] 214 | optimizer.py: All expected 215 | Tasks done: 82. New data added to dataset: [[ 0.14285714 0.71428571 1.7730291 ]] 216 | optimizer.py: All expected 217 | Tasks done: 83. New data added to dataset: [[ 0.14285714 0.71428571 1.77425098]] 218 | optimizer.py: All expected 219 | Tasks done: 84. New data added to dataset: [[ 0.14285714 0.71428571 1.77261913]] 220 | optimizer.py: All expected 221 | Tasks done: 85. New data added to dataset: [[ 0.14285714 0.71428571 1.77441504]] 222 | optimizer.py: All expected 223 | Tasks done: 86. New data added to dataset: [[ 0.14285714 0.71428571 1.77285646]] 224 | optimizer.py: All expected 225 | Tasks done: 87. New data added to dataset: [[ 0.14285714 0.71428571 1.77350493]] 226 | optimizer.py: All expected 227 | Tasks done: 88. New data added to dataset: [[ 0.14285714 0.71428571 1.77317203]] 228 | optimizer.py: All expected 229 | Tasks done: 89. New data added to dataset: [[ 0.14285714 0.71428571 1.77481325]] 230 | optimizer.py: All expected 231 | Tasks done: 90. New data added to dataset: [[ 0.14285714 0.71428571 1.77402841]] 232 | optimizer.py: All expected 233 | Tasks done: 91. New data added to dataset: [[ 0.14285714 0.71428571 1.77112627]] 234 | optimizer.py: All expected 235 | Tasks done: 92. New data added to dataset: [[ 0.14285714 0.71428571 1.77215519]] 236 | optimizer.py: All expected 237 | Tasks done: 93. New data added to dataset: [[ 0.14285714 0.71428571 1.77359442]] 238 | optimizer.py: All expected 239 | Tasks done: 94. New data added to dataset: [[ 0.14285714 0.71428571 1.77304514]] 240 | optimizer.py: All expected 241 | Tasks done: 95. New data added to dataset: [[ 0.14285714 0.71428571 1.77275985]] 242 | optimizer.py: All expected 243 | Tasks done: 96. New data added to dataset: [[ 0.14285714 0.71428571 1.7737152 ]] 244 | optimizer.py: All expected 245 | Tasks done: 97. New data added to dataset: [[ 0.14285714 0.71428571 1.77328841]] 246 | optimizer.py: All expected 247 | Tasks done: 98. New data added to dataset: [[ 0.14285714 0.71428571 1.77490125]] 248 | optimizer.py: All expected 249 | Tasks done: 99. New data added to dataset: [[ 0.14285714 0.71428571 1.77191621]] 250 | optimizer.py: All expected 251 | Tasks done: 100. New data added to dataset: [[ 0.14285714 0.71428571 1.77491083]] 252 | optimizer.py: All expected 253 | Tasks done: 101. New data added to dataset: [[ 0.14285714 0.71428571 1.77311216]] 254 | optimizer.py: All expected 255 | Tasks done: 102. New data added to dataset: [[ 0.14285714 0.71428571 1.77009784]] 256 | optimizer.py: All expected 257 | Tasks done: 103. New data added to dataset: [[ 0.14285714 0.71428571 1.77342212]] 258 | optimizer.py: All expected 259 | Tasks done: 104. New data added to dataset: [[ 0.14285714 0.71428571 1.7732284 ]] 260 | optimizer.py: All expected 261 | Tasks done: 105. New data added to dataset: [[ 0.14285714 0.71428571 1.77441724]] 262 | optimizer.py: All expected 263 | Tasks done: 106. New data added to dataset: [[ 0.14285714 0.71428571 1.77381959]] 264 | optimizer.py: All expected 265 | Tasks done: 107. New data added to dataset: [[ 0.14285714 0.71428571 1.77279098]] 266 | optimizer.py: All expected 267 | Tasks done: 108. New data added to dataset: [[ 0.14285714 0.71428571 1.77129037]] 268 | optimizer.py: All expected 269 | Tasks done: 109. New data added to dataset: [[ 0.14285714 0.71428571 1.77458718]] 270 | optimizer.py: All expected 271 | Tasks done: 110. New data added to dataset: [[ 0.14285714 0.71428571 1.77378267]] 272 | optimizer.py: All expected 273 | Tasks done: 111. New data added to dataset: [[ 0.14285714 0.71428571 1.77463784]] 274 | optimizer.py: All expected 275 | Tasks done: 112. New data added to dataset: [[ 0.14285714 0.71428571 1.77262447]] 276 | optimizer.py: All expected 277 | Tasks done: 113. New data added to dataset: [[ 0.14285714 0.71428571 1.77338601]] 278 | optimizer.py: All expected 279 | Tasks done: 114. New data added to dataset: [[ 0.14285714 0.71428571 1.77369417]] 280 | optimizer.py: All expected 281 | Tasks done: 115. New data added to dataset: [[ 0.14285714 0.71428571 1.77464053]] 282 | optimizer.py: All expected 283 | Tasks done: 116. New data added to dataset: [[ 0.14285714 0.71428571 1.77152969]] 284 | optimizer.py: All expected 285 | Tasks done: 117. New data added to dataset: [[ 0.14285714 0.71428571 1.77263462]] 286 | optimizer.py: All expected 287 | Tasks done: 118. New data added to dataset: [[ 0.14285714 0.71428571 1.77238681]] 288 | optimizer.py: All expected 289 | Tasks done: 119. New data added to dataset: [[ 0.14285714 0.71428571 1.77133739]] 290 | optimizer.py: All expected 291 | Tasks done: 120. New data added to dataset: [[ 0.14285714 0.71428571 1.77473565]] 292 | optimizer.py: All expected 293 | Tasks done: 121. New data added to dataset: [[ 0.14285714 0.71428571 1.77228476]] 294 | optimizer.py: All expected 295 | Tasks done: 122. New data added to dataset: [[ 0.14285714 0.71428571 1.77227148]] 296 | optimizer.py: All expected 297 | -------------------------------------------------------------------------------- /data/regret_analysis/gp_gp_1.txt: -------------------------------------------------------------------------------- 1 | Complete initial dataset acquired 2 | [[ -5.92637150e-02 8.59581910e-01] 3 | [ -2.48642561e-01 3.46180075e+00] 4 | [ 1.90686301e-01 -1.56174737e+00] 5 | [ 2.67045918e-02 -3.44336144e-01] 6 | [ 2.91348255e-02 -3.76086702e-01] 7 | [ 4.84861319e-01 -6.64853373e-02] 8 | [ -3.43583200e-01 3.73104634e+00] 9 | [ 4.04905324e-01 -7.31786241e-01] 10 | [ 7.70711671e-01 -2.23569820e+00] 11 | [ -4.55759380e-01 1.76336511e+00] 12 | [ 9.96336111e-01 -1.97748564e+01] 13 | [ 4.71808814e-01 -2.01662174e-01] 14 | [ -6.31564433e-01 -9.88465189e+00] 15 | [ -3.33295493e-01 3.75810376e+00] 16 | [ -9.72453188e-01 -8.98239076e+01] 17 | [ 3.47105448e-01 -1.16091047e+00] 18 | [ -8.81996834e-01 -5.84226581e+01] 19 | [ -8.30384327e-02 1.20450527e+00] 20 | [ 1.34675346e-01 -1.34378113e+00] 21 | [ 4.76166075e-01 -1.63052317e-01] 22 | [ 7.34127045e-01 -1.15200769e+00] 23 | [ -9.92404502e-01 -9.80044208e+01] 24 | [ -8.41820110e-01 -4.71850276e+01] 25 | [ 3.98282743e-01 -7.78912972e-01] 26 | [ -1.58169395e-01 2.38474491e+00] 27 | [ 9.98452233e-05 9.15368752e-03] 28 | [ -2.45699099e-01 3.42182372e+00] 29 | [ -2.78762452e-02 3.99272746e-01] 30 | [ -1.27034660e-01 1.90442051e+00] 31 | [ -6.45481445e-01 -1.14270929e+01] 32 | [ 7.00026357e-01 -4.49147299e-01] 33 | [ 4.13636724e-01 -6.84469985e-01] 34 | [ 6.32485944e-01 2.54676478e-01] 35 | [ 3.57197493e-02 -4.45138715e-01] 36 | [ -3.30723089e-01 3.76913463e+00] 37 | [ -8.11775967e-01 -3.97621650e+01] 38 | [ -5.56353321e-01 -3.28997613e+00] 39 | [ 8.30657856e-01 -4.85698805e+00] 40 | [ 1.98970943e-01 -1.59282908e+00] 41 | [ 8.61862418e-01 -6.71982670e+00] 42 | [ -9.49489862e-01 -8.09953062e+01] 43 | [ 4.45277793e-01 -4.19098707e-01] 44 | [ 3.66122902e-01 -1.04473536e+00] 45 | [ 4.43320459e-01 -4.20395715e-01] 46 | [ 3.01142542e-01 -1.42657198e+00] 47 | [ 7.45937295e-01 -1.46144314e+00] 48 | [ 4.09710473e-01 -6.91042073e-01] 49 | [ -3.89396119e-01 3.27918445e+00] 50 | [ -5.19758510e-01 -1.00670149e+00] 51 | [ 5.62497782e-01 2.99631753e-01]] 52 | optimizer.py: All expected 53 | Tasks done: 1. New data added to dataset: [[-0.31572629 3.76588833]] 54 | optimizer.py: All expected 55 | Tasks done: 2. New data added to dataset: [[-0.31572629 3.7851203 ]] 56 | optimizer.py: All expected 57 | Tasks done: 3. New data added to dataset: [[-0.31572629 3.78111911]] 58 | optimizer.py: All expected 59 | Tasks done: 4. New data added to dataset: [[-0.31572629 3.76538738]] 60 | optimizer.py: All expected 61 | Tasks done: 5. New data added to dataset: [[-0.31572629 3.7939861 ]] 62 | optimizer.py: All expected 63 | Tasks done: 6. New data added to dataset: [[-0.31572629 3.77855303]] 64 | optimizer.py: All expected 65 | Tasks done: 7. New data added to dataset: [[-0.31492597 3.79238569]] 66 | optimizer.py: All expected 67 | Tasks done: 8. New data added to dataset: [[-0.31492597 3.7760767 ]] 68 | optimizer.py: All expected 69 | Tasks done: 9. New data added to dataset: [[-0.31572629 3.77856763]] 70 | optimizer.py: All expected 71 | Tasks done: 10. New data added to dataset: [[-0.31492597 3.7660407 ]] 72 | optimizer.py: All expected 73 | Tasks done: 11. New data added to dataset: [[-0.31572629 3.77325943]] 74 | optimizer.py: All expected 75 | Tasks done: 12. New data added to dataset: [[-0.31572629 3.77832833]] 76 | optimizer.py: All expected 77 | Tasks done: 13. New data added to dataset: [[-0.31572629 3.77260461]] 78 | optimizer.py: All expected 79 | Tasks done: 14. New data added to dataset: [[-0.31572629 3.79356344]] 80 | optimizer.py: All expected 81 | Tasks done: 15. New data added to dataset: [[-0.31492597 3.76702897]] 82 | optimizer.py: All expected 83 | Tasks done: 16. New data added to dataset: [[-0.31492597 3.76742156]] 84 | optimizer.py: All expected 85 | Tasks done: 17. New data added to dataset: [[-0.31492597 3.78048299]] 86 | optimizer.py: All expected 87 | Tasks done: 18. New data added to dataset: [[-0.31572629 3.78436379]] 88 | optimizer.py: All expected 89 | Tasks done: 19. New data added to dataset: [[-0.31492597 3.76164962]] 90 | optimizer.py: All expected 91 | Tasks done: 20. New data added to dataset: [[-0.31572629 3.77481303]] 92 | optimizer.py: All expected 93 | Tasks done: 21. New data added to dataset: [[-0.31572629 3.77362614]] 94 | optimizer.py: All expected 95 | Tasks done: 22. New data added to dataset: [[-0.31492597 3.77026834]] 96 | optimizer.py: All expected 97 | Tasks done: 23. New data added to dataset: [[-0.31492597 3.76376983]] 98 | optimizer.py: All expected 99 | Tasks done: 24. New data added to dataset: [[-0.31572629 3.78862183]] 100 | optimizer.py: All expected 101 | Tasks done: 25. New data added to dataset: [[-0.31572629 3.77909641]] 102 | optimizer.py: All expected 103 | Tasks done: 26. New data added to dataset: [[-0.31492597 3.77631018]] 104 | optimizer.py: All expected 105 | Tasks done: 27. New data added to dataset: [[-0.31572629 3.78159508]] 106 | optimizer.py: All expected 107 | Tasks done: 28. New data added to dataset: [[-0.31572629 3.78288587]] 108 | optimizer.py: All expected 109 | Tasks done: 29. New data added to dataset: [[-0.31572629 3.78100512]] 110 | optimizer.py: All expected 111 | Tasks done: 30. New data added to dataset: [[-0.31572629 3.78094858]] 112 | optimizer.py: All expected 113 | Tasks done: 31. New data added to dataset: [[-0.31572629 3.76264923]] 114 | optimizer.py: All expected 115 | Tasks done: 32. New data added to dataset: [[-0.31572629 3.7843538 ]] 116 | optimizer.py: All expected 117 | Tasks done: 33. New data added to dataset: [[-0.31492597 3.77827026]] 118 | optimizer.py: All expected 119 | Tasks done: 34. New data added to dataset: [[-0.31572629 3.77897465]] 120 | optimizer.py: All expected 121 | Tasks done: 35. New data added to dataset: [[-0.31572629 3.76138121]] 122 | optimizer.py: All expected 123 | Tasks done: 36. New data added to dataset: [[-0.31572629 3.77133122]] 124 | optimizer.py: All expected 125 | Tasks done: 37. New data added to dataset: [[-0.31572629 3.76286582]] 126 | optimizer.py: All expected 127 | Tasks done: 38. New data added to dataset: [[-0.31572629 3.78419147]] 128 | optimizer.py: All expected 129 | Tasks done: 39. New data added to dataset: [[-0.31572629 3.76935052]] 130 | optimizer.py: All expected 131 | Tasks done: 40. New data added to dataset: [[-0.31572629 3.76923769]] 132 | optimizer.py: All expected 133 | Tasks done: 41. New data added to dataset: [[-0.31572629 3.77309976]] 134 | optimizer.py: All expected 135 | Tasks done: 42. New data added to dataset: [[-0.31572629 3.78245195]] 136 | optimizer.py: All expected 137 | Tasks done: 43. New data added to dataset: [[-0.31572629 3.77337046]] 138 | optimizer.py: All expected 139 | Tasks done: 44. New data added to dataset: [[-0.31572629 3.75989129]] 140 | optimizer.py: All expected 141 | Tasks done: 45. New data added to dataset: [[-0.31572629 3.77251338]] 142 | optimizer.py: All expected 143 | Tasks done: 46. New data added to dataset: [[-0.31572629 3.77365033]] 144 | optimizer.py: All expected 145 | Tasks done: 47. New data added to dataset: [[-0.31572629 3.77032179]] 146 | optimizer.py: All expected 147 | Tasks done: 48. New data added to dataset: [[-0.31572629 3.78240014]] 148 | optimizer.py: All expected 149 | Tasks done: 49. New data added to dataset: [[-0.31572629 3.77402925]] 150 | optimizer.py: All expected 151 | Tasks done: 50. New data added to dataset: [[-0.31572629 3.78450926]] 152 | optimizer.py: All expected 153 | Tasks done: 51. New data added to dataset: [[-0.31572629 3.77324652]] 154 | optimizer.py: All expected 155 | Tasks done: 52. New data added to dataset: [[-0.31572629 3.77765425]] 156 | optimizer.py: All expected 157 | Tasks done: 53. New data added to dataset: [[-0.31492597 3.76932265]] 158 | optimizer.py: All expected 159 | Tasks done: 54. New data added to dataset: [[-0.31492597 3.76660444]] 160 | optimizer.py: All expected 161 | Tasks done: 55. New data added to dataset: [[-0.31572629 3.77282494]] 162 | optimizer.py: All expected 163 | Tasks done: 56. New data added to dataset: [[-0.31572629 3.77600338]] 164 | optimizer.py: All expected 165 | Tasks done: 57. New data added to dataset: [[-0.31492597 3.76484744]] 166 | optimizer.py: All expected 167 | Tasks done: 58. New data added to dataset: [[-0.31572629 3.78038415]] 168 | optimizer.py: All expected 169 | Tasks done: 59. New data added to dataset: [[-0.31572629 3.77945794]] 170 | optimizer.py: All expected 171 | Tasks done: 60. New data added to dataset: [[-0.31572629 3.77295777]] 172 | optimizer.py: All expected 173 | Tasks done: 61. New data added to dataset: [[-0.31572629 3.7894791 ]] 174 | optimizer.py: All expected 175 | Tasks done: 62. New data added to dataset: [[-0.31572629 3.75513869]] 176 | optimizer.py: All expected 177 | Tasks done: 63. New data added to dataset: [[-0.31572629 3.78375709]] 178 | optimizer.py: All expected 179 | Tasks done: 64. New data added to dataset: [[-0.31492597 3.78342094]] 180 | optimizer.py: All expected 181 | Tasks done: 65. New data added to dataset: [[-0.31492597 3.75615399]] 182 | optimizer.py: All expected 183 | Tasks done: 66. New data added to dataset: [[-0.31572629 3.75628812]] 184 | optimizer.py: All expected 185 | Tasks done: 67. New data added to dataset: [[-0.31572629 3.76407639]] 186 | optimizer.py: All expected 187 | Tasks done: 68. New data added to dataset: [[-0.31492597 3.78243363]] 188 | optimizer.py: All expected 189 | Tasks done: 69. New data added to dataset: [[-0.31572629 3.7819045 ]] 190 | optimizer.py: All expected 191 | Tasks done: 70. New data added to dataset: [[-0.31572629 3.77908257]] 192 | optimizer.py: All expected 193 | Tasks done: 71. New data added to dataset: [[-0.31572629 3.78785166]] 194 | optimizer.py: All expected 195 | Tasks done: 72. New data added to dataset: [[-0.31572629 3.79437434]] 196 | optimizer.py: All expected 197 | Tasks done: 73. New data added to dataset: [[-0.31652661 3.76289226]] 198 | optimizer.py: All expected 199 | Tasks done: 74. New data added to dataset: [[-0.31572629 3.7736189 ]] 200 | optimizer.py: All expected 201 | Tasks done: 75. New data added to dataset: [[-0.31572629 3.77918396]] 202 | optimizer.py: All expected 203 | Tasks done: 76. New data added to dataset: [[-0.31572629 3.788034 ]] 204 | optimizer.py: All expected 205 | Tasks done: 77. New data added to dataset: [[-0.31572629 3.77066646]] 206 | optimizer.py: All expected 207 | Tasks done: 78. New data added to dataset: [[-0.31492597 3.78362647]] 208 | optimizer.py: All expected 209 | Tasks done: 79. New data added to dataset: [[-0.31572629 3.79434975]] 210 | optimizer.py: All expected 211 | Tasks done: 80. New data added to dataset: [[-0.31492597 3.7886894 ]] 212 | optimizer.py: All expected 213 | Tasks done: 81. New data added to dataset: [[-0.31572629 3.76568302]] 214 | optimizer.py: All expected 215 | Tasks done: 82. New data added to dataset: [[-0.31572629 3.77453895]] 216 | optimizer.py: All expected 217 | Tasks done: 83. New data added to dataset: [[-0.31572629 3.78322816]] 218 | optimizer.py: All expected 219 | Tasks done: 84. New data added to dataset: [[-0.31572629 3.78296319]] 220 | optimizer.py: All expected 221 | Tasks done: 85. New data added to dataset: [[-0.31572629 3.77728782]] 222 | optimizer.py: All expected 223 | Tasks done: 86. New data added to dataset: [[-0.31572629 3.7775403 ]] 224 | optimizer.py: All expected 225 | Tasks done: 87. New data added to dataset: [[-0.31572629 3.78364525]] 226 | optimizer.py: All expected 227 | Tasks done: 88. New data added to dataset: [[-0.31492597 3.77536318]] 228 | optimizer.py: All expected 229 | Tasks done: 89. New data added to dataset: [[-0.31572629 3.77547068]] 230 | optimizer.py: All expected 231 | Tasks done: 90. New data added to dataset: [[-0.31572629 3.79217272]] 232 | optimizer.py: All expected 233 | Tasks done: 91. New data added to dataset: [[-0.31572629 3.77144568]] 234 | optimizer.py: All expected 235 | Tasks done: 92. New data added to dataset: [[-0.31572629 3.77469433]] 236 | optimizer.py: All expected 237 | Tasks done: 93. New data added to dataset: [[-0.31572629 3.77306526]] 238 | optimizer.py: All expected 239 | Tasks done: 94. New data added to dataset: [[-0.31572629 3.78135555]] 240 | optimizer.py: All expected 241 | Tasks done: 95. New data added to dataset: [[-0.31572629 3.79726362]] 242 | optimizer.py: All expected 243 | Tasks done: 96. New data added to dataset: [[-0.31572629 3.7775685 ]] 244 | optimizer.py: All expected 245 | Tasks done: 97. New data added to dataset: [[-0.31572629 3.79893085]] 246 | optimizer.py: All expected 247 | Tasks done: 98. New data added to dataset: [[-0.31572629 3.76706152]] 248 | optimizer.py: All expected 249 | Tasks done: 99. New data added to dataset: [[-0.31572629 3.77974282]] 250 | optimizer.py: All expected 251 | Tasks done: 100. New data added to dataset: [[-0.31572629 3.77533539]] 252 | optimizer.py: All expected 253 | Tasks done: 101. New data added to dataset: [[-0.31492597 3.77151417]] 254 | optimizer.py: All expected 255 | Tasks done: 102. New data added to dataset: [[-0.31572629 3.78340569]] 256 | optimizer.py: All expected 257 | Tasks done: 103. New data added to dataset: [[-0.31572629 3.77566965]] 258 | optimizer.py: All expected 259 | Tasks done: 104. New data added to dataset: [[-0.31492597 3.77505641]] 260 | optimizer.py: All expected 261 | Tasks done: 105. New data added to dataset: [[-0.31572629 3.79187948]] 262 | optimizer.py: All expected 263 | Tasks done: 106. New data added to dataset: [[-0.31572629 3.77657842]] 264 | optimizer.py: All expected 265 | Tasks done: 107. New data added to dataset: [[-0.31572629 3.7844084 ]] 266 | optimizer.py: All expected 267 | Tasks done: 108. New data added to dataset: [[-0.31572629 3.77609293]] 268 | optimizer.py: All expected 269 | Tasks done: 109. New data added to dataset: [[-0.31572629 3.77736292]] 270 | optimizer.py: All expected 271 | Tasks done: 110. New data added to dataset: [[-0.31572629 3.77365418]] 272 | optimizer.py: All expected 273 | Tasks done: 111. New data added to dataset: [[-0.31492597 3.76621154]] 274 | optimizer.py: All expected 275 | Tasks done: 112. New data added to dataset: [[-0.31572629 3.78413046]] 276 | optimizer.py: All expected 277 | Tasks done: 113. New data added to dataset: [[-0.31572629 3.77306649]] 278 | optimizer.py: All expected 279 | Tasks done: 114. New data added to dataset: [[-0.31492597 3.77309996]] 280 | optimizer.py: All expected 281 | Tasks done: 115. New data added to dataset: [[-0.31572629 3.76822746]] 282 | optimizer.py: All expected 283 | Tasks done: 116. New data added to dataset: [[-0.31492597 3.77925136]] 284 | optimizer.py: All expected 285 | Tasks done: 117. New data added to dataset: [[-0.31572629 3.76449458]] 286 | optimizer.py: All expected 287 | Tasks done: 118. New data added to dataset: [[-0.31572629 3.77224308]] 288 | optimizer.py: All expected 289 | Tasks done: 119. New data added to dataset: [[-0.31572629 3.76785006]] 290 | optimizer.py: All expected 291 | Tasks done: 120. New data added to dataset: [[-0.31572629 3.76881748]] 292 | optimizer.py: All expected 293 | Tasks done: 121. New data added to dataset: [[-0.31492597 3.78029825]] 294 | optimizer.py: All expected 295 | Tasks done: 122. New data added to dataset: [[-0.31572629 3.77451175]] 296 | optimizer.py: All expected 297 | Tasks done: 123. New data added to dataset: [[-0.31572629 3.76437088]] 298 | optimizer.py: All expected 299 | Tasks done: 124. New data added to dataset: [[-0.31572629 3.78538349]] 300 | optimizer.py: All expected 301 | Tasks done: 125. New data added to dataset: [[-0.31572629 3.77111173]] 302 | optimizer.py: All expected 303 | Tasks done: 126. New data added to dataset: [[-0.31492597 3.78314762]] 304 | optimizer.py: All expected 305 | Tasks done: 127. New data added to dataset: [[-0.31572629 3.77913639]] 306 | optimizer.py: All expected 307 | Tasks done: 128. New data added to dataset: [[-0.31572629 3.76414315]] 308 | optimizer.py: All expected 309 | Tasks done: 129. New data added to dataset: [[-0.31572629 3.76844535]] 310 | optimizer.py: All expected 311 | Tasks done: 130. New data added to dataset: [[-0.31572629 3.74864464]] 312 | optimizer.py: All expected 313 | Tasks done: 131. New data added to dataset: [[-0.31572629 3.77362393]] 314 | optimizer.py: All expected 315 | Tasks done: 132. New data added to dataset: [[-0.31492597 3.776719 ]] 316 | optimizer.py: All expected 317 | Tasks done: 133. New data added to dataset: [[-0.31572629 3.77752996]] 318 | optimizer.py: All expected 319 | Tasks done: 134. New data added to dataset: [[-0.31572629 3.76023384]] 320 | optimizer.py: All expected 321 | Tasks done: 135. New data added to dataset: [[-0.31492597 3.77397722]] 322 | optimizer.py: All expected 323 | Tasks done: 136. New data added to dataset: [[-0.31572629 3.77889613]] 324 | optimizer.py: All expected 325 | Tasks done: 137. New data added to dataset: [[-0.31572629 3.76498605]] 326 | optimizer.py: All expected 327 | Tasks done: 138. New data added to dataset: [[-0.31572629 3.77319883]] 328 | optimizer.py: All expected 329 | Tasks done: 139. New data added to dataset: [[-0.31572629 3.78407988]] 330 | optimizer.py: All expected 331 | Tasks done: 140. New data added to dataset: [[-0.31572629 3.78176236]] 332 | optimizer.py: All expected 333 | Tasks done: 141. New data added to dataset: [[-0.31572629 3.76317451]] 334 | optimizer.py: All expected 335 | Tasks done: 142. New data added to dataset: [[-0.31572629 3.79664165]] 336 | optimizer.py: All expected 337 | Tasks done: 143. New data added to dataset: [[-0.31572629 3.78752428]] 338 | optimizer.py: All expected 339 | Tasks done: 144. New data added to dataset: [[-0.31492597 3.77621838]] 340 | optimizer.py: All expected 341 | Tasks done: 145. New data added to dataset: [[-0.31572629 3.77207184]] 342 | optimizer.py: All expected 343 | Tasks done: 146. New data added to dataset: [[-0.31492597 3.76585812]] 344 | optimizer.py: All expected 345 | Tasks done: 147. New data added to dataset: [[-0.31492597 3.76549034]] 346 | optimizer.py: All expected 347 | Tasks done: 148. New data added to dataset: [[-0.31572629 3.76477614]] 348 | optimizer.py: All expected 349 | Tasks done: 149. New data added to dataset: [[-0.31572629 3.79469237]] 350 | optimizer.py: All expected 351 | Tasks done: 150. New data added to dataset: [[-0.31492597 3.77339503]] 352 | optimizer.py: All expected 353 | Tasks done: 151. New data added to dataset: [[-0.31572629 3.77422866]] 354 | optimizer.py: All expected 355 | Tasks done: 152. New data added to dataset: [[-0.31572629 3.7619551 ]] 356 | optimizer.py: All expected 357 | Tasks done: 153. New data added to dataset: [[-0.31572629 3.77095855]] 358 | optimizer.py: All expected 359 | Tasks done: 154. New data added to dataset: [[-0.31572629 3.79564385]] 360 | optimizer.py: All expected 361 | Tasks done: 155. New data added to dataset: [[-0.31492597 3.79574703]] 362 | optimizer.py: All expected 363 | Tasks done: 156. New data added to dataset: [[-0.31492597 3.77640659]] 364 | optimizer.py: All expected 365 | Tasks done: 157. New data added to dataset: [[-0.31572629 3.77034302]] 366 | optimizer.py: All expected 367 | Tasks done: 158. New data added to dataset: [[-0.31572629 3.79237053]] 368 | optimizer.py: All expected 369 | Tasks done: 159. New data added to dataset: [[-0.31492597 3.76231683]] 370 | optimizer.py: All expected 371 | Tasks done: 160. New data added to dataset: [[-0.31652661 3.78594823]] 372 | optimizer.py: All expected 373 | Tasks done: 161. New data added to dataset: [[-0.31492597 3.77656573]] 374 | optimizer.py: All expected 375 | Tasks done: 162. New data added to dataset: [[-0.31572629 3.76694932]] 376 | optimizer.py: All expected 377 | Tasks done: 163. New data added to dataset: [[-0.31492597 3.77205901]] 378 | optimizer.py: All expected 379 | Tasks done: 164. New data added to dataset: [[-0.31492597 3.76465436]] 380 | optimizer.py: All expected 381 | Tasks done: 165. New data added to dataset: [[-0.31572629 3.7895126 ]] 382 | optimizer.py: All expected 383 | Tasks done: 166. New data added to dataset: [[-0.31572629 3.7724473 ]] 384 | optimizer.py: All expected 385 | Tasks done: 167. New data added to dataset: [[-0.31572629 3.7892898 ]] 386 | optimizer.py: All expected 387 | Tasks done: 168. New data added to dataset: [[-0.31572629 3.79286006]] 388 | optimizer.py: All expected 389 | Tasks done: 169. New data added to dataset: [[-0.31572629 3.75633122]] 390 | optimizer.py: All expected 391 | Tasks done: 170. New data added to dataset: [[-0.31572629 3.76729494]] 392 | optimizer.py: All expected 393 | Tasks done: 171. New data added to dataset: [[-0.31652661 3.76798612]] 394 | optimizer.py: All expected 395 | Tasks done: 172. New data added to dataset: [[-0.31492597 3.77859058]] 396 | optimizer.py: All expected 397 | Tasks done: 173. New data added to dataset: [[-0.31572629 3.77644686]] 398 | optimizer.py: All expected 399 | Tasks done: 174. New data added to dataset: [[-0.31492597 3.77549889]] 400 | optimizer.py: All expected 401 | Tasks done: 175. New data added to dataset: [[-0.31572629 3.78403434]] 402 | optimizer.py: All expected 403 | Tasks done: 176. New data added to dataset: [[-0.31572629 3.77428179]] 404 | optimizer.py: All expected 405 | Tasks done: 177. New data added to dataset: [[-0.31572629 3.76816385]] 406 | optimizer.py: All expected 407 | Tasks done: 178. New data added to dataset: [[-0.31572629 3.77949446]] 408 | optimizer.py: All expected 409 | Tasks done: 179. New data added to dataset: [[-0.31572629 3.7864036 ]] 410 | optimizer.py: All expected 411 | Tasks done: 180. New data added to dataset: [[-0.31572629 3.77007862]] 412 | optimizer.py: All expected 413 | Tasks done: 181. New data added to dataset: [[-0.31492597 3.76222066]] 414 | optimizer.py: All expected 415 | Tasks done: 182. New data added to dataset: [[-0.31572629 3.78476105]] 416 | optimizer.py: All expected 417 | Tasks done: 183. New data added to dataset: [[-0.31572629 3.77048515]] 418 | optimizer.py: All expected 419 | Tasks done: 184. New data added to dataset: [[-0.31572629 3.76245432]] 420 | optimizer.py: All expected 421 | Tasks done: 185. New data added to dataset: [[-0.31572629 3.78262377]] 422 | optimizer.py: All expected 423 | Tasks done: 186. New data added to dataset: [[-0.31572629 3.77228646]] 424 | optimizer.py: All expected 425 | Tasks done: 187. New data added to dataset: [[-0.31572629 3.76292441]] 426 | optimizer.py: All expected 427 | Tasks done: 188. New data added to dataset: [[-0.31572629 3.78921814]] 428 | optimizer.py: All expected 429 | Tasks done: 189. New data added to dataset: [[-0.31572629 3.78912467]] 430 | optimizer.py: All expected 431 | Tasks done: 190. New data added to dataset: [[-0.31492597 3.76877324]] 432 | optimizer.py: All expected 433 | Tasks done: 191. New data added to dataset: [[-0.31572629 3.76296882]] 434 | optimizer.py: All expected 435 | Tasks done: 192. New data added to dataset: [[-0.31572629 3.77491033]] 436 | optimizer.py: All expected 437 | Tasks done: 193. New data added to dataset: [[-0.31572629 3.77642461]] 438 | optimizer.py: All expected 439 | Tasks done: 194. New data added to dataset: [[-0.31572629 3.79265415]] 440 | optimizer.py: All expected 441 | Tasks done: 195. New data added to dataset: [[-0.31572629 3.75688069]] 442 | optimizer.py: All expected 443 | Tasks done: 196. New data added to dataset: [[-0.31572629 3.78790914]] 444 | optimizer.py: All expected 445 | Tasks done: 197. New data added to dataset: [[-0.31572629 3.78615826]] 446 | optimizer.py: All expected 447 | Tasks done: 198. New data added to dataset: [[-0.31572629 3.77353343]] 448 | optimizer.py: All expected 449 | Tasks done: 199. New data added to dataset: [[-0.31572629 3.79115969]] 450 | optimizer.py: All expected 451 | Tasks done: 200. New data added to dataset: [[-0.31572629 3.78109076]] 452 | optimizer.py: All expected 453 | Tasks done: 201. New data added to dataset: [[-0.31572629 3.76974396]] 454 | optimizer.py: All expected 455 | Tasks done: 202. New data added to dataset: [[-0.31572629 3.76034705]] 456 | optimizer.py: All expected 457 | Tasks done: 203. New data added to dataset: [[-0.31572629 3.75803435]] 458 | optimizer.py: All expected 459 | Tasks done: 204. New data added to dataset: [[-0.31572629 3.77244546]] 460 | optimizer.py: All expected 461 | Tasks done: 205. New data added to dataset: [[-0.31572629 3.77219474]] 462 | optimizer.py: All expected 463 | Tasks done: 206. New data added to dataset: [[-0.31652661 3.77814354]] 464 | optimizer.py: All expected 465 | Tasks done: 207. New data added to dataset: [[-0.31492597 3.78119732]] 466 | optimizer.py: All expected 467 | Tasks done: 208. New data added to dataset: [[-0.31572629 3.78845643]] 468 | optimizer.py: All expected 469 | Tasks done: 209. New data added to dataset: [[-0.31492597 3.78642655]] 470 | optimizer.py: All expected 471 | Tasks done: 210. New data added to dataset: [[-0.31572629 3.78675749]] 472 | optimizer.py: All expected 473 | Tasks done: 211. New data added to dataset: [[-0.31572629 3.763845 ]] 474 | optimizer.py: All expected 475 | Tasks done: 212. New data added to dataset: [[-0.31572629 3.78114001]] 476 | optimizer.py: All expected 477 | Tasks done: 213. New data added to dataset: [[-0.31492597 3.76157116]] 478 | optimizer.py: All expected 479 | Tasks done: 214. New data added to dataset: [[-0.31572629 3.7757655 ]] 480 | optimizer.py: All expected 481 | Tasks done: 215. New data added to dataset: [[-0.31572629 3.77138266]] 482 | optimizer.py: All expected 483 | Tasks done: 216. New data added to dataset: [[-0.31572629 3.79325565]] 484 | optimizer.py: All expected 485 | Tasks done: 217. New data added to dataset: [[-0.31572629 3.7680944 ]] 486 | optimizer.py: All expected 487 | Tasks done: 218. New data added to dataset: [[-0.31572629 3.77308773]] 488 | optimizer.py: All expected 489 | Tasks done: 219. New data added to dataset: [[-0.31572629 3.78321463]] 490 | optimizer.py: All expected 491 | Tasks done: 220. New data added to dataset: [[-0.31572629 3.78996628]] 492 | optimizer.py: All expected 493 | Tasks done: 221. New data added to dataset: [[-0.31572629 3.79225214]] 494 | optimizer.py: All expected 495 | Tasks done: 222. New data added to dataset: [[-0.31572629 3.75994148]] 496 | optimizer.py: All expected 497 | Tasks done: 223. New data added to dataset: [[-0.31572629 3.78537037]] 498 | optimizer.py: All expected 499 | Tasks done: 224. New data added to dataset: [[-0.31572629 3.76275785]] 500 | optimizer.py: All expected 501 | Tasks done: 225. New data added to dataset: [[-0.31572629 3.79218631]] 502 | optimizer.py: All expected 503 | Tasks done: 226. New data added to dataset: [[-0.31572629 3.76648138]] 504 | optimizer.py: All expected 505 | Tasks done: 227. New data added to dataset: [[-0.31572629 3.78535719]] 506 | optimizer.py: All expected 507 | Tasks done: 228. New data added to dataset: [[-0.31572629 3.77768618]] 508 | optimizer.py: All expected 509 | Tasks done: 229. New data added to dataset: [[-0.31572629 3.77155827]] 510 | optimizer.py: All expected 511 | Tasks done: 230. New data added to dataset: [[-0.31572629 3.76971998]] 512 | optimizer.py: All expected 513 | Tasks done: 231. New data added to dataset: [[-0.31572629 3.7809995 ]] 514 | optimizer.py: All expected 515 | Tasks done: 232. New data added to dataset: [[-0.31572629 3.77139115]] 516 | optimizer.py: All expected 517 | Tasks done: 233. New data added to dataset: [[-0.31492597 3.78392272]] 518 | optimizer.py: All expected 519 | Tasks done: 234. New data added to dataset: [[-0.31492597 3.76706178]] 520 | optimizer.py: All expected 521 | Tasks done: 235. New data added to dataset: [[-0.31572629 3.77638002]] 522 | optimizer.py: All expected 523 | Tasks done: 236. New data added to dataset: [[-0.31572629 3.76663137]] 524 | optimizer.py: All expected 525 | Tasks done: 237. New data added to dataset: [[-0.31572629 3.76946045]] 526 | optimizer.py: All expected 527 | Tasks done: 238. New data added to dataset: [[-0.31572629 3.77494175]] 528 | optimizer.py: All expected 529 | Tasks done: 239. New data added to dataset: [[-0.31572629 3.7700154 ]] 530 | optimizer.py: All expected 531 | Tasks done: 240. New data added to dataset: [[-0.31572629 3.77255734]] 532 | optimizer.py: All expected 533 | Tasks done: 241. New data added to dataset: [[-0.31572629 3.76591849]] 534 | optimizer.py: All expected 535 | Tasks done: 242. New data added to dataset: [[-0.31572629 3.7642229 ]] 536 | optimizer.py: All expected 537 | Tasks done: 243. New data added to dataset: [[-0.31572629 3.75445057]] 538 | optimizer.py: All expected 539 | Tasks done: 244. New data added to dataset: [[-0.31572629 3.77088018]] 540 | optimizer.py: All expected 541 | Tasks done: 245. New data added to dataset: [[-0.31572629 3.76653247]] 542 | optimizer.py: All expected 543 | Tasks done: 246. New data added to dataset: [[-0.31572629 3.77230538]] 544 | optimizer.py: All expected 545 | Tasks done: 247. New data added to dataset: [[-0.31492597 3.77285076]] 546 | optimizer.py: All expected 547 | Tasks done: 248. New data added to dataset: [[-0.31572629 3.78456357]] 548 | optimizer.py: All expected 549 | Tasks done: 249. New data added to dataset: [[-0.31572629 3.76422349]] 550 | optimizer.py: All expected 551 | Tasks done: 250. New data added to dataset: [[-0.31572629 3.77281502]] 552 | optimizer.py: All expected 553 | Tasks done: 251. New data added to dataset: [[-0.31572629 3.7510122 ]] 554 | optimizer.py: All expected 555 | Tasks done: 252. New data added to dataset: [[-0.31492597 3.76836479]] 556 | optimizer.py: All expected 557 | Tasks done: 253. New data added to dataset: [[-0.31412565 3.7653055 ]] 558 | optimizer.py: All expected 559 | Tasks done: 254. New data added to dataset: [[-0.31492597 3.75928283]] 560 | optimizer.py: All expected 561 | Tasks done: 255. New data added to dataset: [[-0.31572629 3.78342632]] 562 | optimizer.py: All expected 563 | Tasks done: 256. New data added to dataset: [[-0.31572629 3.76993131]] 564 | optimizer.py: All expected 565 | Tasks done: 257. New data added to dataset: [[-0.31492597 3.77724661]] 566 | optimizer.py: All expected 567 | Tasks done: 258. New data added to dataset: [[-0.31412565 3.7667922 ]] 568 | optimizer.py: All expected 569 | Tasks done: 259. New data added to dataset: [[-0.31572629 3.78435944]] 570 | optimizer.py: All expected 571 | Tasks done: 260. New data added to dataset: [[-0.31412565 3.7812181 ]] 572 | optimizer.py: All expected 573 | Tasks done: 261. New data added to dataset: [[-0.31572629 3.79223421]] 574 | optimizer.py: All expected 575 | Tasks done: 262. New data added to dataset: [[-0.31652661 3.77575001]] 576 | optimizer.py: All expected 577 | Tasks done: 263. New data added to dataset: [[-0.31492597 3.76952479]] 578 | optimizer.py: All expected 579 | Tasks done: 264. New data added to dataset: [[-0.31412565 3.76859369]] 580 | optimizer.py: All expected 581 | Tasks done: 265. New data added to dataset: [[-0.31492597 3.76301524]] 582 | optimizer.py: All expected 583 | Tasks done: 266. New data added to dataset: [[-0.31492597 3.78302429]] 584 | optimizer.py: All expected 585 | Tasks done: 267. New data added to dataset: [[-0.31572629 3.78030979]] 586 | optimizer.py: All expected 587 | Tasks done: 268. New data added to dataset: [[-0.31572629 3.77145735]] 588 | optimizer.py: All expected 589 | Tasks done: 269. New data added to dataset: [[-0.31492597 3.77915974]] 590 | optimizer.py: All expected 591 | Tasks done: 270. New data added to dataset: [[-0.31572629 3.7866096 ]] 592 | optimizer.py: All expected 593 | Tasks done: 271. New data added to dataset: [[-0.31492597 3.76665606]] 594 | optimizer.py: All expected 595 | Tasks done: 272. New data added to dataset: [[-0.31572629 3.78125433]] 596 | optimizer.py: All expected 597 | Tasks done: 273. New data added to dataset: [[-0.31572629 3.77910799]] 598 | optimizer.py: All expected 599 | Tasks done: 274. New data added to dataset: [[-0.31572629 3.77252862]] 600 | optimizer.py: All expected 601 | Tasks done: 275. New data added to dataset: [[-0.31572629 3.78260487]] 602 | optimizer.py: All expected 603 | Tasks done: 276. New data added to dataset: [[-0.31572629 3.78277916]] 604 | optimizer.py: All expected 605 | Tasks done: 277. New data added to dataset: [[-0.31572629 3.7767405 ]] 606 | optimizer.py: All expected 607 | Tasks done: 278. New data added to dataset: [[-0.31572629 3.77838296]] 608 | optimizer.py: All expected 609 | Tasks done: 279. New data added to dataset: [[-0.31572629 3.76673678]] 610 | optimizer.py: All expected 611 | Tasks done: 280. New data added to dataset: [[-0.31572629 3.77504573]] 612 | optimizer.py: All expected 613 | Tasks done: 281. New data added to dataset: [[-0.31572629 3.78113972]] 614 | optimizer.py: All expected 615 | Tasks done: 282. New data added to dataset: [[-0.31572629 3.7725987 ]] 616 | optimizer.py: All expected 617 | Tasks done: 283. New data added to dataset: [[-0.31572629 3.78096958]] 618 | optimizer.py: All expected 619 | Tasks done: 284. New data added to dataset: [[-0.31572629 3.77366458]] 620 | optimizer.py: All expected 621 | Tasks done: 285. New data added to dataset: [[-0.31572629 3.79192545]] 622 | optimizer.py: All expected 623 | Tasks done: 286. New data added to dataset: [[-0.31652661 3.79410658]] 624 | optimizer.py: All expected 625 | Tasks done: 287. New data added to dataset: [[-0.31572629 3.77733915]] 626 | optimizer.py: All expected 627 | Tasks done: 288. New data added to dataset: [[-0.31412565 3.78456299]] 628 | optimizer.py: All expected 629 | Tasks done: 289. New data added to dataset: [[-0.31492597 3.78466205]] 630 | optimizer.py: All expected 631 | Tasks done: 290. New data added to dataset: [[-0.31572629 3.76083641]] 632 | optimizer.py: All expected 633 | Tasks done: 291. New data added to dataset: [[-0.31492597 3.77057571]] 634 | optimizer.py: All expected 635 | Tasks done: 292. New data added to dataset: [[-0.31572629 3.77198356]] 636 | optimizer.py: All expected 637 | Tasks done: 293. New data added to dataset: [[-0.31412565 3.77753241]] 638 | optimizer.py: All expected 639 | Tasks done: 294. New data added to dataset: [[-0.31572629 3.77346856]] 640 | optimizer.py: All expected 641 | Tasks done: 295. New data added to dataset: [[-0.31572629 3.77535079]] 642 | optimizer.py: All expected 643 | Tasks done: 296. New data added to dataset: [[-0.31572629 3.78051453]] 644 | optimizer.py: All expected 645 | Tasks done: 297. New data added to dataset: [[-0.31492597 3.7608381 ]] 646 | optimizer.py: All expected 647 | Tasks done: 298. New data added to dataset: [[-0.31492597 3.77949365]] 648 | optimizer.py: All expected 649 | Tasks done: 299. New data added to dataset: [[-0.31492597 3.76339425]] 650 | optimizer.py: All expected 651 | Tasks done: 300. New data added to dataset: [[-0.31572629 3.77255621]] 652 | optimizer.py: All expected 653 | Tasks done: 301. New data added to dataset: [[-0.31492597 3.77699511]] 654 | optimizer.py: All expected 655 | Tasks done: 302. New data added to dataset: [[-0.31412565 3.7857381 ]] 656 | optimizer.py: All expected 657 | Tasks done: 303. New data added to dataset: [[-0.31572629 3.79515923]] 658 | optimizer.py: All expected 659 | Tasks done: 304. New data added to dataset: [[-0.31572629 3.78735529]] 660 | optimizer.py: All expected 661 | Tasks done: 305. New data added to dataset: [[-0.31572629 3.76703625]] 662 | optimizer.py: All expected 663 | Tasks done: 306. New data added to dataset: [[-0.31492597 3.77872202]] 664 | optimizer.py: All expected 665 | Tasks done: 307. New data added to dataset: [[-0.31572629 3.77760057]] 666 | optimizer.py: All expected 667 | Tasks done: 308. New data added to dataset: [[-0.31492597 3.781807 ]] 668 | optimizer.py: All expected 669 | Tasks done: 309. New data added to dataset: [[-0.31572629 3.78066415]] 670 | optimizer.py: All expected 671 | Tasks done: 310. New data added to dataset: [[-0.31572629 3.77475799]] 672 | optimizer.py: All expected 673 | Tasks done: 311. New data added to dataset: [[-0.31572629 3.79526504]] 674 | optimizer.py: All expected 675 | Tasks done: 312. New data added to dataset: [[-0.31492597 3.79016764]] 676 | optimizer.py: All expected 677 | Tasks done: 313. New data added to dataset: [[-0.31652661 3.78022149]] 678 | optimizer.py: All expected 679 | Tasks done: 314. New data added to dataset: [[-0.31492597 3.77907958]] 680 | optimizer.py: All expected 681 | Tasks done: 315. New data added to dataset: [[-0.31492597 3.77668889]] 682 | optimizer.py: All expected 683 | Tasks done: 316. New data added to dataset: [[-0.31492597 3.75878792]] 684 | optimizer.py: All expected 685 | Tasks done: 317. New data added to dataset: [[-0.31572629 3.79225713]] 686 | optimizer.py: All expected 687 | Tasks done: 318. New data added to dataset: [[-0.31572629 3.77290953]] 688 | optimizer.py: All expected 689 | Tasks done: 319. New data added to dataset: [[-0.31572629 3.7867497 ]] 690 | optimizer.py: All expected 691 | Tasks done: 320. New data added to dataset: [[-0.31652661 3.77711096]] 692 | optimizer.py: All expected 693 | Tasks done: 321. New data added to dataset: [[-0.31572629 3.78927925]] 694 | optimizer.py: All expected 695 | Tasks done: 322. New data added to dataset: [[-0.31492597 3.79556463]] 696 | optimizer.py: All expected 697 | Tasks done: 323. New data added to dataset: [[-0.31492597 3.76807302]] 698 | optimizer.py: All expected 699 | Tasks done: 324. New data added to dataset: [[-0.31572629 3.78364545]] 700 | optimizer.py: All expected 701 | Tasks done: 325. New data added to dataset: [[-0.31572629 3.77373654]] 702 | optimizer.py: All expected 703 | Tasks done: 326. New data added to dataset: [[-0.31572629 3.78351772]] 704 | optimizer.py: All expected 705 | Tasks done: 327. New data added to dataset: [[-0.31492597 3.79174225]] 706 | optimizer.py: All expected 707 | Tasks done: 328. New data added to dataset: [[-0.31572629 3.76445954]] 708 | optimizer.py: All expected 709 | Tasks done: 329. New data added to dataset: [[-0.31572629 3.76530298]] 710 | optimizer.py: All expected 711 | Tasks done: 330. New data added to dataset: [[-0.31572629 3.77721579]] 712 | optimizer.py: All expected 713 | Tasks done: 331. New data added to dataset: [[-0.31572629 3.76921634]] 714 | optimizer.py: All expected 715 | Tasks done: 332. New data added to dataset: [[-0.31412565 3.76120888]] 716 | optimizer.py: All expected 717 | Tasks done: 333. New data added to dataset: [[-0.31572629 3.7638488 ]] 718 | optimizer.py: All expected 719 | Tasks done: 334. New data added to dataset: [[-0.31492597 3.76608639]] 720 | optimizer.py: All expected 721 | Tasks done: 335. New data added to dataset: [[-0.31572629 3.77557595]] 722 | optimizer.py: All expected 723 | Tasks done: 336. New data added to dataset: [[-0.31492597 3.78256333]] 724 | optimizer.py: All expected 725 | Tasks done: 337. New data added to dataset: [[-0.31572629 3.80201139]] 726 | optimizer.py: All expected 727 | Tasks done: 338. New data added to dataset: [[-0.31492597 3.77882789]] 728 | optimizer.py: All expected 729 | Tasks done: 339. New data added to dataset: [[-0.31572629 3.78734384]] 730 | optimizer.py: All expected 731 | Tasks done: 340. New data added to dataset: [[-0.31492597 3.77747999]] 732 | optimizer.py: All expected 733 | Tasks done: 341. New data added to dataset: [[-0.31492597 3.77035002]] 734 | optimizer.py: All expected 735 | Tasks done: 342. New data added to dataset: [[-0.31572629 3.78177141]] 736 | optimizer.py: All expected 737 | Tasks done: 343. New data added to dataset: [[-0.31572629 3.78230811]] 738 | optimizer.py: All expected 739 | Tasks done: 344. New data added to dataset: [[-0.31492597 3.74270336]] 740 | optimizer.py: All expected 741 | Tasks done: 345. New data added to dataset: [[-0.31572629 3.78164633]] 742 | optimizer.py: All expected 743 | Tasks done: 346. New data added to dataset: [[-0.31492597 3.77983394]] 744 | optimizer.py: All expected 745 | Tasks done: 347. New data added to dataset: [[-0.31492597 3.79486778]] 746 | optimizer.py: All expected 747 | Tasks done: 348. New data added to dataset: [[-0.31652661 3.7720423 ]] 748 | optimizer.py: All expected 749 | Tasks done: 349. New data added to dataset: [[-0.31572629 3.78017778]] 750 | optimizer.py: All expected 751 | Tasks done: 350. New data added to dataset: [[-0.31572629 3.77720132]] 752 | optimizer.py: All expected 753 | Tasks done: 351. New data added to dataset: [[-0.31652661 3.78133106]] 754 | optimizer.py: All expected 755 | Tasks done: 352. New data added to dataset: [[-0.31572629 3.771446 ]] 756 | optimizer.py: All expected 757 | Tasks done: 353. New data added to dataset: [[-0.31572629 3.75420383]] 758 | optimizer.py: All expected 759 | Tasks done: 354. New data added to dataset: [[-0.31572629 3.78493377]] 760 | optimizer.py: All expected 761 | Tasks done: 355. New data added to dataset: [[-0.31572629 3.78429198]] 762 | optimizer.py: All expected 763 | Tasks done: 356. New data added to dataset: [[-0.31492597 3.77683893]] 764 | optimizer.py: All expected 765 | Tasks done: 357. New data added to dataset: [[-0.31492597 3.79395531]] 766 | optimizer.py: All expected 767 | Tasks done: 358. New data added to dataset: [[-0.31492597 3.78562054]] 768 | optimizer.py: All expected 769 | Tasks done: 359. New data added to dataset: [[-0.31572629 3.78320646]] 770 | optimizer.py: All expected 771 | Tasks done: 360. New data added to dataset: [[-0.31492597 3.76463949]] 772 | optimizer.py: All expected 773 | Tasks done: 361. New data added to dataset: [[-0.31572629 3.77185517]] 774 | optimizer.py: All expected 775 | Tasks done: 362. New data added to dataset: [[-0.31572629 3.77158994]] 776 | optimizer.py: All expected 777 | Tasks done: 363. New data added to dataset: [[-0.31652661 3.77593136]] 778 | optimizer.py: All expected 779 | Tasks done: 364. New data added to dataset: [[-0.31492597 3.78554782]] 780 | optimizer.py: All expected 781 | Tasks done: 365. New data added to dataset: [[-0.31652661 3.77491876]] 782 | optimizer.py: All expected 783 | Tasks done: 366. New data added to dataset: [[-0.31492597 3.76491999]] 784 | optimizer.py: All expected 785 | Tasks done: 367. New data added to dataset: [[-0.31492597 3.78958272]] 786 | optimizer.py: All expected 787 | Tasks done: 368. New data added to dataset: [[-0.31492597 3.78586186]] 788 | optimizer.py: All expected 789 | Tasks done: 369. New data added to dataset: [[-0.31572629 3.75972602]] 790 | optimizer.py: All expected 791 | Tasks done: 370. New data added to dataset: [[-0.31652661 3.77228134]] 792 | optimizer.py: All expected 793 | Tasks done: 371. New data added to dataset: [[-0.31572629 3.77394834]] 794 | optimizer.py: All expected 795 | Tasks done: 372. New data added to dataset: [[-0.31492597 3.77767109]] 796 | optimizer.py: All expected 797 | Tasks done: 373. New data added to dataset: [[-0.31492597 3.76359516]] 798 | optimizer.py: All expected 799 | Tasks done: 374. New data added to dataset: [[-0.31492597 3.76122984]] 800 | optimizer.py: All expected 801 | Tasks done: 375. New data added to dataset: [[-0.31492597 3.78675496]] 802 | optimizer.py: All expected 803 | Tasks done: 376. New data added to dataset: [[-0.31572629 3.78064402]] 804 | optimizer.py: All expected 805 | Tasks done: 377. New data added to dataset: [[-0.31492597 3.75961551]] 806 | optimizer.py: All expected 807 | Tasks done: 378. New data added to dataset: [[-0.31572629 3.7835074 ]] 808 | optimizer.py: All expected 809 | Tasks done: 379. New data added to dataset: [[-0.31492597 3.77345099]] 810 | optimizer.py: All expected 811 | Tasks done: 380. New data added to dataset: [[-0.31572629 3.77404937]] 812 | optimizer.py: All expected 813 | Tasks done: 381. New data added to dataset: [[-0.31572629 3.78548869]] 814 | optimizer.py: All expected 815 | Tasks done: 382. New data added to dataset: [[-0.31572629 3.78494648]] 816 | optimizer.py: All expected 817 | Tasks done: 383. New data added to dataset: [[-0.31572629 3.78239009]] 818 | optimizer.py: All expected 819 | Tasks done: 384. New data added to dataset: [[-0.31572629 3.77229623]] 820 | optimizer.py: All expected 821 | Tasks done: 385. New data added to dataset: [[-0.31492597 3.7642383 ]] 822 | optimizer.py: All expected 823 | Tasks done: 386. New data added to dataset: [[-0.31412565 3.78654401]] 824 | optimizer.py: All expected 825 | Tasks done: 387. New data added to dataset: [[-0.31492597 3.78476824]] 826 | optimizer.py: All expected 827 | Tasks done: 388. New data added to dataset: [[-0.31572629 3.79526675]] 828 | optimizer.py: All expected 829 | Tasks done: 389. New data added to dataset: [[-0.31492597 3.77196047]] 830 | optimizer.py: All expected 831 | Tasks done: 390. New data added to dataset: [[-0.31572629 3.77260728]] 832 | optimizer.py: All expected 833 | Tasks done: 391. New data added to dataset: [[-0.31572629 3.78513986]] 834 | optimizer.py: All expected 835 | Tasks done: 392. New data added to dataset: [[-0.31572629 3.77182173]] 836 | optimizer.py: All expected 837 | Tasks done: 393. New data added to dataset: [[-0.31492597 3.78628788]] 838 | optimizer.py: All expected 839 | Tasks done: 394. New data added to dataset: [[-0.31572629 3.76540101]] 840 | optimizer.py: All expected 841 | Tasks done: 395. New data added to dataset: [[-0.31412565 3.78439091]] 842 | optimizer.py: All expected 843 | Tasks done: 396. New data added to dataset: [[-0.31652661 3.76602924]] 844 | optimizer.py: All expected 845 | Tasks done: 397. New data added to dataset: [[-0.31572629 3.7760892 ]] 846 | optimizer.py: All expected 847 | Tasks done: 398. New data added to dataset: [[-0.31492597 3.7807805 ]] 848 | optimizer.py: All expected 849 | Tasks done: 399. New data added to dataset: [[-0.31652661 3.78411712]] 850 | optimizer.py: All expected 851 | Tasks done: 400. New data added to dataset: [[-0.31572629 3.76988819]] 852 | optimizer.py: All expected 853 | Sequential gp optimization task complete. 854 | Best evaluated point is: 855 | [-0.31572629 3.80201139] 856 | Predicted best point is: 857 | [-0.31492597 3.7760601 ] 858 | -------------------------------------------------------------------------------- /data/regret_analysis/gp_gp_10.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RuiShu/nn-bayesian-optimization/e98dc326344d1dc3609de5fc3eb472e06d48d6af/data/regret_analysis/gp_gp_10.txt -------------------------------------------------------------------------------- /data/regret_analysis/gp_gp_8.txt: -------------------------------------------------------------------------------- 1 | Complete initial dataset acquired 2 | [[ -4.07645970e-01 2.97725060e+00] 3 | [ 7.98834073e-01 -3.31850803e+00] 4 | [ -6.87276830e-01 -1.67565344e+01] 5 | [ 6.02598120e-01 3.56385035e-01] 6 | [ 9.61540962e-01 -1.55001144e+01] 7 | [ -9.51794962e-01 -8.18472933e+01] 8 | [ -4.14531482e-01 2.84328966e+00] 9 | [ -1.09979217e-01 1.65618864e+00] 10 | [ 3.41812200e-01 -1.21009594e+00] 11 | [ -4.04041597e-01 3.03516653e+00] 12 | [ 4.58106257e-01 -3.24039999e-01] 13 | [ 1.99821598e-01 -1.59776037e+00] 14 | [ 5.00668927e-01 7.02198858e-03] 15 | [ -9.40672030e-01 -7.77376178e+01] 16 | [ 3.57843140e-02 -4.52490827e-01] 17 | [ 4.69709104e-01 -2.37417108e-01] 18 | [ 6.28568666e-01 2.93206703e-01] 19 | [ 5.78698716e-01 3.37166422e-01] 20 | [ 8.97434211e-01 -9.30842292e+00] 21 | [ -5.60487804e-01 -3.56709320e+00] 22 | [ -3.75321314e-01 3.43537637e+00] 23 | [ 1.88042222e-01 -1.55268240e+00] 24 | [ -4.79926726e-01 8.76626974e-01] 25 | [ -4.00225598e-01 3.10666282e+00] 26 | [ 1.73980926e-01 -1.53756663e+00] 27 | [ -2.69634354e-01 3.63505621e+00] 28 | [ -6.96792032e-01 -1.81128486e+01] 29 | [ -6.73953583e-01 -1.49415868e+01] 30 | [ -6.75983907e-02 9.74475920e-01] 31 | [ -8.44338744e-01 -4.78378447e+01] 32 | [ 3.76910182e-02 -4.83878216e-01] 33 | [ -3.31577627e-01 3.76163226e+00] 34 | [ -9.12673468e-01 -6.80856929e+01] 35 | [ 3.69820845e-02 -4.66355164e-01] 36 | [ -9.98297357e-01 -1.00523209e+02] 37 | [ 8.20510283e-02 -9.41290279e-01] 38 | [ 2.33145655e-01 -1.60219783e+00] 39 | [ -5.21445650e-01 -1.10274622e+00] 40 | [ 4.87489579e-01 -7.85543331e-02] 41 | [ 2.82331266e-01 -1.50007480e+00] 42 | [ 9.04552655e-01 -9.88796115e+00] 43 | [ -2.45480647e-01 3.44921336e+00] 44 | [ 6.87093791e-01 -2.49157469e-01] 45 | [ -5.58493113e-01 -3.43416538e+00] 46 | [ 7.38060538e-01 -1.25298164e+00] 47 | [ -2.66669167e-01 3.59384190e+00] 48 | [ 5.65469730e-01 3.34111366e-01] 49 | [ -4.48480046e-01 1.98615078e+00] 50 | [ -7.72971213e-01 -3.13053715e+01] 51 | [ -1.43967780e-01 2.18172488e+00]] 52 | optimizer.py: All expected 53 | Tasks done: 1. New data added to dataset: [[-0.31492597 3.77669815]] 54 | optimizer.py: All expected 55 | Tasks done: 2. New data added to dataset: [[-0.31492597 3.77618057]] 56 | optimizer.py: All expected 57 | Tasks done: 3. New data added to dataset: [[-0.31492597 3.7835557 ]] 58 | optimizer.py: All expected 59 | Tasks done: 4. New data added to dataset: [[-0.31572629 3.78421436]] 60 | optimizer.py: All expected 61 | Tasks done: 5. New data added to dataset: [[-0.31492597 3.74861016]] 62 | optimizer.py: All expected 63 | Tasks done: 6. New data added to dataset: [[-0.31492597 3.80384628]] 64 | optimizer.py: All expected 65 | Tasks done: 7. New data added to dataset: [[-0.31572629 3.75601003]] 66 | optimizer.py: All expected 67 | Tasks done: 8. New data added to dataset: [[-0.31492597 3.77975385]] 68 | optimizer.py: All expected 69 | Tasks done: 9. New data added to dataset: [[-0.31492597 3.76976422]] 70 | optimizer.py: All expected 71 | Tasks done: 10. New data added to dataset: [[-0.31492597 3.76926202]] 72 | optimizer.py: All expected 73 | Tasks done: 11. New data added to dataset: [[-0.31492597 3.76160253]] 74 | optimizer.py: All expected 75 | Tasks done: 12. New data added to dataset: [[-0.31492597 3.77702784]] 76 | optimizer.py: All expected 77 | Tasks done: 13. New data added to dataset: [[-0.31492597 3.7614438 ]] 78 | optimizer.py: All expected 79 | Tasks done: 14. New data added to dataset: [[-0.31492597 3.77943639]] 80 | optimizer.py: All expected 81 | Tasks done: 15. New data added to dataset: [[-0.31492597 3.7649342 ]] 82 | optimizer.py: All expected 83 | Tasks done: 16. New data added to dataset: [[-0.31492597 3.763692 ]] 84 | optimizer.py: All expected 85 | Tasks done: 17. New data added to dataset: [[-0.31492597 3.80301677]] 86 | optimizer.py: All expected 87 | Tasks done: 18. New data added to dataset: [[-0.31492597 3.78007435]] 88 | optimizer.py: All expected 89 | Tasks done: 19. New data added to dataset: [[-0.31492597 3.78147458]] 90 | optimizer.py: All expected 91 | Tasks done: 20. New data added to dataset: [[-0.31572629 3.77427998]] 92 | optimizer.py: All expected 93 | Tasks done: 21. New data added to dataset: [[-0.31492597 3.78526223]] 94 | optimizer.py: All expected 95 | Tasks done: 22. New data added to dataset: [[-0.31492597 3.77481673]] 96 | optimizer.py: All expected 97 | Tasks done: 23. New data added to dataset: [[-0.31492597 3.77206774]] 98 | optimizer.py: All expected 99 | Tasks done: 24. New data added to dataset: [[-0.31492597 3.78080198]] 100 | optimizer.py: All expected 101 | Tasks done: 25. New data added to dataset: [[-0.31492597 3.79067922]] 102 | optimizer.py: All expected 103 | Tasks done: 26. New data added to dataset: [[-0.31492597 3.77771514]] 104 | optimizer.py: All expected 105 | Tasks done: 27. New data added to dataset: [[-0.31492597 3.76179722]] 106 | optimizer.py: All expected 107 | Tasks done: 28. New data added to dataset: [[-0.31492597 3.7707383 ]] 108 | optimizer.py: All expected 109 | Tasks done: 29. New data added to dataset: [[-0.31492597 3.78423877]] 110 | optimizer.py: All expected 111 | Tasks done: 30. New data added to dataset: [[-0.31492597 3.77344818]] 112 | optimizer.py: All expected 113 | Tasks done: 31. New data added to dataset: [[-0.31572629 3.78140999]] 114 | optimizer.py: All expected 115 | Tasks done: 32. New data added to dataset: [[-0.31572629 3.77697374]] 116 | optimizer.py: All expected 117 | Tasks done: 33. New data added to dataset: [[-0.31572629 3.77256079]] 118 | optimizer.py: All expected 119 | Tasks done: 34. New data added to dataset: [[-0.31492597 3.77323707]] 120 | optimizer.py: All expected 121 | Tasks done: 35. New data added to dataset: [[-0.31492597 3.78665437]] 122 | optimizer.py: All expected 123 | Tasks done: 36. New data added to dataset: [[-0.31492597 3.75682818]] 124 | optimizer.py: All expected 125 | Tasks done: 37. New data added to dataset: [[-0.31492597 3.77633234]] 126 | optimizer.py: All expected 127 | Tasks done: 38. New data added to dataset: [[-0.31572629 3.76969815]] 128 | optimizer.py: All expected 129 | Tasks done: 39. New data added to dataset: [[-0.31492597 3.76055185]] 130 | optimizer.py: All expected 131 | Tasks done: 40. New data added to dataset: [[-0.31492597 3.78500908]] 132 | optimizer.py: All expected 133 | Tasks done: 41. New data added to dataset: [[-0.31492597 3.77249886]] 134 | optimizer.py: All expected 135 | Tasks done: 42. New data added to dataset: [[-0.31572629 3.78741805]] 136 | optimizer.py: All expected 137 | Tasks done: 43. New data added to dataset: [[-0.31492597 3.77431399]] 138 | optimizer.py: All expected 139 | Tasks done: 44. New data added to dataset: [[-0.31492597 3.79172793]] 140 | optimizer.py: All expected 141 | Tasks done: 45. New data added to dataset: [[-0.31572629 3.77630911]] 142 | optimizer.py: All expected 143 | Tasks done: 46. New data added to dataset: [[-0.31492597 3.76639953]] 144 | optimizer.py: All expected 145 | Tasks done: 47. New data added to dataset: [[-0.31492597 3.77483945]] 146 | optimizer.py: All expected 147 | Tasks done: 48. New data added to dataset: [[-0.31492597 3.78626194]] 148 | optimizer.py: All expected 149 | Tasks done: 49. New data added to dataset: [[-0.31492597 3.76810717]] 150 | optimizer.py: All expected 151 | Tasks done: 50. New data added to dataset: [[-0.31492597 3.77199103]] 152 | optimizer.py: All expected 153 | Tasks done: 51. New data added to dataset: [[-0.31492597 3.78166845]] 154 | optimizer.py: All expected 155 | Tasks done: 52. New data added to dataset: [[-0.31492597 3.76209739]] 156 | optimizer.py: All expected 157 | Tasks done: 53. New data added to dataset: [[-0.31572629 3.79510863]] 158 | optimizer.py: All expected 159 | Tasks done: 54. New data added to dataset: [[-0.31492597 3.78669359]] 160 | optimizer.py: All expected 161 | Tasks done: 55. New data added to dataset: [[-0.31572629 3.76568138]] 162 | optimizer.py: All expected 163 | Tasks done: 56. New data added to dataset: [[-0.31572629 3.76737023]] 164 | optimizer.py: All expected 165 | Tasks done: 57. New data added to dataset: [[-0.31572629 3.77722344]] 166 | optimizer.py: All expected 167 | Tasks done: 58. New data added to dataset: [[-0.31572629 3.76170219]] 168 | optimizer.py: All expected 169 | Tasks done: 59. New data added to dataset: [[-0.31492597 3.78300756]] 170 | optimizer.py: All expected 171 | Tasks done: 60. New data added to dataset: [[-0.31492597 3.77316019]] 172 | optimizer.py: All expected 173 | Tasks done: 61. New data added to dataset: [[-0.31492597 3.78232834]] 174 | optimizer.py: All expected 175 | Tasks done: 62. New data added to dataset: [[-0.31492597 3.76352296]] 176 | optimizer.py: All expected 177 | Tasks done: 63. New data added to dataset: [[-0.31492597 3.76947198]] 178 | optimizer.py: All expected 179 | Tasks done: 64. New data added to dataset: [[-0.31492597 3.76220937]] 180 | optimizer.py: All expected 181 | Tasks done: 65. New data added to dataset: [[-0.31572629 3.7731283 ]] 182 | optimizer.py: All expected 183 | Tasks done: 66. New data added to dataset: [[-0.31572629 3.78004079]] 184 | optimizer.py: All expected 185 | Tasks done: 67. New data added to dataset: [[-0.31492597 3.78332338]] 186 | optimizer.py: All expected 187 | Tasks done: 68. New data added to dataset: [[-0.31572629 3.77449625]] 188 | optimizer.py: All expected 189 | Tasks done: 69. New data added to dataset: [[-0.31492597 3.78489493]] 190 | optimizer.py: All expected 191 | Tasks done: 70. New data added to dataset: [[-0.31572629 3.78088352]] 192 | optimizer.py: All expected 193 | Tasks done: 71. New data added to dataset: [[-0.31492597 3.76969302]] 194 | optimizer.py: All expected 195 | Tasks done: 72. New data added to dataset: [[-0.31492597 3.77865083]] 196 | optimizer.py: All expected 197 | Tasks done: 73. New data added to dataset: [[-0.31492597 3.768421 ]] 198 | optimizer.py: All expected 199 | Tasks done: 74. New data added to dataset: [[-0.31492597 3.7827422 ]] 200 | optimizer.py: All expected 201 | Tasks done: 75. New data added to dataset: [[-0.31572629 3.80318343]] 202 | optimizer.py: All expected 203 | Tasks done: 76. New data added to dataset: [[-0.31572629 3.77559388]] 204 | optimizer.py: All expected 205 | Tasks done: 77. New data added to dataset: [[-0.31492597 3.78951294]] 206 | optimizer.py: All expected 207 | Tasks done: 78. New data added to dataset: [[-0.31492597 3.79247483]] 208 | optimizer.py: All expected 209 | Tasks done: 79. New data added to dataset: [[-0.31572629 3.76335416]] 210 | optimizer.py: All expected 211 | Tasks done: 80. New data added to dataset: [[-0.31492597 3.76721631]] 212 | optimizer.py: All expected 213 | Tasks done: 81. New data added to dataset: [[-0.31572629 3.77626991]] 214 | optimizer.py: All expected 215 | Tasks done: 82. New data added to dataset: [[-0.31572629 3.76600005]] 216 | optimizer.py: All expected 217 | Tasks done: 83. New data added to dataset: [[-0.31492597 3.7835915 ]] 218 | optimizer.py: All expected 219 | Tasks done: 84. New data added to dataset: [[-0.31492597 3.77819591]] 220 | optimizer.py: All expected 221 | Tasks done: 85. New data added to dataset: [[-0.31572629 3.77638345]] 222 | optimizer.py: All expected 223 | Tasks done: 86. New data added to dataset: [[-0.31572629 3.80340913]] 224 | optimizer.py: All expected 225 | Tasks done: 87. New data added to dataset: [[-0.31492597 3.78483063]] 226 | optimizer.py: All expected 227 | Tasks done: 88. New data added to dataset: [[-0.31492597 3.78248933]] 228 | optimizer.py: All expected 229 | Tasks done: 89. New data added to dataset: [[-0.31492597 3.78276218]] 230 | optimizer.py: All expected 231 | Tasks done: 90. New data added to dataset: [[-0.31572629 3.76607962]] 232 | optimizer.py: All expected 233 | Tasks done: 91. New data added to dataset: [[-0.31492597 3.77424144]] 234 | optimizer.py: All expected 235 | Tasks done: 92. New data added to dataset: [[-0.31492597 3.77041247]] 236 | optimizer.py: All expected 237 | Tasks done: 93. New data added to dataset: [[-0.31572629 3.79276563]] 238 | optimizer.py: All expected 239 | Tasks done: 94. New data added to dataset: [[-0.31492597 3.78398858]] 240 | optimizer.py: All expected 241 | Tasks done: 95. New data added to dataset: [[-0.31492597 3.76692534]] 242 | optimizer.py: All expected 243 | Tasks done: 96. New data added to dataset: [[-0.31572629 3.79986824]] 244 | optimizer.py: All expected 245 | Tasks done: 97. New data added to dataset: [[-0.31492597 3.78280749]] 246 | optimizer.py: All expected 247 | Tasks done: 98. New data added to dataset: [[-0.31492597 3.78253456]] 248 | optimizer.py: All expected 249 | Tasks done: 99. New data added to dataset: [[-0.31492597 3.78589576]] 250 | optimizer.py: All expected 251 | Tasks done: 100. New data added to dataset: [[-0.31572629 3.76137722]] 252 | optimizer.py: All expected 253 | Tasks done: 101. New data added to dataset: [[-0.31572629 3.77962872]] 254 | optimizer.py: All expected 255 | Tasks done: 102. New data added to dataset: [[-0.31572629 3.7706444 ]] 256 | optimizer.py: All expected 257 | Tasks done: 103. New data added to dataset: [[-0.31492597 3.78349465]] 258 | optimizer.py: All expected 259 | Tasks done: 104. New data added to dataset: [[-0.31492597 3.77111604]] 260 | optimizer.py: All expected 261 | Tasks done: 105. New data added to dataset: [[-0.31572629 3.77810334]] 262 | optimizer.py: All expected 263 | Tasks done: 106. New data added to dataset: [[-0.31492597 3.76084604]] 264 | optimizer.py: All expected 265 | Tasks done: 107. New data added to dataset: [[-0.31492597 3.76443882]] 266 | optimizer.py: All expected 267 | Tasks done: 108. New data added to dataset: [[-0.31572629 3.77118806]] 268 | optimizer.py: All expected 269 | Tasks done: 109. New data added to dataset: [[-0.31572629 3.75025185]] 270 | optimizer.py: All expected 271 | Tasks done: 110. New data added to dataset: [[-0.31572629 3.77144083]] 272 | optimizer.py: All expected 273 | Tasks done: 111. New data added to dataset: [[-0.31572629 3.779997 ]] 274 | optimizer.py: All expected 275 | Tasks done: 112. New data added to dataset: [[-0.31572629 3.77109988]] 276 | optimizer.py: All expected 277 | Tasks done: 113. New data added to dataset: [[-0.31492597 3.76921624]] 278 | optimizer.py: All expected 279 | Tasks done: 114. New data added to dataset: [[-0.31492597 3.7580337 ]] 280 | optimizer.py: All expected 281 | Tasks done: 115. New data added to dataset: [[-0.31572629 3.76568719]] 282 | optimizer.py: All expected 283 | Tasks done: 116. New data added to dataset: [[-0.31492597 3.78200153]] 284 | optimizer.py: All expected 285 | Tasks done: 117. New data added to dataset: [[-0.31572629 3.76921861]] 286 | optimizer.py: All expected 287 | Tasks done: 118. New data added to dataset: [[-0.31492597 3.78299464]] 288 | optimizer.py: All expected 289 | Tasks done: 119. New data added to dataset: [[-0.31572629 3.77335211]] 290 | optimizer.py: All expected 291 | Tasks done: 120. New data added to dataset: [[-0.31572629 3.79591653]] 292 | optimizer.py: All expected 293 | Tasks done: 121. New data added to dataset: [[-0.31572629 3.78019844]] 294 | optimizer.py: All expected 295 | Tasks done: 122. New data added to dataset: [[-0.31572629 3.78501472]] 296 | optimizer.py: All expected 297 | Tasks done: 123. New data added to dataset: [[-0.31572629 3.7851015 ]] 298 | optimizer.py: All expected 299 | Tasks done: 124. New data added to dataset: [[-0.31572629 3.77520338]] 300 | optimizer.py: All expected 301 | Tasks done: 125. New data added to dataset: [[-0.31572629 3.77063091]] 302 | optimizer.py: All expected 303 | Tasks done: 126. New data added to dataset: [[-0.31572629 3.77830379]] 304 | optimizer.py: All expected 305 | Tasks done: 127. New data added to dataset: [[-0.31492597 3.77752902]] 306 | optimizer.py: All expected 307 | Tasks done: 128. New data added to dataset: [[-0.31492597 3.77465142]] 308 | optimizer.py: All expected 309 | Tasks done: 129. New data added to dataset: [[-0.31492597 3.77200012]] 310 | optimizer.py: All expected 311 | Tasks done: 130. New data added to dataset: [[-0.31492597 3.781593 ]] 312 | optimizer.py: All expected 313 | Tasks done: 131. New data added to dataset: [[-0.31492597 3.7801511 ]] 314 | optimizer.py: All expected 315 | Tasks done: 132. New data added to dataset: [[-0.31572629 3.7787044 ]] 316 | optimizer.py: All expected 317 | Tasks done: 133. New data added to dataset: [[-0.31492597 3.77721263]] 318 | optimizer.py: All expected 319 | Tasks done: 134. New data added to dataset: [[-0.31492597 3.77304118]] 320 | optimizer.py: All expected 321 | Tasks done: 135. New data added to dataset: [[-0.31492597 3.76398523]] 322 | optimizer.py: All expected 323 | Tasks done: 136. New data added to dataset: [[-0.31492597 3.7702625 ]] 324 | optimizer.py: All expected 325 | Tasks done: 137. New data added to dataset: [[-0.31492597 3.77040973]] 326 | optimizer.py: All expected 327 | Tasks done: 138. New data added to dataset: [[-0.31492597 3.75496866]] 328 | optimizer.py: All expected 329 | Tasks done: 139. New data added to dataset: [[-0.31492597 3.76551499]] 330 | optimizer.py: All expected 331 | Tasks done: 140. New data added to dataset: [[-0.31492597 3.76856586]] 332 | optimizer.py: All expected 333 | Tasks done: 141. New data added to dataset: [[-0.31492597 3.7717378 ]] 334 | optimizer.py: All expected 335 | Tasks done: 142. New data added to dataset: [[-0.31492597 3.78843656]] 336 | optimizer.py: All expected 337 | Tasks done: 143. New data added to dataset: [[-0.31572629 3.7859157 ]] 338 | optimizer.py: All expected 339 | Tasks done: 144. New data added to dataset: [[-0.31492597 3.77993546]] 340 | optimizer.py: All expected 341 | Tasks done: 145. New data added to dataset: [[-0.31492597 3.7880567 ]] 342 | optimizer.py: All expected 343 | Tasks done: 146. New data added to dataset: [[-0.31492597 3.75835679]] 344 | optimizer.py: All expected 345 | Tasks done: 147. New data added to dataset: [[-0.31492597 3.76142102]] 346 | optimizer.py: All expected 347 | Tasks done: 148. New data added to dataset: [[-0.31492597 3.77787741]] 348 | optimizer.py: All expected 349 | Tasks done: 149. New data added to dataset: [[-0.31572629 3.76818643]] 350 | optimizer.py: All expected 351 | Tasks done: 150. New data added to dataset: [[-0.31492597 3.78228254]] 352 | optimizer.py: All expected 353 | Tasks done: 151. New data added to dataset: [[-0.31492597 3.77085183]] 354 | optimizer.py: All expected 355 | Tasks done: 152. New data added to dataset: [[-0.31492597 3.78936861]] 356 | optimizer.py: All expected 357 | Tasks done: 153. New data added to dataset: [[-0.31492597 3.7722861 ]] 358 | optimizer.py: All expected 359 | Tasks done: 154. New data added to dataset: [[-0.31492597 3.78729475]] 360 | optimizer.py: All expected 361 | Tasks done: 155. New data added to dataset: [[-0.31492597 3.78297096]] 362 | optimizer.py: All expected 363 | Tasks done: 156. New data added to dataset: [[-0.31572629 3.77812238]] 364 | optimizer.py: All expected 365 | Tasks done: 157. New data added to dataset: [[-0.31492597 3.77335783]] 366 | optimizer.py: All expected 367 | Tasks done: 158. New data added to dataset: [[-0.31492597 3.78580876]] 368 | optimizer.py: All expected 369 | Tasks done: 159. New data added to dataset: [[-0.31492597 3.75677557]] 370 | optimizer.py: All expected 371 | Tasks done: 160. New data added to dataset: [[-0.31492597 3.77705173]] 372 | optimizer.py: All expected 373 | Tasks done: 161. New data added to dataset: [[-0.31492597 3.77660892]] 374 | optimizer.py: All expected 375 | Tasks done: 162. New data added to dataset: [[-0.31492597 3.77652647]] 376 | optimizer.py: All expected 377 | Tasks done: 163. New data added to dataset: [[-0.31492597 3.78150616]] 378 | optimizer.py: All expected 379 | Tasks done: 164. New data added to dataset: [[-0.31492597 3.78491206]] 380 | optimizer.py: All expected 381 | Tasks done: 165. New data added to dataset: [[-0.31492597 3.77129865]] 382 | optimizer.py: All expected 383 | Tasks done: 166. New data added to dataset: [[-0.31492597 3.79178168]] 384 | optimizer.py: All expected 385 | Tasks done: 167. New data added to dataset: [[-0.31492597 3.78935677]] 386 | optimizer.py: All expected 387 | Tasks done: 168. New data added to dataset: [[-0.31572629 3.7884433 ]] 388 | optimizer.py: All expected 389 | Tasks done: 169. New data added to dataset: [[-0.31572629 3.78289114]] 390 | optimizer.py: All expected 391 | Tasks done: 170. New data added to dataset: [[-0.31572629 3.79063878]] 392 | optimizer.py: All expected 393 | Tasks done: 171. New data added to dataset: [[-0.31492597 3.78237671]] 394 | optimizer.py: All expected 395 | Tasks done: 172. New data added to dataset: [[-0.31572629 3.78429471]] 396 | optimizer.py: All expected 397 | Tasks done: 173. New data added to dataset: [[-0.31492597 3.77092089]] 398 | optimizer.py: All expected 399 | Tasks done: 174. New data added to dataset: [[-0.31572629 3.77924824]] 400 | optimizer.py: All expected 401 | Tasks done: 175. New data added to dataset: [[-0.31492597 3.77088743]] 402 | optimizer.py: All expected 403 | Tasks done: 176. New data added to dataset: [[-0.31572629 3.77862843]] 404 | optimizer.py: All expected 405 | Tasks done: 177. New data added to dataset: [[-0.31572629 3.79842216]] 406 | optimizer.py: All expected 407 | Tasks done: 178. New data added to dataset: [[-0.31492597 3.77968714]] 408 | optimizer.py: All expected 409 | Tasks done: 179. New data added to dataset: [[-0.31492597 3.78244231]] 410 | optimizer.py: All expected 411 | Tasks done: 180. New data added to dataset: [[-0.31492597 3.79438105]] 412 | optimizer.py: All expected 413 | Tasks done: 181. New data added to dataset: [[-0.31492597 3.76803339]] 414 | optimizer.py: All expected 415 | Tasks done: 182. New data added to dataset: [[-0.31572629 3.79578461]] 416 | optimizer.py: All expected 417 | Tasks done: 183. New data added to dataset: [[-0.31492597 3.78106912]] 418 | optimizer.py: All expected 419 | Tasks done: 184. New data added to dataset: [[-0.31572629 3.77377419]] 420 | optimizer.py: All expected 421 | Tasks done: 185. New data added to dataset: [[-0.31572629 3.78545104]] 422 | optimizer.py: All expected 423 | Tasks done: 186. New data added to dataset: [[-0.31492597 3.79168102]] 424 | optimizer.py: All expected 425 | Tasks done: 187. New data added to dataset: [[-0.31492597 3.77762836]] 426 | optimizer.py: All expected 427 | Tasks done: 188. New data added to dataset: [[-0.31572629 3.79411463]] 428 | optimizer.py: All expected 429 | Tasks done: 189. New data added to dataset: [[-0.31572629 3.77421538]] 430 | optimizer.py: All expected 431 | Tasks done: 190. New data added to dataset: [[-0.31572629 3.78533099]] 432 | optimizer.py: All expected 433 | Tasks done: 191. New data added to dataset: [[-0.31492597 3.79796273]] 434 | optimizer.py: All expected 435 | Tasks done: 192. New data added to dataset: [[-0.31492597 3.76799455]] 436 | optimizer.py: All expected 437 | Tasks done: 193. New data added to dataset: [[-0.31572629 3.7934618 ]] 438 | optimizer.py: All expected 439 | Tasks done: 194. New data added to dataset: [[-0.31492597 3.77216844]] 440 | optimizer.py: All expected 441 | Tasks done: 195. New data added to dataset: [[-0.31572629 3.7731464 ]] 442 | optimizer.py: All expected 443 | Tasks done: 196. New data added to dataset: [[-0.31572629 3.77594781]] 444 | optimizer.py: All expected 445 | Tasks done: 197. New data added to dataset: [[-0.31572629 3.7846958 ]] 446 | optimizer.py: All expected 447 | Tasks done: 198. New data added to dataset: [[-0.31492597 3.75810381]] 448 | optimizer.py: All expected 449 | Tasks done: 199. New data added to dataset: [[-0.31492597 3.77908337]] 450 | optimizer.py: All expected 451 | Tasks done: 200. New data added to dataset: [[-0.31572629 3.77350887]] 452 | optimizer.py: All expected 453 | Tasks done: 201. New data added to dataset: [[-0.31492597 3.76905189]] 454 | optimizer.py: All expected 455 | Tasks done: 202. New data added to dataset: [[-0.31492597 3.78542869]] 456 | optimizer.py: All expected 457 | Tasks done: 203. New data added to dataset: [[-0.31492597 3.76114215]] 458 | optimizer.py: All expected 459 | Tasks done: 204. New data added to dataset: [[-0.31572629 3.78557359]] 460 | optimizer.py: All expected 461 | Tasks done: 205. New data added to dataset: [[-0.31492597 3.76649755]] 462 | optimizer.py: All expected 463 | Tasks done: 206. New data added to dataset: [[-0.31412565 3.79379724]] 464 | optimizer.py: All expected 465 | Tasks done: 207. New data added to dataset: [[-0.31412565 3.7879924 ]] 466 | optimizer.py: All expected 467 | Tasks done: 208. New data added to dataset: [[-0.31572629 3.77178807]] 468 | optimizer.py: All expected 469 | Tasks done: 209. New data added to dataset: [[-0.31572629 3.7858957 ]] 470 | optimizer.py: All expected 471 | Tasks done: 210. New data added to dataset: [[-0.31492597 3.79835778]] 472 | optimizer.py: All expected 473 | Tasks done: 211. New data added to dataset: [[-0.31492597 3.7633941 ]] 474 | optimizer.py: All expected 475 | Tasks done: 212. New data added to dataset: [[-0.31492597 3.77946623]] 476 | optimizer.py: All expected 477 | Tasks done: 213. New data added to dataset: [[-0.31492597 3.78247649]] 478 | optimizer.py: All expected 479 | Tasks done: 214. New data added to dataset: [[-0.31492597 3.78382453]] 480 | optimizer.py: All expected 481 | Tasks done: 215. New data added to dataset: [[-0.31492597 3.77674189]] 482 | optimizer.py: All expected 483 | Tasks done: 216. New data added to dataset: [[-0.31492597 3.75614766]] 484 | optimizer.py: All expected 485 | Tasks done: 217. New data added to dataset: [[-0.31572629 3.77009964]] 486 | optimizer.py: All expected 487 | Tasks done: 218. New data added to dataset: [[-0.31492597 3.78556051]] 488 | optimizer.py: All expected 489 | Tasks done: 219. New data added to dataset: [[-0.31572629 3.78218623]] 490 | optimizer.py: All expected 491 | Tasks done: 220. New data added to dataset: [[-0.31492597 3.7849711 ]] 492 | optimizer.py: All expected 493 | Tasks done: 221. New data added to dataset: [[-0.31572629 3.75009893]] 494 | optimizer.py: All expected 495 | Tasks done: 222. New data added to dataset: [[-0.31492597 3.78841326]] 496 | optimizer.py: All expected 497 | Tasks done: 223. New data added to dataset: [[-0.31492597 3.78518224]] 498 | optimizer.py: All expected 499 | Tasks done: 224. New data added to dataset: [[-0.31572629 3.77892379]] 500 | optimizer.py: All expected 501 | Tasks done: 225. New data added to dataset: [[-0.31492597 3.78808604]] 502 | optimizer.py: All expected 503 | Tasks done: 226. New data added to dataset: [[-0.31492597 3.78566903]] 504 | optimizer.py: All expected 505 | Tasks done: 227. New data added to dataset: [[-0.31492597 3.78597244]] 506 | optimizer.py: All expected 507 | Tasks done: 228. New data added to dataset: [[-0.31572629 3.75061783]] 508 | optimizer.py: All expected 509 | Tasks done: 229. New data added to dataset: [[-0.31492597 3.77779886]] 510 | optimizer.py: All expected 511 | Tasks done: 230. New data added to dataset: [[-0.31492597 3.79178335]] 512 | optimizer.py: All expected 513 | Tasks done: 231. New data added to dataset: [[-0.31492597 3.78647617]] 514 | optimizer.py: All expected 515 | Tasks done: 232. New data added to dataset: [[-0.31412565 3.79832265]] 516 | optimizer.py: All expected 517 | Tasks done: 233. New data added to dataset: [[-0.31572629 3.75802875]] 518 | optimizer.py: All expected 519 | Tasks done: 234. New data added to dataset: [[-0.31492597 3.78493527]] 520 | optimizer.py: All expected 521 | Tasks done: 235. New data added to dataset: [[-0.31572629 3.77583442]] 522 | optimizer.py: All expected 523 | Tasks done: 236. New data added to dataset: [[-0.31572629 3.77804778]] 524 | optimizer.py: All expected 525 | Tasks done: 237. New data added to dataset: [[-0.31492597 3.76459119]] 526 | optimizer.py: All expected 527 | Tasks done: 238. New data added to dataset: [[-0.31492597 3.77658449]] 528 | optimizer.py: All expected 529 | Tasks done: 239. New data added to dataset: [[-0.31572629 3.7781658 ]] 530 | optimizer.py: All expected 531 | Tasks done: 240. New data added to dataset: [[-0.31572629 3.77235348]] 532 | optimizer.py: All expected 533 | Tasks done: 241. New data added to dataset: [[-0.31572629 3.78629649]] 534 | optimizer.py: All expected 535 | Tasks done: 242. New data added to dataset: [[-0.31572629 3.77154596]] 536 | optimizer.py: All expected 537 | Tasks done: 243. New data added to dataset: [[-0.31572629 3.77185935]] 538 | optimizer.py: All expected 539 | Tasks done: 244. New data added to dataset: [[-0.31412565 3.76422088]] 540 | optimizer.py: All expected 541 | Tasks done: 245. New data added to dataset: [[-0.31492597 3.7667272 ]] 542 | optimizer.py: All expected 543 | Tasks done: 246. New data added to dataset: [[-0.31572629 3.78301377]] 544 | optimizer.py: All expected 545 | Tasks done: 247. New data added to dataset: [[-0.31572629 3.77953349]] 546 | optimizer.py: All expected 547 | Tasks done: 248. New data added to dataset: [[-0.31492597 3.76401182]] 548 | optimizer.py: All expected 549 | Tasks done: 249. New data added to dataset: [[-0.31572629 3.77314579]] 550 | optimizer.py: All expected 551 | Tasks done: 250. New data added to dataset: [[-0.31492597 3.77397083]] 552 | optimizer.py: All expected 553 | Tasks done: 251. New data added to dataset: [[-0.31492597 3.76747437]] 554 | optimizer.py: All expected 555 | Tasks done: 252. New data added to dataset: [[-0.31572629 3.77774256]] 556 | optimizer.py: All expected 557 | Tasks done: 253. New data added to dataset: [[-0.31492597 3.776395 ]] 558 | optimizer.py: All expected 559 | Tasks done: 254. New data added to dataset: [[-0.31492597 3.77678931]] 560 | optimizer.py: All expected 561 | Tasks done: 255. New data added to dataset: [[-0.31492597 3.76542446]] 562 | optimizer.py: All expected 563 | Tasks done: 256. New data added to dataset: [[-0.31572629 3.77805228]] 564 | optimizer.py: All expected 565 | Tasks done: 257. New data added to dataset: [[-0.31492597 3.76947474]] 566 | optimizer.py: All expected 567 | Tasks done: 258. New data added to dataset: [[-0.31492597 3.79114632]] 568 | optimizer.py: All expected 569 | Tasks done: 259. New data added to dataset: [[-0.31572629 3.79121029]] 570 | optimizer.py: All expected 571 | Tasks done: 260. New data added to dataset: [[-0.31572629 3.78501808]] 572 | optimizer.py: All expected 573 | Tasks done: 261. New data added to dataset: [[-0.31572629 3.77639467]] 574 | optimizer.py: All expected 575 | Tasks done: 262. New data added to dataset: [[-0.31572629 3.77268061]] 576 | optimizer.py: All expected 577 | Tasks done: 263. New data added to dataset: [[-0.31492597 3.75743746]] 578 | optimizer.py: All expected 579 | Tasks done: 264. New data added to dataset: [[-0.31492597 3.7770208 ]] 580 | optimizer.py: All expected 581 | Tasks done: 265. New data added to dataset: [[-0.31492597 3.78083016]] 582 | optimizer.py: All expected 583 | Tasks done: 266. New data added to dataset: [[-0.31492597 3.77631491]] 584 | optimizer.py: All expected 585 | Tasks done: 267. New data added to dataset: [[-0.31572629 3.79535046]] 586 | optimizer.py: All expected 587 | Tasks done: 268. New data added to dataset: [[-0.31572629 3.77292204]] 588 | optimizer.py: All expected 589 | Tasks done: 269. New data added to dataset: [[-0.31492597 3.79690061]] 590 | optimizer.py: All expected 591 | Tasks done: 270. New data added to dataset: [[-0.31572629 3.77261398]] 592 | optimizer.py: All expected 593 | Tasks done: 271. New data added to dataset: [[-0.31572629 3.77924214]] 594 | optimizer.py: All expected 595 | Tasks done: 272. New data added to dataset: [[-0.31492597 3.77627462]] 596 | optimizer.py: All expected 597 | Tasks done: 273. New data added to dataset: [[-0.31492597 3.77846462]] 598 | optimizer.py: All expected 599 | Tasks done: 274. New data added to dataset: [[-0.31572629 3.76197375]] 600 | optimizer.py: All expected 601 | Tasks done: 275. New data added to dataset: [[-0.31492597 3.75295238]] 602 | optimizer.py: All expected 603 | Tasks done: 276. New data added to dataset: [[-0.31492597 3.78036948]] 604 | optimizer.py: All expected 605 | Tasks done: 277. New data added to dataset: [[-0.31572629 3.76944959]] 606 | optimizer.py: All expected 607 | Tasks done: 278. New data added to dataset: [[-0.31492597 3.78073719]] 608 | optimizer.py: All expected 609 | Tasks done: 279. New data added to dataset: [[-0.31492597 3.76116009]] 610 | optimizer.py: All expected 611 | Tasks done: 280. New data added to dataset: [[-0.31492597 3.77741907]] 612 | optimizer.py: All expected 613 | Tasks done: 281. New data added to dataset: [[-0.31572629 3.77262653]] 614 | optimizer.py: All expected 615 | Tasks done: 282. New data added to dataset: [[-0.31572629 3.78844114]] 616 | optimizer.py: All expected 617 | Tasks done: 283. New data added to dataset: [[-0.31572629 3.77039186]] 618 | optimizer.py: All expected 619 | Tasks done: 284. New data added to dataset: [[-0.31572629 3.77207965]] 620 | optimizer.py: All expected 621 | Tasks done: 285. New data added to dataset: [[-0.31492597 3.78422556]] 622 | optimizer.py: All expected 623 | Tasks done: 286. New data added to dataset: [[-0.31492597 3.77323678]] 624 | optimizer.py: All expected 625 | Tasks done: 287. New data added to dataset: [[-0.31572629 3.78952236]] 626 | optimizer.py: All expected 627 | Tasks done: 288. New data added to dataset: [[-0.31492597 3.77825505]] 628 | optimizer.py: All expected 629 | Tasks done: 289. New data added to dataset: [[-0.31492597 3.77296271]] 630 | optimizer.py: All expected 631 | Tasks done: 290. New data added to dataset: [[-0.31492597 3.77962976]] 632 | optimizer.py: All expected 633 | Tasks done: 291. New data added to dataset: [[-0.31492597 3.76759329]] 634 | optimizer.py: All expected 635 | Tasks done: 292. New data added to dataset: [[-0.31492597 3.77452379]] 636 | optimizer.py: All expected 637 | Tasks done: 293. New data added to dataset: [[-0.31572629 3.77513937]] 638 | optimizer.py: All expected 639 | Tasks done: 294. New data added to dataset: [[-0.31572629 3.77251237]] 640 | optimizer.py: All expected 641 | Tasks done: 295. New data added to dataset: [[-0.31492597 3.79823092]] 642 | optimizer.py: All expected 643 | Tasks done: 296. New data added to dataset: [[-0.31572629 3.76302235]] 644 | optimizer.py: All expected 645 | Tasks done: 297. New data added to dataset: [[-0.31572629 3.76207314]] 646 | optimizer.py: All expected 647 | Tasks done: 298. New data added to dataset: [[-0.31492597 3.76698834]] 648 | optimizer.py: All expected 649 | Tasks done: 299. New data added to dataset: [[-0.31652661 3.77410829]] 650 | optimizer.py: All expected 651 | Tasks done: 300. New data added to dataset: [[-0.31492597 3.76882105]] 652 | optimizer.py: All expected 653 | Tasks done: 301. New data added to dataset: [[-0.31572629 3.78060272]] 654 | optimizer.py: All expected 655 | Tasks done: 302. New data added to dataset: [[-0.31492597 3.7877622 ]] 656 | optimizer.py: All expected 657 | Tasks done: 303. New data added to dataset: [[-0.31492597 3.77326552]] 658 | optimizer.py: All expected 659 | Tasks done: 304. New data added to dataset: [[-0.31492597 3.79703296]] 660 | optimizer.py: All expected 661 | Tasks done: 305. New data added to dataset: [[-0.31572629 3.79013735]] 662 | optimizer.py: All expected 663 | Tasks done: 306. New data added to dataset: [[-0.31492597 3.76854862]] 664 | optimizer.py: All expected 665 | Tasks done: 307. New data added to dataset: [[-0.31492597 3.77448308]] 666 | optimizer.py: All expected 667 | Tasks done: 308. New data added to dataset: [[-0.31492597 3.75579198]] 668 | optimizer.py: All expected 669 | Tasks done: 309. New data added to dataset: [[-0.31572629 3.76075251]] 670 | optimizer.py: All expected 671 | Tasks done: 310. New data added to dataset: [[-0.31572629 3.7711719 ]] 672 | optimizer.py: All expected 673 | Tasks done: 311. New data added to dataset: [[-0.31492597 3.77655138]] 674 | optimizer.py: All expected 675 | Tasks done: 312. New data added to dataset: [[-0.31492597 3.76273478]] 676 | optimizer.py: All expected 677 | Tasks done: 313. New data added to dataset: [[-0.31572629 3.77400158]] 678 | optimizer.py: All expected 679 | Tasks done: 314. New data added to dataset: [[-0.31572629 3.77077604]] 680 | optimizer.py: All expected 681 | Tasks done: 315. New data added to dataset: [[-0.31652661 3.78671792]] 682 | optimizer.py: All expected 683 | Tasks done: 316. New data added to dataset: [[-0.31492597 3.79488121]] 684 | optimizer.py: All expected 685 | Tasks done: 317. New data added to dataset: [[-0.31492597 3.77950596]] 686 | optimizer.py: All expected 687 | Tasks done: 318. New data added to dataset: [[-0.31492597 3.7656091 ]] 688 | optimizer.py: All expected 689 | Tasks done: 319. New data added to dataset: [[-0.31492597 3.78170436]] 690 | optimizer.py: All expected 691 | Tasks done: 320. New data added to dataset: [[-0.31492597 3.77717891]] 692 | optimizer.py: All expected 693 | Tasks done: 321. New data added to dataset: [[-0.31492597 3.75958264]] 694 | optimizer.py: All expected 695 | Tasks done: 322. New data added to dataset: [[-0.31492597 3.75482154]] 696 | optimizer.py: All expected 697 | Tasks done: 323. New data added to dataset: [[-0.31492597 3.79453206]] 698 | optimizer.py: All expected 699 | Tasks done: 324. New data added to dataset: [[-0.31572629 3.77725245]] 700 | optimizer.py: All expected 701 | Tasks done: 325. New data added to dataset: [[-0.31492597 3.78233405]] 702 | optimizer.py: All expected 703 | Tasks done: 326. New data added to dataset: [[-0.31492597 3.78821738]] 704 | optimizer.py: All expected 705 | Tasks done: 327. New data added to dataset: [[-0.31492597 3.76281233]] 706 | optimizer.py: All expected 707 | Tasks done: 328. New data added to dataset: [[-0.31572629 3.77411885]] 708 | optimizer.py: All expected 709 | Tasks done: 329. New data added to dataset: [[-0.31572629 3.77721148]] 710 | optimizer.py: All expected 711 | Tasks done: 330. New data added to dataset: [[-0.31572629 3.78169517]] 712 | optimizer.py: All expected 713 | Tasks done: 331. New data added to dataset: [[-0.31572629 3.7958739 ]] 714 | optimizer.py: All expected 715 | Tasks done: 332. New data added to dataset: [[-0.31492597 3.77616964]] 716 | optimizer.py: All expected 717 | Tasks done: 333. New data added to dataset: [[-0.31492597 3.76962347]] 718 | optimizer.py: All expected 719 | Tasks done: 334. New data added to dataset: [[-0.31492597 3.77958534]] 720 | optimizer.py: All expected 721 | Tasks done: 335. New data added to dataset: [[-0.31492597 3.77802497]] 722 | optimizer.py: All expected 723 | Tasks done: 336. New data added to dataset: [[-0.31492597 3.76711888]] 724 | optimizer.py: All expected 725 | Tasks done: 337. New data added to dataset: [[-0.31572629 3.78349946]] 726 | optimizer.py: All expected 727 | Tasks done: 338. New data added to dataset: [[-0.31492597 3.76763036]] 728 | optimizer.py: All expected 729 | Tasks done: 339. New data added to dataset: [[-0.31572629 3.80315532]] 730 | optimizer.py: All expected 731 | Tasks done: 340. New data added to dataset: [[-0.31492597 3.77256137]] 732 | optimizer.py: All expected 733 | Tasks done: 341. New data added to dataset: [[-0.31492597 3.76493707]] 734 | optimizer.py: All expected 735 | Tasks done: 342. New data added to dataset: [[-0.31492597 3.78129208]] 736 | optimizer.py: All expected 737 | Tasks done: 343. New data added to dataset: [[-0.31572629 3.77315629]] 738 | optimizer.py: All expected 739 | Tasks done: 344. New data added to dataset: [[-0.31572629 3.77709988]] 740 | optimizer.py: All expected 741 | Tasks done: 345. New data added to dataset: [[-0.31492597 3.8001557 ]] 742 | optimizer.py: All expected 743 | Tasks done: 346. New data added to dataset: [[-0.31572629 3.78662506]] 744 | optimizer.py: All expected 745 | Tasks done: 347. New data added to dataset: [[-0.31572629 3.74950059]] 746 | optimizer.py: All expected 747 | Tasks done: 348. New data added to dataset: [[-0.31572629 3.7747772 ]] 748 | optimizer.py: All expected 749 | Tasks done: 349. New data added to dataset: [[-0.31572629 3.77981563]] 750 | optimizer.py: All expected 751 | Tasks done: 350. New data added to dataset: [[-0.31492597 3.7868391 ]] 752 | optimizer.py: All expected 753 | Tasks done: 351. New data added to dataset: [[-0.31572629 3.78065361]] 754 | optimizer.py: All expected 755 | Tasks done: 352. New data added to dataset: [[-0.31492597 3.77483832]] 756 | optimizer.py: All expected 757 | Tasks done: 353. New data added to dataset: [[-0.31572629 3.78195197]] 758 | optimizer.py: All expected 759 | Tasks -------------------------------------------------------------------------------- /data/regret_analysis/parser.py: -------------------------------------------------------------------------------- 1 | import os 2 | import re 3 | from learning_objective.hidden_function import true_evaluate, get_settings 4 | 5 | lim_domain = get_settings(lim_domain_only=True) 6 | 7 | scribe = open("./data/regret_analysis/gp_hm.csv", 'w') 8 | 9 | for f in os.listdir("./data/regret_analysis"): 10 | if f.startswith("gp_hm"): 11 | print f 12 | f = "data/regret_analysis/" + f 13 | for line in open(f, 'r'): 14 | r = re.compile('Tasks done:(.*?). New') 15 | m = r.search(line) 16 | if m: 17 | print line, 18 | r = re.compile('\[ (.*?)\]') 19 | n = r.search(line) 20 | print n.group(1).split() 21 | 22 | val = n.group(1).split() 23 | val[0] = val[0].replace("[", "") 24 | print val 25 | 26 | query = [float(elem) for elem in val[0:4]] 27 | print query 28 | 29 | tasknum = int(m.group(1)) 30 | y_val = true_evaluate(query, lim_domain)[0, -1] 31 | scribe.write(str(tasknum) + "," + str(y_val) + "\n") 32 | 33 | 34 | scribe.close() 35 | -------------------------------------------------------------------------------- /learning_objective/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RuiShu/nn-bayesian-optimization/e98dc326344d1dc3609de5fc3eb472e06d48d6af/learning_objective/__init__.py -------------------------------------------------------------------------------- /learning_objective/gaussian_mix.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | from numpy import atleast_2d as vec 3 | from scipy.stats import multivariate_normal 4 | 5 | 6 | def gaussian_mix(query): 7 | # Assign multivariate gaussians to be present in the space. 8 | gaussians = [multivariate_normal(mean = [0.9, 0.1], cov = [[.05, 0], [0, .05]])] 9 | gaussians.append(multivariate_normal(mean = [0.9, 0.9], cov = [[0.07, 0.01], [0.01, .07]])) 10 | gaussians.append(multivariate_normal(mean = [0.15, 0.7], cov = [[.03, 0], [0, .03]])) 11 | # Initialize initial value. 12 | value = 0.0 13 | # Iterate through each gaussian in the space. 14 | for j in xrange(len(gaussians)): 15 | value += gaussians[j].pdf(query) 16 | 17 | # Take the average. 18 | gaussian_function = value / len(gaussians) 19 | return vec(gaussian_function) # vec(np.array([query.ravel(), gaussian_function]).ravel()) 20 | 21 | 22 | if __name__ == "__main__": 23 | X = gaussian_mix(np.array([0.5, 0.5])) 24 | print X 25 | print X.shape 26 | 27 | 28 | -------------------------------------------------------------------------------- /learning_objective/gaussian_process.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | from numpy import atleast_2d as vec 3 | 4 | def gaussian_process(xs): 5 | return m(xs) 6 | 7 | def m(x): 8 | return vec(-3*x*(1.5+3*x)*(3*x-1.5)*(3*x-2)) 9 | 10 | if __name__ == "__main__": 11 | print gaussian_process(0) 12 | -------------------------------------------------------------------------------- /learning_objective/hartmann.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | from numpy import atleast_2d as vec 3 | 4 | alpha = [1.0, 1.2, 3.0, 3.2] 5 | A = vec([[10, 3, 17, 3.5, 1.7, 8], 6 | [0.05, 10, 17, 0.1, 8, 14], 7 | [3, 3.5, 1.7, 10, 17, 8], 8 | [17, 8, 0.05, 10, 0.1, 14]]) 9 | P = 10 ** (-4) * vec([[1312, 1696, 5569, 124, 8283, 5886], 10 | [2329, 4135, 8307, 3736, 1004, 9991], 11 | [2348, 1451, 3522, 2883, 3047, 6650], 12 | [4047, 8828, 8732, 5743, 1091, 381]]) 13 | 14 | 15 | def hartmann(x): 16 | outer = 0.0 17 | for i in range(4): 18 | inner = 0.0 19 | for j in range(4): 20 | xj = x[0, j] 21 | Aij = A[i, j] 22 | Pij = P[i, j] 23 | inner += Aij * (xj - Pij) ** 2 24 | 25 | new = alpha[i] * np.exp(-inner) 26 | outer += new 27 | return vec(-1 * (1.1 - outer) / 0.839) 28 | 29 | 30 | if __name__ == "__main__": 31 | print alpha 32 | print A 33 | print P 34 | 35 | print hartmann([0.5,0.5,0.5,0.5]) 36 | -------------------------------------------------------------------------------- /learning_objective/hidden_function.py: -------------------------------------------------------------------------------- 1 | """ 2 | @Author: Rui Shu 3 | @Date: 4/11/15 4 | 5 | Provides a proxy hidden function for running of optimizer and mpi_optimizer 6 | """ 7 | 8 | import numpy as np 9 | import time 10 | from gaussian_mix import gaussian_mix as gm 11 | from hartmann import hartmann as hm 12 | from gaussian_process import gaussian_process as gp 13 | 14 | # Definitions for which function to evaluate 15 | HM = 0 # hartmann 16 | GP = 1 # gaussian process realization 17 | GM = 2 # gaussian mixture 18 | 19 | # Set it 20 | method = 1 # currently set as GP 21 | 22 | def get_settings(lim_domain_only=False): 23 | """ Get settings for the optimizer. 24 | """ 25 | # Settings 26 | if method == HM: 27 | lim_domain = np.array([[0., 0., 0., 0.], 28 | [ 1., 1., 1., 1.]]) 29 | elif method == GM: 30 | lim_domain = np.array([[-1., -1.], 31 | [ 1., 1.]]) 32 | elif method == GP: 33 | lim_domain = np.array([[-1.], 34 | [ 1.]]) 35 | 36 | if lim_domain_only: 37 | return lim_domain 38 | 39 | init_size = 50 40 | additional_query_size = 300 41 | selection_size = 5 42 | 43 | # Get initial set of locations to query 44 | init_query = np.random.uniform(0, 1, size=(init_size, lim_domain.shape[1])) 45 | 46 | # Establish the grid size to use. 47 | if method == HM: 48 | r = np.linspace(-1, 1, 15) 49 | X = np.meshgrid(r, r, r, r) 50 | elif method == GM: 51 | r = np.linspace(-1, 1, 50) 52 | X = np.meshgrid(r, r) 53 | if method == GP: 54 | domain = np.atleast_2d(np.linspace(-1, 1, 5000)).T 55 | else: 56 | xx = np.atleast_2d([x.ravel() for x in X]).T 57 | domain = np.atleast_2d(xx[0]) 58 | for i in range(1, xx.shape[0]): 59 | domain = np.concatenate((domain, np.atleast_2d(xx[i])), axis=0) 60 | 61 | return lim_domain, init_size, additional_query_size, init_query, domain, selection_size 62 | 63 | def evaluate(query, lim_domain): 64 | """ Queries a single point with noise. 65 | 66 | Keyword arguments: 67 | query -- a (m,) array. Single point query in input space scaled to unit cube. 68 | lim_domain -- a (2, m) array. Defines the search space boundaries of the 69 | true input space 70 | """ 71 | var = (lim_domain[1, :] - lim_domain[0, :])/2. 72 | mean = (lim_domain[1, :] + lim_domain[0, :])/2. 73 | query = np.atleast_2d(query) # Convert to (1, m) array 74 | X = query*var + mean # Scale query to true input space 75 | 76 | if method == GM: 77 | dataset = np.concatenate((query, gm(X) + np.random.randn()/100), axis=1) 78 | elif method == HM: 79 | dataset = np.concatenate((query, hm(X) + np.random.randn()/100), axis=1) 80 | elif method == GP: 81 | dataset = np.concatenate((query, gp(X) + np.random.randn()/100), axis=1) 82 | 83 | # time.sleep(2) 84 | return dataset 85 | 86 | def true_evaluate(query, lim_domain): 87 | """ Queries a single point with noise. 88 | 89 | Keyword arguments: 90 | query -- a (m,) array. Single point query in input space scaled to unit cube. 91 | lim_domain -- a (2, m) array. Defines the search space boundaries of the 92 | true input space 93 | """ 94 | var = (lim_domain[1, :] - lim_domain[0, :])/2. 95 | mean = (lim_domain[1, :] + lim_domain[0, :])/2. 96 | query = np.atleast_2d(query) # Convert to (1, m) array 97 | X = query*var + mean # Scale query to true input space 98 | 99 | if method == GM: 100 | dataset = np.concatenate((query, gm(X)), axis=1) 101 | elif method == HM: 102 | dataset = np.concatenate((query, hm(X)), axis=1) 103 | elif method == GP: 104 | dataset = np.concatenate((query, gp(X)), axis=1) 105 | 106 | return dataset 107 | -------------------------------------------------------------------------------- /mpi/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RuiShu/nn-bayesian-optimization/e98dc326344d1dc3609de5fc3eb472e06d48d6af/mpi/__init__.py -------------------------------------------------------------------------------- /mpi/mpi_definitions.py: -------------------------------------------------------------------------------- 1 | # For tahoe server: 2 | # import sys 3 | # sys.path.append('/usr/lib64/python2.7/site-packages/mpich') 4 | 5 | from mpi4py import MPI 6 | import numpy as np 7 | 8 | MASTER = 0 9 | TRAINER = 1 10 | SEND_WORKER = 3 # Send by Master: gives Worker some work 11 | SEND_TRAINER = 4 # Send by Master: gives Trainer more data 12 | EXIT_WORKER = 5 # Send by Master/Worker: tells Worker to quit 13 | EXIT_TRAINER = 6 # Send by Master/Trainer: tells Trainer to quit 14 | WORKER_READY = 7 # Send by Worker: tells Master to give work 15 | WORKER_DONE = 8 # Send by Worker: tells Master the work is done 16 | TRAINER_READY = 9 # Send by Trainer: tells Master to give work 17 | TRAINER_DONE = 10 # Send by Trainer: gives Master new neural network 18 | 19 | # Initializations and preliminaries 20 | comm = MPI.COMM_WORLD # get MPI communicator object 21 | size = comm.size # total number of processes 22 | rank = comm.rank # rank of this process 23 | status = MPI.Status() # get MPI status object 24 | -------------------------------------------------------------------------------- /mpi/mpi_master.py: -------------------------------------------------------------------------------- 1 | """ 2 | @Author: Rui Shu 3 | @Date: 4/11/15 4 | 5 | Master -- handles the Optimizer object (which takes prior data, 6 | interpolates based on a neural network-linear regression model, and selects the 7 | next set of points to query). Tells worker nodes which points to query. 8 | """ 9 | 10 | from mpi_definitions import * 11 | import time 12 | 13 | def contains_row(x, X): 14 | """ Checks if the row x is contained in matrix X 15 | """ 16 | for i in range(X.shape[0]): 17 | if all(X[i,:] == x): 18 | return True 19 | 20 | return False 21 | 22 | def master_process(print_statements): 23 | file_record = open("data/mpi_time_data.csv", "a") # record times for experiment 24 | from learning_objective.hidden_function import evaluate, true_evaluate, get_settings 25 | import random 26 | import utilities.optimizer as op 27 | 28 | print "MASTER: starting with %d workers" % (size - 1) 29 | 30 | # Setup 31 | t1 = time.time() # Get amount of time taken 32 | num_workers = size - 1 # Get number of workers 33 | closed_workers = 0 # Get number of workers EXIT'ed 34 | 35 | # Get settings relevant to the hidden function being used 36 | lim_domain, init_size, additional_query_size, init_query, domain, selection_size = get_settings() 37 | 38 | # Acquire an initial data set 39 | dataset = None 40 | init_assigned = 0 # init query counters 41 | init_done = 0 42 | 43 | print "Randomly query a set of initial points... ", 44 | 45 | while init_done < init_size: 46 | # Get a worker (trainer does not initiate conversation with master) 47 | data = comm.recv(source=MPI.ANY_SOURCE, tag=MPI.ANY_TAG, status=status) 48 | source = status.Get_source() 49 | tag = status.Get_tag() 50 | 51 | if tag == WORKER_READY: 52 | if init_assigned < init_size: 53 | # Send a (m,) array query to worker 54 | comm.send(init_query[init_assigned, :], dest=source, tag=SEND_WORKER) 55 | init_assigned += 1 56 | 57 | else: 58 | # No more intial work available. Give random work 59 | comm.send(domain[random.choice(range(domain.shape[0])), :], 60 | dest=source, tag=SEND_WORKER) 61 | 62 | if tag == WORKER_DONE: 63 | # data is a (1, m) array 64 | if dataset == None: 65 | dataset = data 66 | 67 | else: 68 | dataset = np.concatenate((dataset, data), axis=0) 69 | 70 | if contains_row(data[0, :-1], init_query): 71 | init_done += 1 72 | 73 | if print_statements: 74 | string1 = "MASTER: Init queries done: %3d. " % init_done 75 | string2 = "Submission from WORKER %2d is: " % source 76 | print string1 + string2 + str(data) 77 | 78 | print "Complete initial dataset acquired" 79 | 80 | # NN-LR based query system 81 | optimizer = op.Optimizer(dataset, domain) 82 | optimizer.train() 83 | 84 | # Select a series of points to query 85 | selected_points = optimizer.select_multiple(selection_size) # (#points, m) array 86 | 87 | # Set counters 88 | listen_to_trainer = True 89 | trainer_is_ready = True # Determines if trainer will be used 90 | trainer_index = 0 # Keeps track of data that trainer doesn't have 91 | selection_index = 0 # Keeps track of unqueried selected_points 92 | queries_done = 0 # Keeps track of total queries done 93 | queries_total = additional_query_size 94 | 95 | t0 = time.time() 96 | 97 | print "Performing optimization..." 98 | 99 | while closed_workers < num_workers: 100 | if selection_index == selection_size: 101 | # Update optimizer's dataset and retrain LR 102 | optimizer.retrain_LR() 103 | selected_points = optimizer.select_multiple(selection_size) # Select new points 104 | selection_size = selected_points.shape[0] # Get number of selected points 105 | selection_index = 0 # Restart index 106 | 107 | if queries_done < queries_total and trainer_is_ready and (dataset.shape[0] - trainer_index - 1) >= 100: 108 | # Trainer ready and enough new data for trainer to train a new NN. 109 | if print_statements: 110 | print "MASTER: Trainer has been summoned" 111 | 112 | comm.send(dataset[trainer_index: -1, :], dest=TRAINER, tag=SEND_TRAINER) 113 | trainer_index = dataset.shape[0] - 1 114 | trainer_is_ready = not trainer_is_ready # Trainer is not longer available. 115 | 116 | if queries_done >= queries_total and trainer_is_ready: 117 | comm.send("MASTER has fired Trainer", dest=TRAINER, tag=EXIT_TRAINER) 118 | 119 | # Check for data from either worker or trainer 120 | data = comm.recv(source=MPI.ANY_SOURCE, tag=MPI.ANY_TAG, status=status) 121 | source = status.Get_source() 122 | tag = status.Get_tag() 123 | 124 | if tag == WORKER_READY: 125 | if queries_done < queries_total: 126 | comm.send(selected_points[selection_index, :], 127 | dest=source, tag=SEND_WORKER) 128 | selection_index += 1 129 | 130 | else: 131 | comm.send(None, dest=source, tag=EXIT_WORKER) 132 | 133 | elif tag == WORKER_DONE: 134 | dataset = np.concatenate((dataset, data), axis=0) # data is (m, 1) array 135 | optimizer.update_data(data) # add data to optimizer 136 | queries_done += 1 137 | 138 | if print_statements: 139 | string1 = "MASTER: Queries done: %3d. " % queries_done 140 | string2 = "Submission from Worker %2d: " % source 141 | print string1 + string2 + str(data) 142 | else: 143 | # Print some sort of progress: 144 | if queries_done % (queries_total/10) == 0: 145 | print "%.3f completion..." % ((1.*queries_done)/queries_total) 146 | 147 | if queries_done <= queries_total: 148 | info = "%.3f," % (time.time()-t0) 149 | file_record.write(info) 150 | 151 | elif tag == TRAINER_DONE: 152 | if listen_to_trainer: 153 | if print_statements: 154 | print "MASTER: Updating neural network" 155 | 156 | W, B, architecture = data 157 | optimizer.update_params(W, B, architecture) 158 | 159 | trainer_is_ready = not trainer_is_ready 160 | 161 | elif tag == EXIT_WORKER or tag == EXIT_TRAINER: 162 | closed_workers += 1 163 | 164 | file_record.write("NA\n") 165 | file_record.close() 166 | t2 = time.time() 167 | print "MASTER: Total update time is: %3.3f" % (t2-t1) 168 | print "Best evaluated point is:" 169 | print dataset[np.argmax(dataset[:, -1]), :] 170 | print "MASTER: Predicted best point is:" 171 | optimizer.retrain_LR() 172 | domain, pred, hi_ci, lo_ci, nn_pred, ei, gamma = optimizer.get_prediction() 173 | index = np.argmax(pred[:, 0]) 174 | print np.concatenate((np.atleast_2d(domain[index, :]), np.atleast_2d(pred[index, 0])), axis=1)[0, :] 175 | -------------------------------------------------------------------------------- /mpi/mpi_optimizer.py: -------------------------------------------------------------------------------- 1 | """ 2 | @Author: Rui Shu 3 | @Date: 4/11/15 4 | 5 | Finds the global maxima of a costly function in a parallelized setting. Runs 6 | optimizer.py in parallel with with several worker nodes that evaluates the costly 7 | function in batch. 8 | 9 | Run as: mpiexec -np 4 python parallel_optimizer.py 10 | where 4 is the number of available processes 11 | 12 | Framework: 13 | Master -- handles the Optimizer object (which takes prior data, 14 | interpolates based on a neural network-linear regression model, and selects the 15 | next set of points to query). Tells worker nodes which points to query. 16 | 17 | Worker -- compute the costly function. Returns function evaluation. 18 | 19 | Trainer -- in charge of handling the neural network training. 20 | """ 21 | 22 | from mpi_definitions import * 23 | import mpi_master as master 24 | import mpi_worker as worker 25 | import mpi_trainer as trainer 26 | 27 | print_statements = False 28 | 29 | # Check that we have the right number of processes 30 | if size < 3 and not rank == MASTER: 31 | quit() 32 | elif size < 3: 33 | print("MASTER: Need at least three processes running.") 34 | quit() 35 | 36 | # Print status of mpi 37 | print "THE RANK IS: %d, with total size: %d" % (rank, size) 38 | 39 | if rank == MASTER: 40 | master.master_process(print_statements) 41 | elif rank == TRAINER: 42 | trainer.trainer_process(print_statements) 43 | else: 44 | worker.worker_process(rank) 45 | -------------------------------------------------------------------------------- /mpi/mpi_trainer.py: -------------------------------------------------------------------------------- 1 | """ 2 | @Author: Rui Shu 3 | @Date: 4/11/15 4 | 5 | Trainer -- in charge of handling the neural network training. 6 | """ 7 | from mpi_definitions import * 8 | from theano_definitions import * 9 | 10 | def trainer_process(print_statements): 11 | import utilities.neural_net as nn 12 | nobs = 0 13 | dataset = None 14 | untrained_data_count = 0 15 | 16 | while True: 17 | new_data = comm.recv(source=0, tag=MPI.ANY_TAG, status=status) 18 | tag = status.Get_tag() 19 | 20 | if tag == SEND_TRAINER: 21 | if print_statements: 22 | print "TRAINER: Received from master, starting new neural net" 23 | 24 | if dataset == None: 25 | dataset = new_data 26 | 27 | else: 28 | dataset = np.concatenate((dataset, new_data), axis=0) 29 | 30 | nobs = dataset.shape[0] 31 | architecture = (dataset.shape[1] - 1, 50, 50, nobs - 2 if nobs < 50 else 50, 1 ) 32 | neural_net = nn.NeuralNet(architecture, dataset) 33 | neural_net.train() 34 | W, B = neural_net.extract_params() 35 | 36 | if print_statements: 37 | print "TRAINER: Sending back neural net to master" 38 | 39 | comm.send((W, B, architecture), dest=0, tag=TRAINER_DONE) 40 | 41 | elif tag == EXIT_TRAINER: 42 | print "TRAINER: Exiting" 43 | break 44 | 45 | comm.send(None, dest=0, tag=EXIT_TRAINER) # Suicide complete 46 | 47 | 48 | -------------------------------------------------------------------------------- /mpi/mpi_worker.py: -------------------------------------------------------------------------------- 1 | """ 2 | @Author: Rui Shu 3 | @Date: 4/11/15 4 | 5 | Worker -- compute the costly function. Returns function evaluation. 6 | """ 7 | 8 | from mpi_definitions import * 9 | 10 | def worker_process(rank): 11 | from learning_objective.hidden_function import evaluate, get_settings 12 | 13 | lim_domain = get_settings(lim_domain_only=True) 14 | 15 | while True: 16 | comm.send("WORKER is ready", dest=0, tag=WORKER_READY) # tell Master node that I need a new query 17 | query = comm.recv(source=0, tag=MPI.ANY_TAG, status=status) 18 | tag = status.Get_tag() 19 | 20 | if tag == SEND_WORKER: 21 | # string = "WORKER %3d: The query is: " % rank 22 | # print string + str(query) 23 | result = evaluate(query, lim_domain) 24 | comm.send(result, dest=0, tag=WORKER_DONE) 25 | 26 | elif tag == EXIT_WORKER: 27 | # Worker dies! 28 | print "WORKER: Worker %2d exiting" % rank 29 | break 30 | 31 | comm.send(None, dest=0, tag=EXIT_WORKER) # Suicide complete 32 | 33 | -------------------------------------------------------------------------------- /mpi/theano_definitions.py: -------------------------------------------------------------------------------- 1 | import theano 2 | theano.gof.compilelock.set_lock_status(False) 3 | -------------------------------------------------------------------------------- /sequential/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RuiShu/nn-bayesian-optimization/e98dc326344d1dc3609de5fc3eb472e06d48d6af/sequential/__init__.py -------------------------------------------------------------------------------- /sequential/seq_gaussian_process.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | import time 3 | import scipy.stats as stats 4 | from learning_objective.hidden_function import evaluate, true_evaluate, get_settings 5 | import pyGPs 6 | 7 | def contains_row(x, X): 8 | """ Checks if the row x is contained in matrix X 9 | """ 10 | for i in range(X.shape[0]): 11 | if all(X[i,:] == x): 12 | return True 13 | 14 | return False 15 | 16 | def select(dataset, pred_y, sigma2_pred): 17 | """ Identify multiple points. 18 | """ 19 | 20 | # Rank order by expected improvement 21 | train_Y = dataset[:, -1:] 22 | prediction = pred_y 23 | sig = sigma2_pred**0.5 24 | 25 | gamma = (prediction - np.max(train_Y)) / sig 26 | ei = sig*(gamma*stats.norm.cdf(gamma) + stats.norm.pdf(gamma)) 27 | 28 | if np.max(ei) <= 0: 29 | select_index = np.argmax(sig) 30 | else: 31 | select_index = np.argmax(ei) 32 | 33 | return np.atleast_2d(domain[select_index, :]) 34 | 35 | 36 | if __name__ == "__main__": 37 | print_statements = False 38 | 39 | # Open file to write times for comparison 40 | file_record = open("data/gp_time_data.csv", "a") 41 | 42 | # Get settings relevant to the hidden function being used 43 | lim_domain, init_size, additional_query_size, init_query, domain, selection_size = get_settings() 44 | 45 | # Construct the dataset 46 | dataset = evaluate(init_query[0,:], lim_domain) 47 | 48 | print "Randomly query a set of initial points... ", 49 | 50 | for query in init_query[1:,:]: 51 | dataset = np.concatenate((dataset, evaluate(query, lim_domain)), axis=0) 52 | 53 | print "Complete initial dataset acquired" 54 | 55 | # Begin sequential optimization using Gaussian process based query system 56 | model = pyGPs.GPR() 57 | model.getPosterior(dataset[:,:-1], dataset[:,-1:]) 58 | model.optimize(dataset[:,:-1], dataset[:,-1:]) 59 | model.predict(domain) 60 | y_pred = model.ym 61 | sigma2_pred = model.ys2 62 | query = select(dataset, y_pred, sigma2_pred) 63 | 64 | print "Performing optimization... " 65 | 66 | for i in range(additional_query_size): 67 | t0 = time.time() 68 | new_data = evaluate(query, lim_domain) 69 | dataset = np.concatenate((dataset, new_data), axis=0) 70 | 71 | if print_statements: 72 | string1 = "Tasks done: %3d. " % (i+1) 73 | string2 = "New data added to dataset: " + str(new_data) 74 | print string1 + string2 75 | 76 | else: 77 | if (i+1) % (additional_query_size/10) == 0: 78 | print "%.3f completion..." % ((i+1.)/additional_query_size) 79 | 80 | model.getPosterior(dataset[:,:-1], dataset[:,-1:]) 81 | 82 | try: 83 | model.optimize(dataset[:,:-1], dataset[:,-1:]) 84 | except: 85 | pass 86 | 87 | model.predict(domain) 88 | y_pred = model.ym 89 | sigma2_pred = model.ys2 90 | query = select(dataset, y_pred, sigma2_pred) 91 | 92 | info = "%.3f," % (time.time()-t0) 93 | file_record.write(info) 94 | 95 | file_record.write("NA\n") 96 | file_record.close() 97 | 98 | print "Sequential gp optimization task complete." 99 | print "Best evaluated point is:" 100 | print dataset[np.argmax(dataset[:, -1]), :] 101 | print "Predicted best point is:" 102 | index = np.argmax(y_pred[:, 0]) 103 | print np.concatenate((np.atleast_2d(domain[index, :]), np.atleast_2d(y_pred[index, 0])), axis=1)[0, :] 104 | -------------------------------------------------------------------------------- /sequential/seq_optimizer.py: -------------------------------------------------------------------------------- 1 | """ 2 | @Author: Rui Shu 3 | @Date: 4/21/15 4 | 5 | Performs sequential optimization. 6 | """ 7 | import time 8 | from learning_objective.hidden_function import evaluate, true_evaluate, get_settings 9 | import matplotlib.pyplot as plt 10 | import utilities.optimizer as op 11 | import numpy as np 12 | 13 | # Open file to write times for comparison 14 | file_record = open("data/seq_time_data.csv", "a") 15 | 16 | # Freeze plotting 17 | plot_it = False 18 | print_statements = False 19 | 20 | # Get settings relevant to the hidden function being used 21 | lim_domain, init_size, additional_query_size, init_query, domain, selection_size = get_settings() 22 | 23 | # Construct the dataset 24 | dataset = evaluate(init_query[0,:], lim_domain) 25 | 26 | print "Randomly query a set of initial points... ", 27 | 28 | for query in init_query[1:,:]: 29 | dataset = np.concatenate((dataset, evaluate(query, lim_domain)), axis=0) 30 | 31 | print "Complete initial dataset acquired" 32 | 33 | # Begin sequential optimization using NN-LR based query system 34 | optimizer = op.Optimizer(dataset, domain) 35 | optimizer.train() 36 | 37 | # Select a series of points to query 38 | selected_points = optimizer.select_multiple(selection_size) # (#points, m) array 39 | selection_index = 0 40 | 41 | t0 = time.time() 42 | 43 | print "Performing optimization..." 44 | 45 | for i in range(additional_query_size): 46 | if selection_index == selection_size: 47 | # Update optimizer's dataset and retrain LR 48 | optimizer.retrain_LR() 49 | selected_points = optimizer.select_multiple(selection_size) # Select new points 50 | selection_size = selected_points.shape[0] # Get number of selected points 51 | selection_index = 0 # Restart index 52 | info = "%.3f," % (time.time()-t0) 53 | file_record.write(info) 54 | t0 = time.time() 55 | 56 | if (optimizer.get_dataset().shape[0] % 100) == 0: 57 | # Retrain the neural network 58 | optimizer.retrain_NN() 59 | 60 | new_data = evaluate(selected_points[selection_index], lim_domain) 61 | optimizer.update_data(new_data) 62 | selection_index += 1 63 | 64 | if print_statements: 65 | string1 = "Tasks done: %3d. " % (i+1) 66 | string2 = "New data added to dataset: " + str(new_data) 67 | print string1 + string2 68 | 69 | else: 70 | if (i+1) % (additional_query_size/10) == 0: 71 | print "%.3f completion..." % ((i+1.)/additional_query_size) 72 | 73 | info = "%.3f," % (time.time()-t0) 74 | file_record.write(info) 75 | 76 | file_record.write("NA\n") 77 | file_record.close() 78 | print "Sequential optimization task complete." 79 | print "Best evaluated point is:" 80 | dataset = optimizer.get_dataset() 81 | print dataset[np.argmax(dataset[:, -1]), :] 82 | print "Predicted best point is:" 83 | optimizer.retrain_LR() 84 | domain, pred, hi_ci, lo_ci, nn_pred, ei, gamma = optimizer.get_prediction() 85 | index = np.argmax(pred[:, 0]) 86 | print np.concatenate((np.atleast_2d(domain[index, :]), np.atleast_2d(pred[index, 0])), axis=1)[0, :] 87 | -------------------------------------------------------------------------------- /sequential/test.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | import matplotlib.pyplot as plt 3 | 4 | from sklearn import gaussian_process 5 | def f(x): 6 | return x * np.sin(x) 7 | 8 | X = np.atleast_2d([1., 3., 5., 6., 7., 8.]).T 9 | y = f(X).ravel() 10 | x = np.atleast_2d(np.linspace(0, 10, 1000)).T 11 | gp = gaussian_process.GaussianProcess(theta0=1e-2, nugget=1e-7, thetaL=1e-4, thetaU=1e-1) 12 | gp.fit(X, y) 13 | y_pred, sigma2_pred = gp.predict(x, eval_MSE=True) 14 | 15 | uci = y_pred + 10*sigma2_pred**0.5 16 | lci = y_pred - 10*sigma2_pred**0.5 17 | 18 | plt.plot(x, uci, 'g--') 19 | plt.plot(x, lci, 'g--') 20 | plt.plot(x, y_pred, 'r') 21 | plt.show() 22 | -------------------------------------------------------------------------------- /utilities/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RuiShu/nn-bayesian-optimization/e98dc326344d1dc3609de5fc3eb472e06d48d6af/utilities/__init__.py -------------------------------------------------------------------------------- /utilities/linear_regressor.py: -------------------------------------------------------------------------------- 1 | """ 2 | @Author: Rui Shu 3 | @Date: 4/11/15 4 | 5 | Performs linear regression and returns the confidence interval. 6 | """ 7 | 8 | import numpy as np 9 | import statsmodels.api as sm 10 | import sklearn.linear_model as sklm 11 | import matplotlib.pyplot as plt 12 | from numpy import atleast_2d as vec 13 | 14 | class LinearRegressor(): 15 | 16 | def __init__(self, dataset, intercept=True): 17 | """Initialization of Optimizer object 18 | 19 | Keyword arguments: 20 | dataset -- an n by (m+1) array that forms the matrix [X, Y] 21 | """ 22 | self.__dataset = dataset 23 | self.__intercept = intercept 24 | 25 | def train(self): 26 | dataset = self.__dataset 27 | intercept = self.__intercept 28 | train_X = sm.add_constant(dataset[:, :-1]) if intercept else dataset[:, :-1] 29 | train_Y = dataset[:, -1:] 30 | 31 | XX_inv,_,_,_ = np.linalg.lstsq(np.dot(train_X.T, train_X), 32 | np.identity(train_X.shape[1])) 33 | beta = np.dot(np.dot(XX_inv, train_X.T), train_Y) 34 | 35 | self.__XX_inv = XX_inv 36 | self.__beta = beta 37 | 38 | def predict(self, test_X): 39 | dataset = self.__dataset 40 | intercept = self.__intercept 41 | XX_inv = self.__XX_inv 42 | beta = self.__beta 43 | 44 | train_X = sm.add_constant(dataset[:, :-1]) if intercept else dataset[:, :-1] 45 | test_X = sm.add_constant(vec(test_X)) if intercept else vec(test_X) 46 | train_Y = dataset[:, -1:] 47 | train_pred = np.dot(train_X, beta) 48 | 49 | # Confidence interval 50 | sig = (np.linalg.norm(train_Y-train_pred)**2/(train_X.shape[0]-train_X.shape[1]+1))**0.5 51 | s = [] 52 | for row in range(test_X.shape[0]): 53 | x = test_X[[row], :] 54 | s.append(sig*(1 + np.dot(np.dot(x, XX_inv), x.T))**0.5) 55 | 56 | s = np.reshape(np.asarray(s), (test_X.shape[0], 1)) 57 | 58 | test_pred = np.dot(test_X, beta) 59 | hi_ci = test_pred + 2*s 60 | lo_ci = test_pred - 2*s 61 | 62 | return test_pred, hi_ci, lo_ci 63 | 64 | def predict_reg(self, test_X): 65 | clf = sklm.Lasso(alpha=1, fit_intercept=False) 66 | clf.fit(self.__dataset[:, :-1], self.__dataset[:, -1:]) 67 | print np.atleast_2d(clf.coef_) 68 | pred =clf.predict(test_X) 69 | pred = np.atleast_2d(pred).T 70 | return pred, pred, pred 71 | 72 | 73 | if __name__ == "__main__": 74 | # Settings 75 | lim_x = [-10, 10] # x range for univariate data 76 | nobs = 50 # number of observed data 77 | g = lambda x: 2*x + 3 + np.random.randn()*2 # Define the hidden function 78 | noiseless_g = lambda x: 2*x + 3 # Define the hidden function 79 | 80 | dataset_X1 = np.asarray([[i] for i in np.linspace(lim_x[0]/10-3, lim_x[1]/10-3, nobs)], dtype=np.float32) # Uniform sampling 81 | dataset_X2 = np.asarray([[i] for i in np.linspace(lim_x[0]/10+3, lim_x[1]/10+3, nobs)], dtype=np.float32) # Uniform sampling 82 | dataset_X = np.concatenate((dataset_X1, dataset_X2), axis=0) 83 | dataset_Y = np.asarray([[g(dataset_X[i, :])[0]] for i in range(dataset_X.shape[0])]) 84 | dataset = np.concatenate((dataset_X, dataset_Y), axis=1) 85 | linear_regressor = LinearRegressor(dataset) 86 | domain = np.asarray([[i] for i in np.linspace(lim_x[0], lim_x[1], 100)]) 87 | pred, hi_ci, lo_ci = linear_regressor.predict(domain) 88 | # linear_regressor.predict_reg(test_X) 89 | 90 | ax = plt.gca() 91 | true_func = np.asarray([[i, noiseless_g(i)] for i in np.linspace(lim_x[0], lim_x[1], 100)], dtype=np.float32) 92 | plt.plot(true_func[:, 0], true_func[:, 1], 'k', label='true', linewidth=4) # true plot 93 | plt.plot(domain, pred, 'c--', label='LR regression', linewidth=7) 94 | plt.plot(domain, hi_ci, 'g--', label='ci') 95 | plt.plot(domain, lo_ci, 'g--') 96 | plt.plot(dataset[:,:-1], dataset[:, -1:], 'rv', label='training', markersize=7.) 97 | plt.xlabel('Input space') 98 | plt.ylabel('Output space') 99 | plt.title("LR regression") 100 | plt.legend() 101 | plt.show() 102 | -------------------------------------------------------------------------------- /utilities/neural_net.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | import theanets 3 | import statsmodels.api as sm 4 | 5 | class NeuralNet(object): 6 | 7 | def __init__(self, architecture, dataset): 8 | """Initialization of NeuralNet object 9 | 10 | Keyword arguments: 11 | architecture -- a tuple containing the number of nodes in each layer 12 | dataset -- an n by (m+1) array that forms the matrix [X, Y] 13 | """ 14 | self.__architecture = architecture 15 | self.__dataset = dataset 16 | self.e = None 17 | 18 | def train(self): 19 | architecture = self.__architecture 20 | dataset = self.__dataset 21 | 22 | cut = int(0.9 * len(dataset)) # select 90% of data for training, 10% for validation 23 | idx = range(len(dataset)) 24 | np.random.shuffle(idx) 25 | 26 | train = idx[:cut] 27 | train_set = [dataset[train, :-1], dataset[train, -1:]] 28 | valid = idx[cut:] 29 | valid_set = [dataset[valid, :-1], dataset[valid, -1:]] 30 | 31 | e = theanets.Experiment(theanets.feedforward.Regressor, 32 | layers=architecture, 33 | optimize='sgd', 34 | hidden_activation='tanh', 35 | output_activation='linear', 36 | learning_rate=0.01) 37 | 38 | e.train(train_set, valid_set) 39 | self.e = e 40 | 41 | def extract_params(self): 42 | architecture = self.__architecture 43 | e = self.e 44 | # Extract parameters 45 | W = {} 46 | B = {} 47 | for i in range(len(architecture)-2): 48 | W[i] = e.network.params[2*i].get_value() 49 | B[i] = np.reshape(e.network.params[2*i+1].get_value(), (1, architecture[i+1])) 50 | 51 | self.__W = W 52 | self.__B = B 53 | 54 | return (W, B) 55 | 56 | if __name__ == "__main__": 57 | # Settings 58 | lim_x = [-1, 1] # x range for univariate data 59 | nobs = 100 # number of observed data 60 | architecture = (1, 50, 50, nobs-2 if nobs < 50 else 50, 1) # Define NN layer architecture 61 | g = lambda x: np.exp(-x)*np.sin(10*x)*x-4*x**2 + np.random.randn()/10 # Define the hidden function 62 | 63 | dataset_X = np.asarray([[i] for i in np.linspace(lim_x[0], lim_x[1], nobs)], dtype=np.float32) # Uniform sampling 64 | dataset_Y = np.asarray([[g(dataset_X[i, :])[0]] for i in range(dataset_X.shape[0])]) 65 | dataset = np.concatenate((dataset_X, dataset_Y), axis=1) 66 | feature_extractor = NeuralNet(architecture, dataset) 67 | feature_extractor.train() 68 | train_X = dataset[:, :-1] 69 | -------------------------------------------------------------------------------- /utilities/optimizer.py: -------------------------------------------------------------------------------- 1 | import time 2 | import numpy as np 3 | import neural_net as nn 4 | import linear_regressor as lm 5 | import scipy.stats as stats 6 | import matplotlib.pyplot as plt 7 | import random 8 | from learning_objective.hidden_function import evaluate, true_evaluate 9 | import statsmodels.api as sm 10 | 11 | class Optimizer(object): 12 | 13 | def __init__(self, dataset, domain): 14 | """Initialization of Optimizer object 15 | 16 | Keyword arguments: 17 | dataset -- an n by (m+1) array that forms the matrix [X, Y] 18 | """ 19 | self.__dataset = dataset 20 | nobs = dataset.shape[0] 21 | self.__architecture = (domain.shape[1], 50, 50, nobs - 2 if nobs < 50 else 50, 1 ) 22 | self.__domain = domain 23 | 24 | def train(self): 25 | """ Using the stored dataset and architecture, trains the neural net to 26 | perform feature extraction, and the linear regressor to perform prediction 27 | and confidence interval computation. 28 | """ 29 | neural_net = nn.NeuralNet(self.__architecture, self.__dataset) 30 | neural_net.train() 31 | self.__W, self.__B = neural_net.extract_params() 32 | self.__nn_pred = neural_net.e.network(self.__domain) 33 | 34 | # Extract features 35 | train_X = self.__dataset[:, :-1] 36 | train_Y = self.__dataset[:, -1:] 37 | train_features = self.extract_features(train_X) 38 | domain_features = self.extract_features(self.__domain) 39 | lm_dataset = np.concatenate((train_features, train_Y), axis=1) 40 | 41 | # Train and predict with linear_regressor 42 | linear_regressor = lm.LinearRegressor(lm_dataset, intercept=False) 43 | linear_regressor.train() 44 | self.__pred, self.__hi_ci, self.__lo_ci = linear_regressor.predict(domain_features) 45 | 46 | def retrain_NN(self): 47 | neural_net = nn.NeuralNet(self.__architecture, self.__dataset) 48 | neural_net.train() 49 | self.__W, self.__B = neural_net.extract_params() 50 | 51 | def retrain_LR(self): 52 | """ After the selected point (see select()) is queried, insert the new info 53 | into dataset. Depending on the size of the dataset, the module decides whether 54 | to re-train the neural net (for feature extraction). 55 | A new interpolation is then constructed. 56 | 57 | Keyword arguments: 58 | new_data -- a 1 by (m+1) array that forms the matrix [X, Y] 59 | """ 60 | 61 | train_X = self.__dataset[:, :-1] 62 | train_Y = self.__dataset[:, -1:] 63 | 64 | # Extract features 65 | train_features = self.extract_features(train_X) 66 | domain_features = self.extract_features(self.__domain) 67 | lm_dataset = np.concatenate((train_features, train_Y), axis=1) 68 | 69 | # Train and predict with linear_regressor 70 | linear_regressor = lm.LinearRegressor(lm_dataset) 71 | linear_regressor.train() 72 | self.__pred, self.__hi_ci, self.__lo_ci = linear_regressor.predict(domain_features) 73 | 74 | def extract_features(self, test_X): 75 | W = self.__W 76 | B = self.__B 77 | architecture = self.__architecture 78 | 79 | # Feedforward into custom neural net 80 | X = [] 81 | for i in range(test_X.shape[0]): 82 | test_val = test_X[[i], :] 83 | L = np.tanh(np.dot(test_val, W[0]) + B[0]) 84 | 85 | for i in range(1, len(architecture)-2): 86 | L = np.tanh(np.dot(L, W[i]) + B[i]) 87 | 88 | X.extend(L.tolist()) 89 | 90 | X = np.asarray(X) 91 | X = sm.add_constant(X) 92 | 93 | return X 94 | 95 | def select(self): 96 | """ Selects and returns the point in the domain X that has the max expected 97 | improvements. 98 | """ 99 | 100 | train_Y = self.__dataset[:, -1:] 101 | prediction = self.__pred 102 | hi_ci = self.__hi_ci 103 | 104 | sig = (hi_ci - prediction)/2 105 | # gamma = (min(train_Y) - prediction)/sig # finding min 106 | # gamma = -(min(train_Y) - prediction)/sig # finding max 107 | # -(min(train_Y) - prediction)/sig # finding max 108 | # ei = sig*(gamma*stats.norm.cdf(gamma) + stats.norm.pdf(gamma)) 109 | gamma = (prediction - np.max(train_Y)) / sig 110 | self.__ei = ei 111 | index = np.argmax(ei) 112 | return self.__domain[index, :] 113 | 114 | def select_multiple(self, cap=5): 115 | """ Identify multiple points. 116 | """ 117 | 118 | # Rank order by expected improvement 119 | train_Y = self.__dataset[:, -1:] 120 | prediction = self.__pred 121 | hi_ci = self.__hi_ci 122 | 123 | sig = abs((hi_ci - prediction)/2) 124 | gamma = (prediction - np.max(train_Y)) / sig 125 | ei = sig*(gamma*stats.norm.cdf(gamma) + stats.norm.pdf(gamma)) 126 | 127 | if np.max(ei) <= 0: 128 | # If no good points, do pure exploration 129 | sig_order = np.argsort(-sig, axis=0) 130 | select_indices = sig_order[:cap, 0].tolist() 131 | else: 132 | ei_order = np.argsort(-1*ei, axis=0) 133 | select_indices = [ei_order[0, 0]] 134 | 135 | for candidate in ei_order[:, 0]: 136 | keep = True 137 | for selected_index in select_indices: 138 | keep = keep*self.check_point(selected_index, candidate) 139 | if keep and ei[candidate, 0] > 0: 140 | select_indices.append(candidate) 141 | if len(select_indices) == cap: # Number of points to select 142 | break 143 | 144 | if len(select_indices) < cap: 145 | # If not enough good points, append with exploration 146 | sig_order = np.argsort(-sig, axis=0) 147 | add_indices = sig_order[:(cap-len(select_indices)), 0].tolist() 148 | select_indices.extend(add_indices) 149 | 150 | index = np.argmax(ei) 151 | self.__gamma = gamma 152 | self.__ei = ei 153 | 154 | return np.atleast_2d(self.__domain[select_indices, :]) 155 | 156 | def check_point(self, selected_index, order): 157 | prediction = self.__pred 158 | hi_ci = self.__hi_ci 159 | 160 | sig = (hi_ci[selected_index] - prediction[selected_index])/2 161 | z_score = abs(prediction[order] - prediction[selected_index])/sig 162 | 163 | return (stats.norm.cdf(-z_score)*2) < 0.5 164 | 165 | def update_data(self, new_data): 166 | nobs = self.__dataset.shape[0] 167 | if nobs < 50: 168 | nobs += new_data.shape[0] 169 | self.__architecture = (self.__domain.shape[1], 50, 50, nobs - 2 if nobs < 50 else 50, 1) 170 | 171 | self.__dataset = np.concatenate((self.__dataset, new_data), axis=0) 172 | 173 | def update_params(self, W, B, architecture): 174 | self.__W = W 175 | self.__B = B 176 | self.__architecture = architecture 177 | 178 | def get_prediction(self): 179 | return (self.__domain, self.__pred, self.__hi_ci, 180 | self.__lo_ci, self.__nn_pred, self.__ei, self.__gamma) 181 | 182 | def get_dataset(self): 183 | return self.__dataset 184 | 185 | if __name__ == "__main__": 186 | t1 = time.time() 187 | random.seed(42) 188 | # Settings 189 | lim_domain = np.array([[-1, -1], 190 | [ 1, 1]]) 191 | nobs = 50 # number of observed data 192 | 193 | # Create dataset 194 | dataset_X = np.random.uniform(-1, 1, size=(nobs, lim_domain.shape[1])) 195 | dataset = evaluate(dataset_X[0, :], lim_domain) 196 | 197 | for i in range(1, dataset_X.shape[0]): 198 | dataset = np.concatenate((dataset, evaluate(dataset_X[i, :], lim_domain))) 199 | 200 | domain = dataset[:, :-1] 201 | 202 | # Instantiate Optimizer 203 | optimizer = Optimizer(dataset, domain) 204 | optimizer.train() 205 | selected_points = optimizer.select_multiple() 206 | selection_index = 0 207 | selection_size = selected_points.shape[0] 208 | 209 | # Select a point 210 | for _ in range(50): 211 | if selection_index == selection_size: 212 | optimizer.retrain_LR() 213 | selected_points = optimizer.select_multiple() 214 | selection_size = selected_points.shape[0] 215 | selection_index = 0 216 | 217 | new_data = evaluate(selected_points[selection_index, :], lim_domain) 218 | print "New evaluation: " + str(new_data) 219 | selection_index += 1 220 | optimizer.update_data(new_data) 221 | 222 | 223 | dataset = optimizer.get_dataset() 224 | selected_point = optimizer.select_multiple()[0, :] 225 | 226 | domain, pred, hi_ci, lo_ci, nn_pred, ei, gamma = optimizer.get_prediction() 227 | 228 | t2 = time.time() 229 | 230 | print "optimizer: Total update time is: %3.3f" % (t2-t1) 231 | 232 | # Plot results 233 | if False: 234 | ax = plt.gca() 235 | plt.plot(domain, pred, 'c', label='NN-LR regression', linewidth=3) 236 | plt.plot(domain, nn_pred, 'r', label='NN regression', linewidth=3) 237 | plt.plot(domain, hi_ci, 'g--', label='ci') 238 | plt.plot(domain, lo_ci, 'g--') 239 | # plt.plot(domain, ei, 'b--', label='ei') 240 | # plt.plot(domain, gamma, 'r', label='gamma') 241 | plt.plot([selected_point, selected_point], [ax.axis()[2], ax.axis()[3]], 'r--', 242 | label='EI selection') 243 | plt.plot(dataset[:,:-1], dataset[:, -1:], 'rv', label='training', markersize=7.) 244 | plt.xlabel('Input space') 245 | plt.ylabel('Output space') 246 | plt.title("NN-LR regression") 247 | plt.legend() 248 | figpath = 'figures/seq_regression_' + str(int(time.time())) + '.eps' 249 | plt.savefig(figpath, format='eps', dpi=2000) 250 | # plt.show() 251 | --------------------------------------------------------------------------------