in hiplot/fetchers.py [0:0]
def load_json(uri: str) -> hip.Experiment:
if not uri.endswith(".json"):
raise hip.ExperimentFetcherDoesntApply(f"Not a JSON file: {uri}")
dat = json.load(Path(uri).open())
if "job_id" in dat[0] and "kwargs" in dat[0] and "results" in dat[0]:
# Nevergrad JSON
return hip.Experiment.from_iterable(
[
{
"id": j["job_id"],
**{param_name: str(param_val) for param_name, param_val in j["kwargs"].items()},
**{score_name: score_val for score_name, score_val in j["results"]["scores"].items()},
}
for j in dat
]
)
return hip.Experiment.from_iterable(dat)