def get_logger(name=None): if EXPERIMENT is None: print("default logger") return logging.getLogger(name) elif EXPERIMENT.run_logger is None: EXPERIMENT.logger = create_basic_stream_logger() return EXPERIMENT.run_logger
def initialize_logging(experiment, scaffolding): if experiment.logger is None: root_logger = create_basic_stream_logger() else: root_logger = experiment.logger for sc_path, scaffold in scaffolding.items(): if sc_path: scaffold.logger = root_logger.getChild(sc_path) else: scaffold.logger = root_logger return root_logger, root_logger.getChild(experiment.path)
def __init__(self, experiment, database_name=None, url="localhost", optimizer=None, prefix='runs', always_inject_observer=False): """ Create a new LabAssistant and connects it with a database. Parameters ---------- experiment : sacred.Experiment The (sacred) experiment that is going to be optimized. database_name : str The name of the database where all information about the runs are saved. optimizer: object, optional Specifies which optimizer is used to suggest a new hyperparameter configuration prefix: str, optional Additional prefix for the database always_inject_observer: bool, optional If true an MongoObserver is added to the experiment. """ self.ex = experiment self.ex.option_hook(self._option_hook) self.db_name = database_name self.url = url self.db = None self.ex.logger = create_basic_stream_logger() self.logger = self.ex.logger.getChild('LabAssistant') self.prefix = prefix self.version_policy = 'newer' self.always_inject_observer = always_inject_observer self.optimizer_class = optimizer self.block_time = 1000 # TODO: what value should this be? # remember for which experiments we have config hooks setup self.observer_mapping = dict() # mark that we have newer looked for finished runs self.known_jobs = set() self.last_checked = None self.current_search_space = None self.mongo_observer = None
def initialize_logging(experiment, scaffolding, loglevel=None): if experiment.logger is None: if loglevel: try: loglevel = int(loglevel) except ValueError: pass root_logger = create_basic_stream_logger('', level=loglevel) else: root_logger = experiment.logger if loglevel: root_logger.setLevel(loglevel) for sc_path, scaffold in scaffolding.items(): if sc_path: scaffold.logger = root_logger.getChild(sc_path) else: scaffold.logger = root_logger return root_logger.getChild(experiment.name)
def initialize_logging(experiment, scaffolding, log_level=None): if experiment.logger is None: root_logger = create_basic_stream_logger() else: root_logger = experiment.logger for sc_path, scaffold in scaffolding.items(): if sc_path: scaffold.logger = root_logger.getChild(sc_path) else: scaffold.logger = root_logger # set log level if log_level is not None: try: lvl = int(log_level) except ValueError: lvl = log_level root_logger.setLevel(lvl) return root_logger, root_logger.getChild(experiment.path)