def _load_experiment(experiment_name: str, decoder: Decoder, reduced_state: bool = False) -> Experiment: """Load experiment by name, using given Decoder instance. 1) Get SQLAlchemy object from DB. 2) Convert to corresponding Ax object. """ # pyre-ignore Incompatible variable type [9]: exp_sqa_class is declared to have type # `Type[SQAExperiment]` but is used as type `Type[ax.storage.sqa_store.db.SQABase]` exp_sqa_class: Type[SQAExperiment] = decoder.config.class_to_sqa_class[ Experiment] if reduced_state: return decoder.experiment_from_sqa( experiment_sqa=_get_experiment_sqa_reduced_state( experiment_name=experiment_name, exp_sqa_class=exp_sqa_class), reduced_state=reduced_state, ) immutable_opt_config_and_search_space = ( _get_experiment_immutable_opt_config_and_search_space( experiment_name=experiment_name, exp_sqa_class=exp_sqa_class)) if immutable_opt_config_and_search_space: experiment_sqa = _get_experiment_sqa_immutable_opt_config_and_search_space( experiment_name=experiment_name, exp_sqa_class=exp_sqa_class) else: experiment_sqa = _get_experiment_sqa(experiment_name=experiment_name, exp_sqa_class=exp_sqa_class) return decoder.experiment_from_sqa(experiment_sqa=experiment_sqa)
def _load_experiment(experiment_name: str, decoder: Decoder) -> Experiment: """Load experiment by name, using given Decoder instance. 1) Get SQLAlchemy object from DB. 2) Convert to corresponding Ax object. """ # Convert SQA to user-facing class outside of session scope to avoid timeouts return decoder.experiment_from_sqa(experiment_sqa=_get_experiment_sqa( experiment_name=experiment_name))
def _load_experiment(experiment_name: str, decoder: Decoder) -> Experiment: """Load experiment by name, using given Decoder instance. 1) Get SQLAlchemy object from DB. 2) Convert to corresponding Ax object. """ with session_scope() as session: sqa_experiment = ( session.query(SQAExperiment).filter_by(name=experiment_name).one_or_none() ) if sqa_experiment is None: raise ValueError(f"Experiment `{experiment_name}` not found.") return decoder.experiment_from_sqa(sqa_experiment)
def _load_experiment( experiment_name: str, decoder: Decoder, reduced_state: bool = False, load_trials_in_batches_of_size: Optional[int] = None, ) -> Experiment: """Load experiment by name, using given Decoder instance. 1) Get SQLAlchemy object from DB. 2) Convert to corresponding Ax object. """ # pyre-ignore Incompatible variable type [9]: exp_sqa_class is declared to have type # `Type[SQAExperiment]` but is used as type `Type[ax.storage.sqa_store.db.SQABase]` exp_sqa_class: Type[SQAExperiment] = decoder.config.class_to_sqa_class[ Experiment] # pyre-ignore Incompatible variable type [9]: trial_sqa_class is decl. to have type # `Type[SQATrial]` but is used as type `Type[ax.storage.sqa_store.db.SQABase]` trial_sqa_class: Type[SQATrial] = decoder.config.class_to_sqa_class[Trial] if reduced_state: _get_experiment_sqa_func = _get_experiment_sqa_reduced_state else: imm_OC_and_SS = _get_experiment_immutable_opt_config_and_search_space( experiment_name=experiment_name, exp_sqa_class=exp_sqa_class) _get_experiment_sqa_func = ( _get_experiment_sqa_immutable_opt_config_and_search_space if imm_OC_and_SS else _get_experiment_sqa) experiment_sqa = _get_experiment_sqa_func( experiment_name=experiment_name, exp_sqa_class=exp_sqa_class, trial_sqa_class=trial_sqa_class, load_trials_in_batches_of_size=load_trials_in_batches_of_size, ) return decoder.experiment_from_sqa( experiment_sqa=experiment_sqa, reduced_state=reduced_state, )