diff --git a/eval/habitat_evaluator.py b/eval/habitat_evaluator.py index 4d2b5c3..ed8a36c 100644 --- a/eval/habitat_evaluator.py +++ b/eval/habitat_evaluator.py @@ -119,6 +119,7 @@ def __init__(self, self.logger = rerun_logger.RerunLogger(self.actor.mapper, False, "") if self.log_rerun else None self.results_path = "/home/finn/active/MON/results_gibson" if self.is_gibson else "results/" + def load_scene(self, scene_id: str): if self.sim is not None: self.sim.close() @@ -408,6 +409,12 @@ def evaluate(self): results[n_ep] = Result.FAILURE_STUCK num_frontiers = len(self.actor.mapper.nav_goals) + + # Create directories to avoid missing path errors + os.makedirs(f"{self.results_path}/trajectories", exist_ok=True) + os.makedirs(f"{self.results_path}/similarities", exist_ok=True) + os.makedirs(f"{self.results_path}/state", exist_ok=True) + np.savetxt(f"{self.results_path}/trajectories/poses_{episode.episode_id}.csv", poses, delimiter=",") # save final sim to image file final_sim = (self.actor.mapper.get_map() + 1.0) / 2.0 diff --git a/eval/habitat_multi_evaluator.py b/eval/habitat_multi_evaluator.py index 3c1e134..243732e 100644 --- a/eval/habitat_multi_evaluator.py +++ b/eval/habitat_multi_evaluator.py @@ -587,7 +587,11 @@ def evaluate(self): final_sim = final_sim.transpose((1, 0, 2)) final_sim = np.flip(final_sim, axis=0) # get min and max x and y of confs - + # Create directories to avoid missing path errors + os.makedirs(f"{self.results_path}/trajectories", exist_ok=True) + os.makedirs(f"{self.results_path}/similarities", exist_ok=True) + os.makedirs(f"{self.results_path}/state", exist_ok=True) + cv2.imwrite(f"{self.results_path}/similarities/final_sim_{episode.episode_id}_{sequence_id}.png", final_sim) # Create the plot plt.figure(figsize=(10, 10))