def experiment_from_json( object_json: Dict[str, Any], decoder_registry: Dict[str, Type], class_decoder_registry: Dict[str, Callable[[Dict[str, Any]], Any]], ) -> Experiment: """Load Ax Experiment from JSON.""" experiment_info = _get_experiment_info(object_json) experiment = Experiment( **{ k: object_from_json( v, decoder_registry=decoder_registry, class_decoder_registry=class_decoder_registry, ) for k, v in object_json.items() }) experiment._arms_by_name = {} _load_experiment_info( exp=experiment, exp_info=experiment_info, decoder_registry=decoder_registry, class_decoder_registry=class_decoder_registry, ) return experiment
def experiment_from_json(object_json: Dict[str, Any]) -> Experiment: """Load Ax Experiment from JSON.""" experiment_info = _get_experiment_info(object_json) experiment = Experiment(**{k: object_from_json(v) for k, v in object_json.items()}) experiment._arms_by_name = {} _load_experiment_info(exp=experiment, exp_info=experiment_info) return experiment
def experiment_from_json(object_json: Dict[str, Any]) -> Experiment: """Load Ax Experiment from JSON.""" time_created_json = object_json.pop("time_created") trials_json = object_json.pop("trials") experiment_type_json = object_json.pop("experiment_type") data_by_trial_json = object_json.pop("data_by_trial") experiment = Experiment( **{k: object_from_json(v) for k, v in object_json.items()}) experiment._time_created = object_from_json(time_created_json) experiment._trials = trials_from_json(experiment, trials_json) experiment._arms_by_name = {} for trial in experiment._trials.values(): for arm in trial.arms: experiment._register_arm(arm) if trial.ttl_seconds is not None: experiment._trials_have_ttl = True if experiment.status_quo is not None: sq = not_none(experiment.status_quo) experiment._register_arm(sq) experiment._experiment_type = object_from_json(experiment_type_json) experiment._data_by_trial = data_from_json(data_by_trial_json) return experiment