Skip to content

Commit fe21c49

Browse files
v0.5.10
new function: update_writer()
1 parent 6dbb873 commit fe21c49

2 files changed

Lines changed: 16 additions & 11 deletions

File tree

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ build-backend = "setuptools.build_meta"
77

88
[project]
99
name = "spotPython"
10-
version = "0.5.9"
10+
version = "0.5.10"
1111
authors = [
1212
{ name="T. Bartz-Beielstein", email="tbb@bartzundbartz.de" }
1313
]

src/spotPython/spot/spot.py

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -338,6 +338,8 @@ def run(self, X_start=None):
338338
# Not implemented yet.
339339
# Update stats
340340
self.update_stats()
341+
# Update writer:
342+
self.update_writer()
341343
# (S-11) Surrogate Fit:
342344
self.fit_surrogate()
343345
# progress bar:
@@ -383,7 +385,8 @@ def initialize_design(self, X_start=None):
383385
#
384386
self.X, self.y = remove_nan(self.X, self.y)
385387
# self.update_stats() moved to run()!
386-
# self.update_stats()
388+
# changed in 0.5.9:
389+
self.update_stats()
387390
# (S-4): Imputation:
388391
# Not implemented yet.
389392
# (S-11) Surrogate Fit:
@@ -434,6 +437,16 @@ def update_stats(self):
434437
self.last_y = self.y[-1]
435438
self.min_X = self.X[argmin(self.y)]
436439
self.counter = self.y.size
440+
# Update aggregated x and y values (if noise):
441+
if self.noise:
442+
Z = aggregate_mean_var(X=self.X, y=self.y)
443+
self.mean_X = Z[0]
444+
self.mean_y = Z[1]
445+
self.var_y = Z[2]
446+
self.min_mean_y = min(self.mean_y)
447+
self.min_mean_X = self.mean_X[argmin(self.mean_y)]
448+
449+
def update_writer(self):
437450
if self.spot_writer is not None:
438451
writer = self.spot_writer
439452
y_min = self.min_y.copy()
@@ -450,15 +463,7 @@ def update_stats(self):
450463
# hyperparameters X and value y of the last configuration:
451464
writer.add_hparams(config, {"spot_y": y_last})
452465
writer.flush()
453-
# Update aggregated x and y values (if noise):
454-
if self.noise:
455-
Z = aggregate_mean_var(X=self.X, y=self.y)
456-
self.mean_X = Z[0]
457-
self.mean_y = Z[1]
458-
self.var_y = Z[2]
459-
self.min_mean_y = min(self.mean_y)
460-
self.min_mean_X = self.mean_X[argmin(self.mean_y)]
461-
if self.spot_writer is not None:
466+
if self.noise:
462467
writer = self.spot_writer
463468
# y_min_mean: best mean y value so far
464469
y_min_mean = self.min_mean_y.copy()

0 commit comments

Comments
 (0)