def load_model(project_dir, mode, hypers=False, build=True): """ Load config from project directory and return BEAT problem including model. Parameters ---------- project_dir : string path to beat model directory mode : string problem name to be loaded hypers : boolean flag to return hyper parameter estimation model instead of main model. build : boolean flag to build models Returns ------- problem : :class:`Problem` """ try: config = bconfig.load_config(project_dir, mode) except ArgumentError: raise ConfigNeedsUpdatingError() pc = config.problem_config if hypers and len(pc.hyperparameters) == 0: raise ValueError('No hyperparameters specified!' ' option --hypers not applicable') if pc.mode in problem_catalog.keys(): problem = problem_catalog[pc.mode](config, hypers) else: logger.error('Modeling problem %s not supported' % pc.mode) raise ValueError('Model not supported') if build: if hypers: problem.built_hyper_model() else: problem.built_model() return problem
def load_model(project_dir, mode, hypers=False): """ Load config from project directory and return BEAT problem including model. Parameters ---------- project_dir : string path to beat model directory mode : string problem name to be loaded hypers : boolean flag to return hyper parameter estimation model instead of main model. Returns ------- :class:`Problem` """ config = bconfig.load_config(project_dir, mode) pc = config.problem_config if hypers and len(pc.hyperparameters) == 0: raise Exception('No hyperparameters specified!' ' option --hypers not applicable') if pc.mode == 'geometry': problem = GeometryOptimizer(config) else: logger.error('Modeling problem %s not supported' % pc.mode) raise Exception('Model not supported') if hypers: problem.built_hyper_model() else: problem.built_model() return problem