def _save_experiment_and_generation_strategy_to_db_if_possible( self, overwrite_existing_experiment: bool = False) -> bool: """Saves attached experiment and generation strategy if DB settings are set on this AxClient instance. Args: overwrite_existing_experiment: If the experiment being created has the same name as some experiment already stored, this flag determines whether to overwrite the existing experiment. Defaults to False. Returns: bool: Whether the experiment was saved. """ if self.db_settings is not None: for i in range(3): try: save_experiment_and_generation_strategy( experiment=self.experiment, generation_strategy=self.generation_strategy, db_settings=self.db_settings, overwrite_existing_experiment= overwrite_existing_experiment, ) return True except OperationalError as err: # pragma: no covert if i < 2 or self._suppress_storage_errors: logger.exception(err) continue raise return False
def _save_experiment_and_maybe_generation_strategy_to_db_if_possible( self, save_generation_strategy: bool = True) -> bool: """Saves attached experiment and generation strategy if DB settings are set on this AxClient instance. Returns: bool: Whether the experiment was saved. """ if self.db_settings is not None: for i in range(3): try: if save_generation_strategy: save_experiment_and_generation_strategy( experiment=self.experiment, generation_strategy=self.generation_strategy, db_settings=self.db_settings, ) else: save_experiment(experiment=self.experiment, db_settings=self.db_settings) return True except OperationalError as err: # pragma: no covert if i < 2 or self._suppress_storage_errors: logger.exception(err) continue raise return False
def test_save_load_experiment_and_generation_strategy(self): exp, gs = load_experiment_and_generation_strategy( self.exp.name, self.db_settings) self.assertIsNone(gs) gs = get_generation_strategy() gs._experiment = self.exp save_experiment_and_generation_strategy(self.exp, gs, self.db_settings) exp, gs = load_experiment_and_generation_strategy( self.exp.name, self.db_settings) self.assertIsNotNone(gs)
def _save_experiment_and_generation_strategy_to_db_if_possible( self) -> bool: """Saves attached experiment and generation strategy if DB settings are set on this AxClient instance. Returns: bool: Whether the experiment was saved. """ if self.db_settings is not None: save_experiment_and_generation_strategy( experiment=self.experiment, generation_strategy=self.generation_strategy, db_settings=self.db_settings, ) return False
def _save_experiment_and_generation_strategy_if_possible(self) -> bool: """Saves attached experiment and generation strategy if DB settings are set on this AxClient instance. Returns: bool: Whether the experiment was saved. """ if self.db_settings is not None and self._experiment is not None: assert ( self.generation_strategy is not None ), "If experiment is set, generation strategy should be too." save_experiment_and_generation_strategy( experiment=not_none(self._experiment), generation_strategy=not_none(self.generation_strategy), db_settings=self.db_settings, ) return False
def _save_experiment_and_maybe_generation_strategy_to_db_if_possible( self, save_generation_strategy: bool = True, suppress_all_errors: bool = False) -> bool: """Saves attached experiment and generation strategy if DB settings are set on this AxClient instance. Returns: bool: Whether the experiment was saved. """ if self.db_settings is not None: if save_generation_strategy: save_experiment_and_generation_strategy( experiment=self.experiment, generation_strategy=self.generation_strategy, db_settings=self.db_settings, ) else: save_experiment(experiment=self.experiment, db_settings=self.db_settings) return True return False
def _save_experiment_and_generation_strategy_to_db_if_possible( self, overwrite_existing_experiment: bool = False) -> bool: """Saves attached experiment and generation strategy if DB settings are set on this AxClient instance. Args: overwrite_existing_experiment: If the experiment being created has the same name as some experiment already stored, this flag determines whether to overwrite the existing experiment. Defaults to False. Returns: bool: Whether the experiment was saved. """ if self.db_settings is not None: save_experiment_and_generation_strategy( experiment=self.experiment, generation_strategy=self.generation_strategy, db_settings=self.db_settings, overwrite_existing_experiment=overwrite_existing_experiment, ) return True return False