macro_best = glob.glob(os.path.join(args.run_dir,
"model_state_main_epoch_*.best_macro.th"))
assert_for_log(len(macro_best) > 0, "No best checkpoint found to evaluate.")
assert_for_log(len(macro_best) == 1, "Too many best checkpoints. Something is wrong.")
load_model_state(model, macro_best[0], args.cuda)
// Train just the task-specific components for eval tasks.
if args.train_for_eval: