| import argparse |
| from collections import defaultdict |
| from pathlib import Path |
| from pprint import pprint |
|
|
| import matplotlib |
| import matplotlib.pyplot as plt |
|
|
| from siclib.eval import get_benchmark |
| from siclib.eval.eval_pipeline import load_eval |
| from siclib.settings import EVAL_PATH |
| from siclib.visualization.global_frame import GlobalFrame |
| from siclib.visualization.two_view_frame import TwoViewFrame |
|
|
| |
| |
|
|
| if __name__ == "__main__": |
| parser = argparse.ArgumentParser() |
| parser.add_argument("benchmark", type=str) |
| parser.add_argument("--x", type=str, default=None) |
| parser.add_argument("--y", type=str, default=None) |
| parser.add_argument("--backend", type=str, default=None) |
| parser.add_argument("--default_plot", type=str, default=TwoViewFrame.default_conf["default"]) |
|
|
| parser.add_argument("dotlist", nargs="*") |
| args = parser.parse_intermixed_args() |
|
|
| output_dir = Path(EVAL_PATH, args.benchmark) |
|
|
| results = {} |
| summaries = defaultdict(dict) |
|
|
| predictions = {} |
|
|
| if args.backend: |
| matplotlib.use(args.backend) |
|
|
| bm = get_benchmark(args.benchmark) |
| loader = bm.get_dataloader() |
|
|
| for name in args.dotlist: |
| experiment_dir = output_dir / name |
| pred_file = experiment_dir / "predictions.h5" |
| s, results[name] = load_eval(experiment_dir) |
| predictions[name] = pred_file |
| for k, v in s.items(): |
| summaries[k][name] = v |
|
|
| pprint(summaries) |
|
|
| plt.close("all") |
|
|
| frame = GlobalFrame( |
| {"child": {"default": args.default_plot}, **vars(args)}, |
| results, |
| loader, |
| predictions, |
| child_frame=TwoViewFrame, |
| ) |
| frame.draw() |
| plt.show() |
|
|