def _add_measured_configuration_to_experiment( self, configuration: Configuration) -> None: """ Save configuration after passing all checks. This method also sends an update to API (front-end). :param configuration: Configuration object. :return: None """ self.measured_configurations.append(configuration) if configuration.is_better(self.get_objectives_minimization(), self.get_objectives_priorities(), self.current_best_configurations[0]): # we do not need warm_startup_info anymore, since better configuration was found self.current_best_configurations[0].warm_startup_info = {} self.current_best_configurations = [configuration] self.database.update_record( collection_name="warm_startup_info", query={"Exp_unique_ID": self.unique_id}, new_val={"wsi": configuration.warm_startup_info}) else: # this configuration did not improve the previous solution, no need to keep track its solutions. configuration.warm_startup_info = {} self.database.write_one_record( "Measured_configurations", configuration.get_configuration_record()) self.send_state_to_db() self.api.send("new", "configuration", configurations=[configuration.parameters], results=[configuration.results]) self.logger.info("Adding to Experiment: %s" % configuration)
def _add_measured_configuration_to_experiment(self, configuration: Configuration) -> None: """ Save configuration after passing all checks. This method also sends an update to API (front-end). :param configuration: Configuration object. :return: None """ self.measured_configurations.append(configuration) if not self.current_best_configurations: # first soultion found self.current_best_configurations = [configuration] elif configuration.is_better_configuration(self.is_minimization(), self.current_best_configurations[0]): # new solution found self.current_best_configurations[0].warm_startup_info = {} self.current_best_configurations = [configuration] else: # this configuration did not improve the previous solution configuration.warm_startup_info = {} self.api.send("new", "configuration", configurations=[configuration.hyperparameters], results=[configuration.results]) self.logger.info("Adding to Experiment: %s" % configuration)