Save and load results as HDF5 files¶
[1]:
import pypesto
import numpy as np
import scipy as sp
import matplotlib.pyplot as plt
from pypesto.storage import (save_to_hdf5, read_from_hdf5)
import tempfile
%matplotlib inline
Define the objective and problem¶
[2]:
objective = pypesto.Objective(fun=sp.optimize.rosen,
grad=sp.optimize.rosen_der,
hess=sp.optimize.rosen_hess)
dim_full = 10
lb = -5 * np.ones((dim_full, 1))
ub = 5 * np.ones((dim_full, 1))
problem = pypesto.Problem(objective=objective, lb=lb, ub=ub)
Run optimization¶
[3]:
# create optimizers
optimizer = pypesto.ScipyOptimizer(method='l-bfgs-b')
# set number of starts
n_starts = 20
# Run optimizaitons
result = pypesto.minimize(
problem=problem, optimizer=optimizer,
n_starts=n_starts)
[4]:
result.optimize_result.list
[4]:
[{'id': '8',
'x': array([1.00000001, 0.99999999, 0.99999997, 0.99999998, 0.99999998,
0.99999999, 0.99999996, 0.99999987, 0.99999971, 0.9999995 ]),
'fval': 1.4448869867069234e-12,
'grad': array([ 9.91613312e-06, -2.33793663e-07, -1.84487477e-05, -1.24826804e-06,
-7.03416051e-06, 1.12040576e-05, 1.88713028e-05, -4.68014961e-07,
-3.65179645e-05, 1.53152743e-05]),
'hess': None,
'res': None,
'sres': None,
'n_fval': 73,
'n_grad': 73,
'n_hess': 0,
'n_res': 0,
'n_sres': 0,
'x0': array([1.00000001, 0.99999999, 0.99999997, 0.99999998, 0.99999998,
0.99999999, 0.99999996, 0.99999987, 0.99999971, 0.9999995 ]),
'fval0': 116315.16334351365,
'history': <pypesto.objective.history.History at 0x7fefee65a750>,
'exitflag': 0,
'time': 0.010613441467285156,
'message': b'CONVERGENCE: REL_REDUCTION_OF_F_<=_FACTR*EPSMCH'},
{'id': '16',
'x': array([0.99999994, 0.99999998, 1. , 1.00000002, 1.00000004,
1.00000001, 1. , 1.00000012, 1.0000003 , 1.00000051]),
'fval': 4.371307796809753e-12,
'grad': array([-4.26293148e-05, 9.13631144e-06, -1.31339486e-06, 2.51280250e-06,
2.59501842e-05, 4.21294205e-07, -5.58158396e-05, 7.08567852e-07,
4.41611237e-05, -1.57413407e-05]),
'hess': None,
'res': None,
'sres': None,
'n_fval': 79,
'n_grad': 79,
'n_hess': 0,
'n_res': 0,
'n_sres': 0,
'x0': array([0.99999994, 0.99999998, 1. , 1.00000002, 1.00000004,
1.00000001, 1. , 1.00000012, 1.0000003 , 1.00000051]),
'fval0': 127542.57197202934,
'history': <pypesto.objective.history.History at 0x7fefee65a910>,
'exitflag': 0,
'time': 0.011748075485229492,
'message': b'CONVERGENCE: REL_REDUCTION_OF_F_<=_FACTR*EPSMCH'},
{'id': '4',
'x': array([1.00000007, 0.99999999, 0.99999998, 1. , 1.00000008,
1.00000021, 1.00000015, 1.00000006, 1.00000004, 1.00000013]),
'fval': 1.7134261938953258e-11,
'grad': array([ 5.79464879e-05, -3.23661397e-05, -1.13616716e-05, -2.69343079e-05,
-1.67474293e-06, 1.20454131e-04, 3.83436764e-05, -1.71072644e-05,
-3.54339727e-05, 1.03840629e-05]),
'hess': None,
'res': None,
'sres': None,
'n_fval': 88,
'n_grad': 88,
'n_hess': 0,
'n_res': 0,
'n_sres': 0,
'x0': array([1.00000007, 0.99999999, 0.99999998, 1. , 1.00000008,
1.00000021, 1.00000015, 1.00000006, 1.00000004, 1.00000013]),
'fval0': 169143.33089007522,
'history': <pypesto.objective.history.History at 0x7fefee9008d0>,
'exitflag': 0,
'time': 0.016152620315551758,
'message': b'CONVERGENCE: REL_REDUCTION_OF_F_<=_FACTR*EPSMCH'},
{'id': '11',
'x': array([0.99999983, 0.99999997, 0.99999989, 0.9999998 , 1.00000006,
0.99999986, 0.99999963, 0.99999927, 0.99999861, 0.99999709]),
'fval': 4.473573948366185e-11,
'grad': array([-1.25925183e-04, 8.34342658e-05, -1.58946249e-05, -1.85224905e-04,
2.00742516e-04, -1.80384056e-05, -1.83734314e-05, -2.93938826e-05,
5.98755497e-05, -2.43744695e-05]),
'hess': None,
'res': None,
'sres': None,
'n_fval': 78,
'n_grad': 78,
'n_hess': 0,
'n_res': 0,
'n_sres': 0,
'x0': array([0.99999983, 0.99999997, 0.99999989, 0.9999998 , 1.00000006,
0.99999986, 0.99999963, 0.99999927, 0.99999861, 0.99999709]),
'fval0': 111440.55513257613,
'history': <pypesto.objective.history.History at 0x7fefee65a7d0>,
'exitflag': 0,
'time': 0.009877920150756836,
'message': b'CONVERGENCE: REL_REDUCTION_OF_F_<=_FACTR*EPSMCH'},
{'id': '0',
'x': array([1.00000016, 1.00000029, 1.00000013, 1.00000007, 0.99999984,
0.99999968, 0.99999955, 0.99999932, 0.99999871, 0.99999745]),
'fval': 4.512690733773355e-11,
'grad': array([ 6.88017381e-06, 1.82437618e-04, -1.71219792e-05, 7.83029016e-05,
-5.64629619e-05, -7.75613657e-05, -5.33124129e-05, 2.00358870e-05,
-3.38990540e-06, 6.36234430e-06]),
'hess': None,
'res': None,
'sres': None,
'n_fval': 80,
'n_grad': 80,
'n_hess': 0,
'n_res': 0,
'n_sres': 0,
'x0': array([1.00000016, 1.00000029, 1.00000013, 1.00000007, 0.99999984,
0.99999968, 0.99999955, 0.99999932, 0.99999871, 0.99999745]),
'fval0': 179787.03971937217,
'history': <pypesto.objective.history.History at 0x7fefee6d1e50>,
'exitflag': 0,
'time': 0.05712604522705078,
'message': b'CONVERGENCE: REL_REDUCTION_OF_F_<=_FACTR*EPSMCH'},
{'id': '18',
'x': array([0.9999999 , 0.99999988, 1.00000002, 1.00000017, 1.00000034,
1.00000045, 1.00000052, 1.00000076, 1.00000146, 1.00000315]),
'fval': 4.530338040953872e-11,
'grad': array([-3.46616032e-05, -8.55052094e-05, 4.32179353e-06, 2.27795791e-05,
8.77325561e-05, 1.11150847e-04, 4.14626291e-05, -3.72317820e-05,
-9.65698380e-05, 4.47893709e-05]),
'hess': None,
'res': None,
'sres': None,
'n_fval': 85,
'n_grad': 85,
'n_hess': 0,
'n_res': 0,
'n_sres': 0,
'x0': array([0.9999999 , 0.99999988, 1.00000002, 1.00000017, 1.00000034,
1.00000045, 1.00000052, 1.00000076, 1.00000146, 1.00000315]),
'fval0': 84246.35907849146,
'history': <pypesto.objective.history.History at 0x7fefee65a990>,
'exitflag': 0,
'time': 0.01163339614868164,
'message': b'CONVERGENCE: REL_REDUCTION_OF_F_<=_FACTR*EPSMCH'},
{'id': '17',
'x': array([1.00000014, 1.00000006, 1.00000012, 1.00000002, 0.99999972,
0.99999976, 0.99999924, 0.9999986 , 0.99999728, 0.99999457]),
'fval': 5.187501773111393e-11,
'grad': array([ 8.98076519e-05, -4.45109249e-05, 8.61160519e-05, 8.83761172e-05,
-1.98032428e-04, 1.80982671e-04, -1.05227326e-04, -1.64856814e-05,
1.06897803e-05, 1.09849767e-06]),
'hess': None,
'res': None,
'sres': None,
'n_fval': 99,
'n_grad': 99,
'n_hess': 0,
'n_res': 0,
'n_sres': 0,
'x0': array([1.00000014, 1.00000006, 1.00000012, 1.00000002, 0.99999972,
0.99999976, 0.99999924, 0.9999986 , 0.99999728, 0.99999457]),
'fval0': 164257.74387447865,
'history': <pypesto.objective.history.History at 0x7fefee65a950>,
'exitflag': 0,
'time': 0.013841629028320312,
'message': b'CONVERGENCE: REL_REDUCTION_OF_F_<=_FACTR*EPSMCH'},
{'id': '13',
'x': array([1.00000009, 1.00000004, 1.00000001, 1.0000001 , 1.00000019,
1.00000029, 1.00000006, 1.00000059, 1.00000094, 1.00000194]),
'fval': 6.113882079371062e-11,
'grad': array([ 5.38201966e-05, 1.12643005e-06, -4.79180197e-05, 1.70876435e-05,
3.76896795e-05, 1.90462489e-04, -2.94335966e-04, 1.92128181e-04,
-7.02675278e-05, 1.21112443e-05]),
'hess': None,
'res': None,
'sres': None,
'n_fval': 84,
'n_grad': 84,
'n_hess': 0,
'n_res': 0,
'n_sres': 0,
'x0': array([1.00000009, 1.00000004, 1.00000001, 1.0000001 , 1.00000019,
1.00000029, 1.00000006, 1.00000059, 1.00000094, 1.00000194]),
'fval0': 128057.90608516608,
'history': <pypesto.objective.history.History at 0x7fefee65a850>,
'exitflag': 0,
'time': 0.011581659317016602,
'message': b'CONVERGENCE: REL_REDUCTION_OF_F_<=_FACTR*EPSMCH'},
{'id': '9',
'x': array([1.0000003 , 1.00000024, 0.99999999, 0.99999981, 0.99999975,
0.99999984, 1.00000003, 1.00000007, 1.00000014, 1.00000029]),
'fval': 6.603657918190325e-11,
'grad': array([ 1.45585786e-04, 1.26131400e-04, -3.15965052e-05, -8.20696700e-05,
-1.17487544e-04, -6.42577094e-05, 5.98749705e-05, 4.78675947e-06,
-7.72296480e-06, 3.75853482e-06]),
'hess': None,
'res': None,
'sres': None,
'n_fval': 83,
'n_grad': 83,
'n_hess': 0,
'n_res': 0,
'n_sres': 0,
'x0': array([1.0000003 , 1.00000024, 0.99999999, 0.99999981, 0.99999975,
0.99999984, 1.00000003, 1.00000007, 1.00000014, 1.00000029]),
'fval0': 66001.21516931924,
'history': <pypesto.objective.history.History at 0x7ff00035a3d0>,
'exitflag': 0,
'time': 0.012688159942626953,
'message': b'CONVERGENCE: REL_REDUCTION_OF_F_<=_FACTR*EPSMCH'},
{'id': '19',
'x': array([1.00000001, 1. , 0.99999996, 0.99999988, 1.00000026,
1.00000032, 1.00000033, 1.00000085, 1.00000187, 1.00000333]),
'fval': 6.709274183733498e-11,
'grad': array([ 8.70631729e-06, 9.70587008e-06, 1.05693559e-05, -2.12546166e-04,
1.84978271e-04, 8.28659608e-05, -1.39703429e-04, -2.30820323e-05,
1.96299302e-04, -8.02670983e-05]),
'hess': None,
'res': None,
'sres': None,
'n_fval': 67,
'n_grad': 67,
'n_hess': 0,
'n_res': 0,
'n_sres': 0,
'x0': array([1.00000001, 1. , 0.99999996, 0.99999988, 1.00000026,
1.00000032, 1.00000033, 1.00000085, 1.00000187, 1.00000333]),
'fval0': 80442.06208067665,
'history': <pypesto.objective.history.History at 0x7fefee65a9d0>,
'exitflag': 0,
'time': 0.008251428604125977,
'message': b'CONVERGENCE: REL_REDUCTION_OF_F_<=_FACTR*EPSMCH'},
{'id': '10',
'x': array([0.9999998 , 1.00000012, 0.99999997, 1.00000017, 1.00000028,
1.00000037, 1.0000004 , 1.0000005 , 1.00000069, 1.00000195]),
'fval': 1.065068443513822e-10,
'grad': array([-2.07797214e-04, 2.08384202e-04, -1.40258436e-04, 6.72135025e-05,
6.29120089e-05, 9.92424271e-05, 5.28220148e-05, 6.30692991e-05,
-2.90590939e-04, 1.15498187e-04]),
'hess': None,
'res': None,
'sres': None,
'n_fval': 135,
'n_grad': 135,
'n_hess': 0,
'n_res': 0,
'n_sres': 0,
'x0': array([0.9999998 , 1.00000012, 0.99999997, 1.00000017, 1.00000028,
1.00000037, 1.0000004 , 1.0000005 , 1.00000069, 1.00000195]),
'fval0': 218642.53588542074,
'history': <pypesto.objective.history.History at 0x7fefee65a510>,
'exitflag': 0,
'time': 0.017060041427612305,
'message': b'CONVERGENCE: REL_REDUCTION_OF_F_<=_FACTR*EPSMCH'},
{'id': '6',
'x': array([1.00000009, 0.9999998 , 1.00000026, 1.00000009, 1.00000031,
1.00000016, 1.00000029, 1.00000052, 1.00000131, 1.00000213]),
'fval': 1.3507352118480165e-10,
'grad': array([ 1.50715573e-04, -3.42587714e-04, 3.08461493e-04, -1.41826830e-04,
2.10332130e-04, -7.64162802e-05, 1.68271418e-05, -1.20534088e-04,
2.55005501e-04, -9.87312659e-05]),
'hess': None,
'res': None,
'sres': None,
'n_fval': 86,
'n_grad': 86,
'n_hess': 0,
'n_res': 0,
'n_sres': 0,
'x0': array([1.00000009, 0.9999998 , 1.00000026, 1.00000009, 1.00000031,
1.00000016, 1.00000029, 1.00000052, 1.00000131, 1.00000213]),
'fval0': 49550.65276671963,
'history': <pypesto.objective.history.History at 0x7fefef785510>,
'exitflag': 0,
'time': 0.012197017669677734,
'message': b'CONVERGENCE: REL_REDUCTION_OF_F_<=_FACTR*EPSMCH'},
{'id': '14',
'x': array([1.00000021, 0.99999999, 0.99999968, 0.99999939, 0.99999938,
0.99999947, 0.9999996 , 0.99999955, 0.99999928, 0.99999839]),
'fval': 1.76508815611245e-10,
'grad': array([ 1.69974542e-04, 3.68276755e-05, -7.46786006e-05, -2.36880611e-04,
-1.60596472e-04, -1.26090555e-04, -5.76633224e-06, -1.01269226e-06,
9.59426070e-05, -3.14643190e-05]),
'hess': None,
'res': None,
'sres': None,
'n_fval': 94,
'n_grad': 94,
'n_hess': 0,
'n_res': 0,
'n_sres': 0,
'x0': array([1.00000021, 0.99999999, 0.99999968, 0.99999939, 0.99999938,
0.99999947, 0.9999996 , 0.99999955, 0.99999928, 0.99999839]),
'fval0': 113189.5063880412,
'history': <pypesto.objective.history.History at 0x7fefee65a890>,
'exitflag': 0,
'time': 0.010685205459594727,
'message': b'CONVERGENCE: REL_REDUCTION_OF_F_<=_FACTR*EPSMCH'},
{'id': '7',
'x': array([1.00000001, 1.00000008, 1.00000032, 0.9999997 , 0.99999988,
0.9999994 , 0.99999945, 0.99999874, 0.9999976 , 0.99999541]),
'fval': 1.8629501787028135e-10,
'grad': array([-1.89690853e-05, -5.75176850e-05, 4.08684636e-04, -3.79119426e-04,
2.41840701e-04, -3.35502015e-04, 1.94400780e-04, -8.41625352e-05,
-6.36788959e-05, 4.17276302e-05]),
'hess': None,
'res': None,
'sres': None,
'n_fval': 86,
'n_grad': 86,
'n_hess': 0,
'n_res': 0,
'n_sres': 0,
'x0': array([1.00000001, 1.00000008, 1.00000032, 0.9999997 , 0.99999988,
0.9999994 , 0.99999945, 0.99999874, 0.9999976 , 0.99999541]),
'fval0': 275340.0482345366,
'history': <pypesto.objective.history.History at 0x7fefee65a550>,
'exitflag': 0,
'time': 0.011858463287353516,
'message': b'CONVERGENCE: REL_REDUCTION_OF_F_<=_FACTR*EPSMCH'},
{'id': '5',
'x': array([1.00000063, 1.00000079, 1.00000065, 1.00000046, 1.00000018,
0.99999966, 0.99999884, 0.99999747, 0.99999501, 0.99999004]),
'fval': 3.4686626972583124e-10,
'grad': array([ 1.88621968e-04, 2.82853573e-04, 1.47613974e-04, 1.32427091e-04,
1.34368505e-04, 4.58042858e-05, -1.05802446e-05, -7.23486331e-05,
-8.94165854e-06, 5.57700990e-06]),
'hess': None,
'res': None,
'sres': None,
'n_fval': 98,
'n_grad': 98,
'n_hess': 0,
'n_res': 0,
'n_sres': 0,
'x0': array([1.00000063, 1.00000079, 1.00000065, 1.00000046, 1.00000018,
0.99999966, 0.99999884, 0.99999747, 0.99999501, 0.99999004]),
'fval0': 95086.57486034792,
'history': <pypesto.objective.history.History at 0x7fefee65a650>,
'exitflag': 0,
'time': 0.013525247573852539,
'message': b'CONVERGENCE: REL_REDUCTION_OF_F_<=_FACTR*EPSMCH'},
{'id': '12',
'x': array([0.99999993, 1.00000061, 1.00000043, 0.9999998 , 1.00000026,
1.00000048, 1.00000068, 1.00000084, 1.00000215, 1.00000338]),
'fval': 4.2760857236608074e-10,
'grad': array([-0.0003034 , 0.00046938, 0.00026867, -0.00047909, 0.00014639,
0.00010591, 0.00015162, -0.00028974, 0.00047086, -0.00018617]),
'hess': None,
'res': None,
'sres': None,
'n_fval': 77,
'n_grad': 77,
'n_hess': 0,
'n_res': 0,
'n_sres': 0,
'x0': array([0.99999993, 1.00000061, 1.00000043, 0.9999998 , 1.00000026,
1.00000048, 1.00000068, 1.00000084, 1.00000215, 1.00000338]),
'fval0': 278737.0766282746,
'history': <pypesto.objective.history.History at 0x7fefee65a710>,
'exitflag': 0,
'time': 0.010965824127197266,
'message': b'CONVERGENCE: REL_REDUCTION_OF_F_<=_FACTR*EPSMCH'},
{'id': '1',
'x': array([0.99999964, 1.00000006, 0.99999975, 1.00000012, 0.99999977,
0.99999967, 0.99999847, 0.99999623, 0.9999936 , 0.99998718]),
'fval': 4.4824491354324123e-10,
'grad': array([-3.15440907e-04, 3.04897788e-04, -3.24323195e-04, 3.10014361e-04,
-1.40439929e-04, 3.69237832e-04, 1.05035392e-04, -6.01846648e-04,
2.19479487e-04, -2.71116767e-06]),
'hess': None,
'res': None,
'sres': None,
'n_fval': 81,
'n_grad': 81,
'n_hess': 0,
'n_res': 0,
'n_sres': 0,
'x0': array([0.99999964, 1.00000006, 0.99999975, 1.00000012, 0.99999977,
0.99999967, 0.99999847, 0.99999623, 0.9999936 , 0.99998718]),
'fval0': 231983.4016462493,
'history': <pypesto.objective.history.History at 0x7ff030770110>,
'exitflag': 0,
'time': 0.022760868072509766,
'message': b'CONVERGENCE: REL_REDUCTION_OF_F_<=_FACTR*EPSMCH'},
{'id': '15',
'x': array([-0.99326331, 0.99660594, 0.99824067, 0.9989884 , 0.99922624,
0.99907383, 0.99845405, 0.99705586, 0.9941786 , 0.98839115]),
'fval': 3.9865791123861647,
'grad': array([ 1.37836191e-05, -9.56428278e-05, 1.15714471e-04, -9.46304780e-05,
2.76772792e-05, 1.99653191e-04, -4.63338544e-05, -2.78221136e-05,
-2.26556385e-05, 1.07817815e-05]),
'hess': None,
'res': None,
'sres': None,
'n_fval': 72,
'n_grad': 72,
'n_hess': 0,
'n_res': 0,
'n_sres': 0,
'x0': array([-0.99326331, 0.99660594, 0.99824067, 0.9989884 , 0.99922624,
0.99907383, 0.99845405, 0.99705586, 0.9941786 , 0.98839115]),
'fval0': 117406.38350731946,
'history': <pypesto.objective.history.History at 0x7fefee65a8d0>,
'exitflag': 0,
'time': 0.01103520393371582,
'message': b'CONVERGENCE: REL_REDUCTION_OF_F_<=_FACTR*EPSMCH'},
{'id': '2',
'x': array([-0.99326315, 0.99660609, 0.99824021, 0.99898815, 0.99922624,
0.99907353, 0.99845395, 0.99705588, 0.99417909, 0.98839179]),
'fval': 3.986579112503477,
'grad': array([ 1.91428162e-04, 2.94649756e-04, -3.04516493e-04, -1.62074006e-04,
2.52224941e-04, -6.28043726e-05, -3.29243223e-05, -1.67555012e-04,
1.96809844e-04, -5.29321104e-05]),
'hess': None,
'res': None,
'sres': None,
'n_fval': 78,
'n_grad': 78,
'n_hess': 0,
'n_res': 0,
'n_sres': 0,
'x0': array([-0.99326315, 0.99660609, 0.99824021, 0.99898815, 0.99922624,
0.99907353, 0.99845395, 0.99705588, 0.99417909, 0.98839179]),
'fval0': 90060.0282425554,
'history': <pypesto.objective.history.History at 0x7fefee6d19d0>,
'exitflag': 0,
'time': 0.016544103622436523,
'message': b'CONVERGENCE: REL_REDUCTION_OF_F_<=_FACTR*EPSMCH'},
{'id': '3',
'x': array([-0.99326274, 0.99660589, 0.99824031, 0.99898835, 0.99922654,
0.99907324, 0.99845446, 0.99705616, 0.99417916, 0.98839222]),
'fval': 3.9865791128374686,
'grad': array([ 4.43724847e-04, 2.30363468e-04, -2.12480723e-04, -1.17788491e-04,
5.86174712e-04, -6.78812087e-04, 4.85626746e-04, -1.17917644e-04,
-1.48260191e-05, 3.53218137e-06]),
'hess': None,
'res': None,
'sres': None,
'n_fval': 68,
'n_grad': 68,
'n_hess': 0,
'n_res': 0,
'n_sres': 0,
'x0': array([-0.99326274, 0.99660589, 0.99824031, 0.99898835, 0.99922654,
0.99907324, 0.99845446, 0.99705616, 0.99417916, 0.98839222]),
'fval0': 58537.15752301021,
'history': <pypesto.objective.history.History at 0x7ff0003b3c90>,
'exitflag': 0,
'time': 0.007930994033813477,
'message': b'CONVERGENCE: REL_REDUCTION_OF_F_<=_FACTR*EPSMCH'}]
Plot results¶
[5]:
import pypesto.visualize
# plot waterfalls
pypesto.visualize.waterfall(result, size=(15,6))
[5]:
<matplotlib.axes._subplots.AxesSubplot at 0x7fefef14a310>
Save optimization result as HDF5 file¶
[6]:
fn = tempfile.mktemp(".hdf5")
# Write result
hdf5_writer = save_to_hdf5.OptimizationResultHDF5Writer(fn)
hdf5_writer.write(result)
# Write problem
hdf5_writer = save_to_hdf5.ProblemHDF5Writer(fn)
hdf5_writer.write(problem)
[7]:
# Read result and problem
hdf5_reader = read_from_hdf5.OptimizationResultHDF5Reader(fn)
result = hdf5_reader.read()
[8]:
result.optimize_result.list
[8]:
[{'id': '8',
'x': array([1.00000001, 0.99999999, 0.99999997, 0.99999998, 0.99999998,
0.99999999, 0.99999996, 0.99999987, 0.99999971, 0.9999995 ]),
'fval': 1.4448869867069234e-12,
'grad': array([ 9.91613312e-06, -2.33793663e-07, -1.84487477e-05, -1.24826804e-06,
-7.03416051e-06, 1.12040576e-05, 1.88713028e-05, -4.68014961e-07,
-3.65179645e-05, 1.53152743e-05]),
'hess': None,
'res': None,
'sres': None,
'n_fval': 73,
'n_grad': 73,
'n_hess': 0,
'n_res': 0,
'n_sres': 0,
'x0': array([1.00000001, 0.99999999, 0.99999997, 0.99999998, 0.99999998,
0.99999999, 0.99999996, 0.99999987, 0.99999971, 0.9999995 ]),
'fval0': 116315.16334351365,
'history': None,
'exitflag': 0,
'time': 0.010613441467285156,
'message': b'CONVERGENCE: REL_REDUCTION_OF_F_<=_FACTR*EPSMCH'},
{'id': '16',
'x': array([0.99999994, 0.99999998, 1. , 1.00000002, 1.00000004,
1.00000001, 1. , 1.00000012, 1.0000003 , 1.00000051]),
'fval': 4.371307796809753e-12,
'grad': array([-4.26293148e-05, 9.13631144e-06, -1.31339486e-06, 2.51280250e-06,
2.59501842e-05, 4.21294205e-07, -5.58158396e-05, 7.08567852e-07,
4.41611237e-05, -1.57413407e-05]),
'hess': None,
'res': None,
'sres': None,
'n_fval': 79,
'n_grad': 79,
'n_hess': 0,
'n_res': 0,
'n_sres': 0,
'x0': array([0.99999994, 0.99999998, 1. , 1.00000002, 1.00000004,
1.00000001, 1. , 1.00000012, 1.0000003 , 1.00000051]),
'fval0': 127542.57197202934,
'history': None,
'exitflag': 0,
'time': 0.011748075485229492,
'message': b'CONVERGENCE: REL_REDUCTION_OF_F_<=_FACTR*EPSMCH'},
{'id': '4',
'x': array([1.00000007, 0.99999999, 0.99999998, 1. , 1.00000008,
1.00000021, 1.00000015, 1.00000006, 1.00000004, 1.00000013]),
'fval': 1.7134261938953258e-11,
'grad': array([ 5.79464879e-05, -3.23661397e-05, -1.13616716e-05, -2.69343079e-05,
-1.67474293e-06, 1.20454131e-04, 3.83436764e-05, -1.71072644e-05,
-3.54339727e-05, 1.03840629e-05]),
'hess': None,
'res': None,
'sres': None,
'n_fval': 88,
'n_grad': 88,
'n_hess': 0,
'n_res': 0,
'n_sres': 0,
'x0': array([1.00000007, 0.99999999, 0.99999998, 1. , 1.00000008,
1.00000021, 1.00000015, 1.00000006, 1.00000004, 1.00000013]),
'fval0': 169143.33089007522,
'history': None,
'exitflag': 0,
'time': 0.016152620315551758,
'message': b'CONVERGENCE: REL_REDUCTION_OF_F_<=_FACTR*EPSMCH'},
{'id': '11',
'x': array([0.99999983, 0.99999997, 0.99999989, 0.9999998 , 1.00000006,
0.99999986, 0.99999963, 0.99999927, 0.99999861, 0.99999709]),
'fval': 4.473573948366185e-11,
'grad': array([-1.25925183e-04, 8.34342658e-05, -1.58946249e-05, -1.85224905e-04,
2.00742516e-04, -1.80384056e-05, -1.83734314e-05, -2.93938826e-05,
5.98755497e-05, -2.43744695e-05]),
'hess': None,
'res': None,
'sres': None,
'n_fval': 78,
'n_grad': 78,
'n_hess': 0,
'n_res': 0,
'n_sres': 0,
'x0': array([0.99999983, 0.99999997, 0.99999989, 0.9999998 , 1.00000006,
0.99999986, 0.99999963, 0.99999927, 0.99999861, 0.99999709]),
'fval0': 111440.55513257613,
'history': None,
'exitflag': 0,
'time': 0.009877920150756836,
'message': b'CONVERGENCE: REL_REDUCTION_OF_F_<=_FACTR*EPSMCH'},
{'id': '0',
'x': array([1.00000016, 1.00000029, 1.00000013, 1.00000007, 0.99999984,
0.99999968, 0.99999955, 0.99999932, 0.99999871, 0.99999745]),
'fval': 4.512690733773355e-11,
'grad': array([ 6.88017381e-06, 1.82437618e-04, -1.71219792e-05, 7.83029016e-05,
-5.64629619e-05, -7.75613657e-05, -5.33124129e-05, 2.00358870e-05,
-3.38990540e-06, 6.36234430e-06]),
'hess': None,
'res': None,
'sres': None,
'n_fval': 80,
'n_grad': 80,
'n_hess': 0,
'n_res': 0,
'n_sres': 0,
'x0': array([1.00000016, 1.00000029, 1.00000013, 1.00000007, 0.99999984,
0.99999968, 0.99999955, 0.99999932, 0.99999871, 0.99999745]),
'fval0': 179787.03971937217,
'history': None,
'exitflag': 0,
'time': 0.05712604522705078,
'message': b'CONVERGENCE: REL_REDUCTION_OF_F_<=_FACTR*EPSMCH'},
{'id': '18',
'x': array([0.9999999 , 0.99999988, 1.00000002, 1.00000017, 1.00000034,
1.00000045, 1.00000052, 1.00000076, 1.00000146, 1.00000315]),
'fval': 4.530338040953872e-11,
'grad': array([-3.46616032e-05, -8.55052094e-05, 4.32179353e-06, 2.27795791e-05,
8.77325561e-05, 1.11150847e-04, 4.14626291e-05, -3.72317820e-05,
-9.65698380e-05, 4.47893709e-05]),
'hess': None,
'res': None,
'sres': None,
'n_fval': 85,
'n_grad': 85,
'n_hess': 0,
'n_res': 0,
'n_sres': 0,
'x0': array([0.9999999 , 0.99999988, 1.00000002, 1.00000017, 1.00000034,
1.00000045, 1.00000052, 1.00000076, 1.00000146, 1.00000315]),
'fval0': 84246.35907849146,
'history': None,
'exitflag': 0,
'time': 0.01163339614868164,
'message': b'CONVERGENCE: REL_REDUCTION_OF_F_<=_FACTR*EPSMCH'},
{'id': '17',
'x': array([1.00000014, 1.00000006, 1.00000012, 1.00000002, 0.99999972,
0.99999976, 0.99999924, 0.9999986 , 0.99999728, 0.99999457]),
'fval': 5.187501773111393e-11,
'grad': array([ 8.98076519e-05, -4.45109249e-05, 8.61160519e-05, 8.83761172e-05,
-1.98032428e-04, 1.80982671e-04, -1.05227326e-04, -1.64856814e-05,
1.06897803e-05, 1.09849767e-06]),
'hess': None,
'res': None,
'sres': None,
'n_fval': 99,
'n_grad': 99,
'n_hess': 0,
'n_res': 0,
'n_sres': 0,
'x0': array([1.00000014, 1.00000006, 1.00000012, 1.00000002, 0.99999972,
0.99999976, 0.99999924, 0.9999986 , 0.99999728, 0.99999457]),
'fval0': 164257.74387447865,
'history': None,
'exitflag': 0,
'time': 0.013841629028320312,
'message': b'CONVERGENCE: REL_REDUCTION_OF_F_<=_FACTR*EPSMCH'},
{'id': '13',
'x': array([1.00000009, 1.00000004, 1.00000001, 1.0000001 , 1.00000019,
1.00000029, 1.00000006, 1.00000059, 1.00000094, 1.00000194]),
'fval': 6.113882079371062e-11,
'grad': array([ 5.38201966e-05, 1.12643005e-06, -4.79180197e-05, 1.70876435e-05,
3.76896795e-05, 1.90462489e-04, -2.94335966e-04, 1.92128181e-04,
-7.02675278e-05, 1.21112443e-05]),
'hess': None,
'res': None,
'sres': None,
'n_fval': 84,
'n_grad': 84,
'n_hess': 0,
'n_res': 0,
'n_sres': 0,
'x0': array([1.00000009, 1.00000004, 1.00000001, 1.0000001 , 1.00000019,
1.00000029, 1.00000006, 1.00000059, 1.00000094, 1.00000194]),
'fval0': 128057.90608516608,
'history': None,
'exitflag': 0,
'time': 0.011581659317016602,
'message': b'CONVERGENCE: REL_REDUCTION_OF_F_<=_FACTR*EPSMCH'},
{'id': '9',
'x': array([1.0000003 , 1.00000024, 0.99999999, 0.99999981, 0.99999975,
0.99999984, 1.00000003, 1.00000007, 1.00000014, 1.00000029]),
'fval': 6.603657918190325e-11,
'grad': array([ 1.45585786e-04, 1.26131400e-04, -3.15965052e-05, -8.20696700e-05,
-1.17487544e-04, -6.42577094e-05, 5.98749705e-05, 4.78675947e-06,
-7.72296480e-06, 3.75853482e-06]),
'hess': None,
'res': None,
'sres': None,
'n_fval': 83,
'n_grad': 83,
'n_hess': 0,
'n_res': 0,
'n_sres': 0,
'x0': array([1.0000003 , 1.00000024, 0.99999999, 0.99999981, 0.99999975,
0.99999984, 1.00000003, 1.00000007, 1.00000014, 1.00000029]),
'fval0': 66001.21516931924,
'history': None,
'exitflag': 0,
'time': 0.012688159942626953,
'message': b'CONVERGENCE: REL_REDUCTION_OF_F_<=_FACTR*EPSMCH'},
{'id': '19',
'x': array([1.00000001, 1. , 0.99999996, 0.99999988, 1.00000026,
1.00000032, 1.00000033, 1.00000085, 1.00000187, 1.00000333]),
'fval': 6.709274183733498e-11,
'grad': array([ 8.70631729e-06, 9.70587008e-06, 1.05693559e-05, -2.12546166e-04,
1.84978271e-04, 8.28659608e-05, -1.39703429e-04, -2.30820323e-05,
1.96299302e-04, -8.02670983e-05]),
'hess': None,
'res': None,
'sres': None,
'n_fval': 67,
'n_grad': 67,
'n_hess': 0,
'n_res': 0,
'n_sres': 0,
'x0': array([1.00000001, 1. , 0.99999996, 0.99999988, 1.00000026,
1.00000032, 1.00000033, 1.00000085, 1.00000187, 1.00000333]),
'fval0': 80442.06208067665,
'history': None,
'exitflag': 0,
'time': 0.008251428604125977,
'message': b'CONVERGENCE: REL_REDUCTION_OF_F_<=_FACTR*EPSMCH'},
{'id': '10',
'x': array([0.9999998 , 1.00000012, 0.99999997, 1.00000017, 1.00000028,
1.00000037, 1.0000004 , 1.0000005 , 1.00000069, 1.00000195]),
'fval': 1.065068443513822e-10,
'grad': array([-2.07797214e-04, 2.08384202e-04, -1.40258436e-04, 6.72135025e-05,
6.29120089e-05, 9.92424271e-05, 5.28220148e-05, 6.30692991e-05,
-2.90590939e-04, 1.15498187e-04]),
'hess': None,
'res': None,
'sres': None,
'n_fval': 135,
'n_grad': 135,
'n_hess': 0,
'n_res': 0,
'n_sres': 0,
'x0': array([0.9999998 , 1.00000012, 0.99999997, 1.00000017, 1.00000028,
1.00000037, 1.0000004 , 1.0000005 , 1.00000069, 1.00000195]),
'fval0': 218642.53588542074,
'history': None,
'exitflag': 0,
'time': 0.017060041427612305,
'message': b'CONVERGENCE: REL_REDUCTION_OF_F_<=_FACTR*EPSMCH'},
{'id': '6',
'x': array([1.00000009, 0.9999998 , 1.00000026, 1.00000009, 1.00000031,
1.00000016, 1.00000029, 1.00000052, 1.00000131, 1.00000213]),
'fval': 1.3507352118480165e-10,
'grad': array([ 1.50715573e-04, -3.42587714e-04, 3.08461493e-04, -1.41826830e-04,
2.10332130e-04, -7.64162802e-05, 1.68271418e-05, -1.20534088e-04,
2.55005501e-04, -9.87312659e-05]),
'hess': None,
'res': None,
'sres': None,
'n_fval': 86,
'n_grad': 86,
'n_hess': 0,
'n_res': 0,
'n_sres': 0,
'x0': array([1.00000009, 0.9999998 , 1.00000026, 1.00000009, 1.00000031,
1.00000016, 1.00000029, 1.00000052, 1.00000131, 1.00000213]),
'fval0': 49550.65276671963,
'history': None,
'exitflag': 0,
'time': 0.012197017669677734,
'message': b'CONVERGENCE: REL_REDUCTION_OF_F_<=_FACTR*EPSMCH'},
{'id': '14',
'x': array([1.00000021, 0.99999999, 0.99999968, 0.99999939, 0.99999938,
0.99999947, 0.9999996 , 0.99999955, 0.99999928, 0.99999839]),
'fval': 1.76508815611245e-10,
'grad': array([ 1.69974542e-04, 3.68276755e-05, -7.46786006e-05, -2.36880611e-04,
-1.60596472e-04, -1.26090555e-04, -5.76633224e-06, -1.01269226e-06,
9.59426070e-05, -3.14643190e-05]),
'hess': None,
'res': None,
'sres': None,
'n_fval': 94,
'n_grad': 94,
'n_hess': 0,
'n_res': 0,
'n_sres': 0,
'x0': array([1.00000021, 0.99999999, 0.99999968, 0.99999939, 0.99999938,
0.99999947, 0.9999996 , 0.99999955, 0.99999928, 0.99999839]),
'fval0': 113189.5063880412,
'history': None,
'exitflag': 0,
'time': 0.010685205459594727,
'message': b'CONVERGENCE: REL_REDUCTION_OF_F_<=_FACTR*EPSMCH'},
{'id': '7',
'x': array([1.00000001, 1.00000008, 1.00000032, 0.9999997 , 0.99999988,
0.9999994 , 0.99999945, 0.99999874, 0.9999976 , 0.99999541]),
'fval': 1.8629501787028135e-10,
'grad': array([-1.89690853e-05, -5.75176850e-05, 4.08684636e-04, -3.79119426e-04,
2.41840701e-04, -3.35502015e-04, 1.94400780e-04, -8.41625352e-05,
-6.36788959e-05, 4.17276302e-05]),
'hess': None,
'res': None,
'sres': None,
'n_fval': 86,
'n_grad': 86,
'n_hess': 0,
'n_res': 0,
'n_sres': 0,
'x0': array([1.00000001, 1.00000008, 1.00000032, 0.9999997 , 0.99999988,
0.9999994 , 0.99999945, 0.99999874, 0.9999976 , 0.99999541]),
'fval0': 275340.0482345366,
'history': None,
'exitflag': 0,
'time': 0.011858463287353516,
'message': b'CONVERGENCE: REL_REDUCTION_OF_F_<=_FACTR*EPSMCH'},
{'id': '5',
'x': array([1.00000063, 1.00000079, 1.00000065, 1.00000046, 1.00000018,
0.99999966, 0.99999884, 0.99999747, 0.99999501, 0.99999004]),
'fval': 3.4686626972583124e-10,
'grad': array([ 1.88621968e-04, 2.82853573e-04, 1.47613974e-04, 1.32427091e-04,
1.34368505e-04, 4.58042858e-05, -1.05802446e-05, -7.23486331e-05,
-8.94165854e-06, 5.57700990e-06]),
'hess': None,
'res': None,
'sres': None,
'n_fval': 98,
'n_grad': 98,
'n_hess': 0,
'n_res': 0,
'n_sres': 0,
'x0': array([1.00000063, 1.00000079, 1.00000065, 1.00000046, 1.00000018,
0.99999966, 0.99999884, 0.99999747, 0.99999501, 0.99999004]),
'fval0': 95086.57486034792,
'history': None,
'exitflag': 0,
'time': 0.013525247573852539,
'message': b'CONVERGENCE: REL_REDUCTION_OF_F_<=_FACTR*EPSMCH'},
{'id': '12',
'x': array([0.99999993, 1.00000061, 1.00000043, 0.9999998 , 1.00000026,
1.00000048, 1.00000068, 1.00000084, 1.00000215, 1.00000338]),
'fval': 4.2760857236608074e-10,
'grad': array([-0.0003034 , 0.00046938, 0.00026867, -0.00047909, 0.00014639,
0.00010591, 0.00015162, -0.00028974, 0.00047086, -0.00018617]),
'hess': None,
'res': None,
'sres': None,
'n_fval': 77,
'n_grad': 77,
'n_hess': 0,
'n_res': 0,
'n_sres': 0,
'x0': array([0.99999993, 1.00000061, 1.00000043, 0.9999998 , 1.00000026,
1.00000048, 1.00000068, 1.00000084, 1.00000215, 1.00000338]),
'fval0': 278737.0766282746,
'history': None,
'exitflag': 0,
'time': 0.010965824127197266,
'message': b'CONVERGENCE: REL_REDUCTION_OF_F_<=_FACTR*EPSMCH'},
{'id': '1',
'x': array([0.99999964, 1.00000006, 0.99999975, 1.00000012, 0.99999977,
0.99999967, 0.99999847, 0.99999623, 0.9999936 , 0.99998718]),
'fval': 4.4824491354324123e-10,
'grad': array([-3.15440907e-04, 3.04897788e-04, -3.24323195e-04, 3.10014361e-04,
-1.40439929e-04, 3.69237832e-04, 1.05035392e-04, -6.01846648e-04,
2.19479487e-04, -2.71116767e-06]),
'hess': None,
'res': None,
'sres': None,
'n_fval': 81,
'n_grad': 81,
'n_hess': 0,
'n_res': 0,
'n_sres': 0,
'x0': array([0.99999964, 1.00000006, 0.99999975, 1.00000012, 0.99999977,
0.99999967, 0.99999847, 0.99999623, 0.9999936 , 0.99998718]),
'fval0': 231983.4016462493,
'history': None,
'exitflag': 0,
'time': 0.022760868072509766,
'message': b'CONVERGENCE: REL_REDUCTION_OF_F_<=_FACTR*EPSMCH'},
{'id': '15',
'x': array([-0.99326331, 0.99660594, 0.99824067, 0.9989884 , 0.99922624,
0.99907383, 0.99845405, 0.99705586, 0.9941786 , 0.98839115]),
'fval': 3.9865791123861647,
'grad': array([ 1.37836191e-05, -9.56428278e-05, 1.15714471e-04, -9.46304780e-05,
2.76772792e-05, 1.99653191e-04, -4.63338544e-05, -2.78221136e-05,
-2.26556385e-05, 1.07817815e-05]),
'hess': None,
'res': None,
'sres': None,
'n_fval': 72,
'n_grad': 72,
'n_hess': 0,
'n_res': 0,
'n_sres': 0,
'x0': array([-0.99326331, 0.99660594, 0.99824067, 0.9989884 , 0.99922624,
0.99907383, 0.99845405, 0.99705586, 0.9941786 , 0.98839115]),
'fval0': 117406.38350731946,
'history': None,
'exitflag': 0,
'time': 0.01103520393371582,
'message': b'CONVERGENCE: REL_REDUCTION_OF_F_<=_FACTR*EPSMCH'},
{'id': '2',
'x': array([-0.99326315, 0.99660609, 0.99824021, 0.99898815, 0.99922624,
0.99907353, 0.99845395, 0.99705588, 0.99417909, 0.98839179]),
'fval': 3.986579112503477,
'grad': array([ 1.91428162e-04, 2.94649756e-04, -3.04516493e-04, -1.62074006e-04,
2.52224941e-04, -6.28043726e-05, -3.29243223e-05, -1.67555012e-04,
1.96809844e-04, -5.29321104e-05]),
'hess': None,
'res': None,
'sres': None,
'n_fval': 78,
'n_grad': 78,
'n_hess': 0,
'n_res': 0,
'n_sres': 0,
'x0': array([-0.99326315, 0.99660609, 0.99824021, 0.99898815, 0.99922624,
0.99907353, 0.99845395, 0.99705588, 0.99417909, 0.98839179]),
'fval0': 90060.0282425554,
'history': None,
'exitflag': 0,
'time': 0.016544103622436523,
'message': b'CONVERGENCE: REL_REDUCTION_OF_F_<=_FACTR*EPSMCH'},
{'id': '3',
'x': array([-0.99326274, 0.99660589, 0.99824031, 0.99898835, 0.99922654,
0.99907324, 0.99845446, 0.99705616, 0.99417916, 0.98839222]),
'fval': 3.9865791128374686,
'grad': array([ 4.43724847e-04, 2.30363468e-04, -2.12480723e-04, -1.17788491e-04,
5.86174712e-04, -6.78812087e-04, 4.85626746e-04, -1.17917644e-04,
-1.48260191e-05, 3.53218137e-06]),
'hess': None,
'res': None,
'sres': None,
'n_fval': 68,
'n_grad': 68,
'n_hess': 0,
'n_res': 0,
'n_sres': 0,
'x0': array([-0.99326274, 0.99660589, 0.99824031, 0.99898835, 0.99922654,
0.99907324, 0.99845446, 0.99705616, 0.99417916, 0.98839222]),
'fval0': 58537.15752301021,
'history': None,
'exitflag': 0,
'time': 0.007930994033813477,
'message': b'CONVERGENCE: REL_REDUCTION_OF_F_<=_FACTR*EPSMCH'}]
Plot results¶
[9]:
# plot waterfalls
pypesto.visualize.waterfall(result, size=(15,6))
[9]:
<matplotlib.axes._subplots.AxesSubplot at 0x7fefec49cbd0>
[10]:
pypesto.visualize.parameters(result,
balance_alpha=False)
[10]:
<matplotlib.axes._subplots.AxesSubplot at 0x7fefebca04d0>
[ ]: