in aepsych/strategy.py [0:0]
def ensure_model_is_fresh(f):
def wrapper(self, *args, **kwargs):
if self.has_model and not self._model_is_fresh:
if self.x is not None and self.y is not None:
starttime = time.time()
if self._count % self.refit_every == 0 or self.refit_every == 1:
logger.info("Starting fitting (no warm start)...")
# don't warm start
self.model.fit(self.x, self.y)
else:
logger.info("Starting fitting (warm start)...")
# warm start
self.model.update(self.x, self.y)
logger.info(f"Fitting done, took {time.time()-starttime}")
self._model_is_fresh = True
return f(self, *args, **kwargs)
return wrapper