import traceback from torchlap.experiments._entry_loader import get_entry, PhaseType from torchlap.data.data_loader import DataLoader, RunType from torchlap.experiments._model_loading import load_model from torchlap.utils.hooker import Hooker def main() -> None: ep = get_entry(PhaseType.EVAL) conf = ep.conf model = ep.model model = load_model(model, conf) model.eval() for test_group_info in conf.samples_dir.split(','): try: print('') print('>> Running evaluations for %s' % test_group_info, flush=True) test_data_loader = DataLoader(conf, test_group_info, RunType.TEST) evaluator = conf.evaluator_cls(model, test_data_loader, conf) with Hooker(*conf.hooks_by_phase[conf.phase_type]): evaluator.evaluate() except Exception: print('Problem in %s' % test_group_info, flush=True) track = traceback.format_exc() print(track, flush=True) if __name__ == '__main__': main()