| from tqdm import tqdm | |
| from pfp import DATA_DIRS | |
| from pfp.data.replay_buffer import RobotReplayBuffer | |
| task_name = "calibration" | |
| mode = "train" | |
| data_path = DATA_DIRS.PFP_REAL / task_name / mode | |
| new_data_path = DATA_DIRS.PFP_REAL / (task_name + "_new") / mode | |
| if new_data_path.exists(): | |
| raise FileExistsError(f"{new_data_path} already exists") | |
| replay_buffer = RobotReplayBuffer.create_from_path(data_path, mode="r") | |
| new_replay_buffer = RobotReplayBuffer.create_from_path(new_data_path, mode="w") | |
| for episode_idx in tqdm(range(replay_buffer.n_episodes)): | |
| episode = replay_buffer.get_episode(episode_idx) | |
| episode_len = len(episode["robot_state"]) | |
| data_list = [] | |
| for step_idx in range(episode_len): | |
| data_dict = {} | |
| for key in episode.keys(): | |
| if key.startswith("rgb"): | |
| data_dict[key] = episode[key][step_idx][::4, ::4, :] | |
| else: | |
| data_dict[key] = episode[key][step_idx] | |
| data_list.append(data_dict) | |
| new_replay_buffer.add_episode_from_list(data_list) | |
| print("debug") | |
| print("done") | |