@@ -235,7 +235,7 @@ def __init__(
235235 # because the writer is passed to the surrogate model:
236236 self .init_spot_writer ()
237237
238- self ._surrogate_update (surrogate )
238+ self ._surrogate_setup (surrogate )
239239
240240 if self .fun_control .get ("save_experiment" ):
241241 self .save_experiment (verbosity = self .verbosity )
@@ -392,7 +392,7 @@ def _surrogate_control_setup(self) -> None:
392392 if self .surrogate_control ["n_theta" ] > 1 :
393393 self .surrogate_control .update ({"n_theta" : self .k })
394394
395- def _surrogate_update (self , surrogate ) -> None :
395+ def _surrogate_setup (self , surrogate ) -> None :
396396 # Surrogate related information:
397397 self .surrogate = surrogate
398398 # If no surrogate model is specified, use the internal
@@ -950,7 +950,7 @@ def initialize_design(self, X_start=None) -> None:
950950
951951 self .evaluate_initial_design ()
952952
953- self .write_tensorboard_log ()
953+ self .write_initial_tensorboard_log ()
954954
955955 def initialize_design_matrix (self , X_start = None ) -> None :
956956 """
@@ -1098,7 +1098,7 @@ def evaluate_initial_design(self) -> None:
10981098 logger .debug ("In Spot() evaluate_initial_design(), final X val, after remove nan: self.X: %s" , self .X )
10991099 logger .debug ("In Spot() evaluate_initial_design(), final y val, after remove nan: self.y: %s" , self .y )
11001100
1101- def write_tensorboard_log (self ) -> None :
1101+ def write_initial_tensorboard_log (self ) -> None :
11021102 """Writes initial design data using the spot_writer. The spot_writer
11031103 is a tensorboard writer that writes the data to a tensorboard file.
11041104
@@ -1116,7 +1116,7 @@ def write_tensorboard_log(self) -> None:
11161116 fun_control=fun_control,
11171117 )
11181118 S.initialize_design()
1119- S.write_tensorboard_log ()
1119+ S.write_initial_tensorboard_log ()
11201120 Moving TENSORBOARD_PATH: runs/ to TENSORBOARD_PATH_OLD: runs_OLD/runs_2025_01_12_09_24_15
11211121 Created spot_tensorboard_path: runs/spot_logs/00_p040025_2025-01-12_09-24-15 for SummaryWriter()
11221122 """
@@ -1135,6 +1135,46 @@ def write_tensorboard_log(self) -> None:
11351135 self .spot_writer .add_hparams (config , {"hp_metric" : y_j })
11361136 self .spot_writer .flush ()
11371137
1138+ def update_stats (self ) -> None :
1139+ """
1140+ Update the following stats: 1. `min_y` 2. `min_X` 3. `counter`
1141+ If `noise` is `True`, additionally the following stats are computed: 1. `mean_X`
1142+ 2. `mean_y` 3. `min_mean_y` 4. `min_mean_X`.
1143+
1144+ Args:
1145+ self (object): Spot object
1146+
1147+ Returns:
1148+ (NoneType): None
1149+
1150+ Attributes:
1151+ self.min_y (float): minimum y value
1152+ self.min_X (numpy.ndarray): X value of the minimum y value
1153+ self.counter (int): number of function evaluations
1154+ self.mean_X (numpy.ndarray): mean X values
1155+ self.mean_y (numpy.ndarray): mean y values
1156+ self.var_y (numpy.ndarray): variance of y values
1157+ self.min_mean_y (float): minimum mean y value
1158+ self.min_mean_X (numpy.ndarray): X value of the minimum mean y value
1159+
1160+ """
1161+ self .min_y = min (self .y )
1162+ self .min_X = self .X [argmin (self .y )]
1163+ self .counter = self .y .size
1164+ self .fun_control .update ({"counter" : self .counter })
1165+ # Update aggregated x and y values (if noise):
1166+ if self .noise :
1167+ Z = aggregate_mean_var (X = self .X , y = self .y )
1168+ self .mean_X = Z [0 ]
1169+ self .mean_y = Z [1 ]
1170+ self .var_y = Z [2 ]
1171+ # X value of the best mean y value so far:
1172+ self .min_mean_X = self .mean_X [argmin (self .mean_y )]
1173+ # variance of the best mean y value so far:
1174+ self .min_var_y = self .var_y [argmin (self .mean_y )]
1175+ # best mean y value so far:
1176+ self .min_mean_y = self .mean_y [argmin (self .mean_y )]
1177+
11381178 def save_result (self , filename = None , path = None , overwrite = True , verbosity = 0 ) -> None :
11391179 """
11401180 Save the results to a file.
@@ -1614,46 +1654,6 @@ def generate_design(self, size, repeats, lower, upper) -> np.array:
16141654 """
16151655 return self .design .scipy_lhd (n = size , repeats = repeats , lower = lower , upper = upper )
16161656
1617- def update_stats (self ) -> None :
1618- """
1619- Update the following stats: 1. `min_y` 2. `min_X` 3. `counter`
1620- If `noise` is `True`, additionally the following stats are computed: 1. `mean_X`
1621- 2. `mean_y` 3. `min_mean_y` 4. `min_mean_X`.
1622-
1623- Args:
1624- self (object): Spot object
1625-
1626- Returns:
1627- (NoneType): None
1628-
1629- Attributes:
1630- self.min_y (float): minimum y value
1631- self.min_X (numpy.ndarray): X value of the minimum y value
1632- self.counter (int): number of function evaluations
1633- self.mean_X (numpy.ndarray): mean X values
1634- self.mean_y (numpy.ndarray): mean y values
1635- self.var_y (numpy.ndarray): variance of y values
1636- self.min_mean_y (float): minimum mean y value
1637- self.min_mean_X (numpy.ndarray): X value of the minimum mean y value
1638-
1639- """
1640- self .min_y = min (self .y )
1641- self .min_X = self .X [argmin (self .y )]
1642- self .counter = self .y .size
1643- self .fun_control .update ({"counter" : self .counter })
1644- # Update aggregated x and y values (if noise):
1645- if self .noise :
1646- Z = aggregate_mean_var (X = self .X , y = self .y )
1647- self .mean_X = Z [0 ]
1648- self .mean_y = Z [1 ]
1649- self .var_y = Z [2 ]
1650- # X value of the best mean y value so far:
1651- self .min_mean_X = self .mean_X [argmin (self .mean_y )]
1652- # variance of the best mean y value so far:
1653- self .min_var_y = self .var_y [argmin (self .mean_y )]
1654- # best mean y value so far:
1655- self .min_mean_y = self .mean_y [argmin (self .mean_y )]
1656-
16571657 def update_writer (self ) -> None :
16581658 if hasattr (self , "spot_writer" ) and self .spot_writer is not None :
16591659 # get the last y value:
0 commit comments