GeoCalib / siclib /eval /inspect.py
veichta's picture
Upload folder using huggingface_hub
205a7af verified
raw
history blame
1.71 kB
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
# flake8: noqa
# mypy: ignore-errors
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()