You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

evaluate.py 1.0KB

123456789101112131415161718192021222324252627282930313233
  1. import traceback
  2. from torchlap.experiments._entry_loader import get_entry, PhaseType
  3. from torchlap.data.data_loader import DataLoader, RunType
  4. from torchlap.experiments._model_loading import load_model
  5. from torchlap.utils.hooker import Hooker
  6. def main() -> None:
  7. ep = get_entry(PhaseType.EVAL)
  8. conf = ep.conf
  9. model = ep.model
  10. model = load_model(model, conf)
  11. model.eval()
  12. for test_group_info in conf.samples_dir.split(','):
  13. try:
  14. print('')
  15. print('>> Running evaluations for %s' % test_group_info, flush=True)
  16. test_data_loader = DataLoader(conf, test_group_info, RunType.TEST)
  17. evaluator = conf.evaluator_cls(model, test_data_loader, conf)
  18. with Hooker(*conf.hooks_by_phase[conf.phase_type]):
  19. evaluator.evaluate()
  20. except Exception:
  21. print('Problem in %s' % test_group_info, flush=True)
  22. track = traceback.format_exc()
  23. print(track, flush=True)
  24. if __name__ == '__main__':
  25. main()