From d1bec3e8aeaf394cb659333ab4e4498a8c090fc7 Mon Sep 17 00:00:00 2001 From: Jade Choghari Date: Thu, 13 Mar 2025 21:53:53 +0300 Subject: [PATCH] cleanup --- benchmarks/video/run_video_benchmark.py | 11 +- lerobot/common/datasets/lerobot_dataset.py | 42 +- lerobot/common/datasets/video_utils.py | 61 -- lerobot/scripts/train.py | 58 +- output/rollout.mp4 | Bin 199369 -> 0 bytes tester.ipynb | 674 --------------------- 6 files changed, 10 insertions(+), 836 deletions(-) delete mode 100644 output/rollout.mp4 delete mode 100644 tester.ipynb diff --git a/benchmarks/video/run_video_benchmark.py b/benchmarks/video/run_video_benchmark.py index 92b9df9e..e9066487 100644 --- a/benchmarks/video/run_video_benchmark.py +++ b/benchmarks/video/run_video_benchmark.py @@ -39,7 +39,6 @@ from lerobot.common.datasets.lerobot_dataset import LeRobotDataset from lerobot.common.datasets.video_utils import ( decode_video_frames_torchvision, encode_video_frames, - decode_video_frames_torchcodec, ) from lerobot.common.utils.benchmark import TimeBenchmark @@ -68,6 +67,10 @@ def parse_int_or_none(value) -> int | None: def check_datasets_formats(repo_ids: list) -> None: for repo_id in repo_ids: dataset = LeRobotDataset(repo_id) + if dataset.video: + raise ValueError( + f"Use only image dataset for running this benchmark. Video dataset provided: {repo_id}" + ) def get_directory_size(directory: Path) -> int: @@ -152,10 +155,6 @@ def decode_video_frames( ) -> torch.Tensor: if backend in ["pyav", "video_reader"]: return decode_video_frames_torchvision(video_path, timestamps, tolerance_s, backend) - elif backend in ["torchcodec-cpu", "torchcodec-gpu"]: - # Only pass device once depending on the backend - device = "cpu" if backend == "torchcodec-cpu" else "cuda" - return decode_video_frames_torchcodec(video_path, timestamps, tolerance_s, device=device) else: raise NotImplementedError(backend) @@ -189,7 +188,7 @@ def benchmark_decoding( original_frames = load_original_frames(imgs_dir, timestamps, fps) result["load_time_images_ms"] = time_benchmark.result_ms / num_frames - frames_np, original_frames_np = frames.cpu().numpy(), original_frames.cpu().numpy() + frames_np, original_frames_np = frames.numpy(), original_frames.numpy() for i in range(num_frames): result["mse_values"].append(mean_squared_error(original_frames_np[i], frames_np[i])) result["psnr_values"].append( diff --git a/lerobot/common/datasets/lerobot_dataset.py b/lerobot/common/datasets/lerobot_dataset.py index b7e7bca9..9483bf0a 100644 --- a/lerobot/common/datasets/lerobot_dataset.py +++ b/lerobot/common/datasets/lerobot_dataset.py @@ -660,48 +660,7 @@ class LeRobotDataset(torch.utils.data.Dataset): item = {**item, **padding} for key, val in query_result.items(): item[key] = val - if len(self.meta.video_keys) > 0: - current_ts = item["timestamp"].item() - query_timestamps = self._get_query_timestamps(current_ts, query_indices) - # if what is returned is all the info that i used query_timestamps, episode - # percentage of chance, 30% cpu, gpu - # video_frames = self._query_videos(query_timestamps, ep_idx) - # item = {**video_frames, **item} - # jade - instead of decoding video, return video path & timestamps - # hack only add metadata - item["video_paths"] = { - vid_key: self.root / self.meta.get_video_file_path(ep_idx, vid_key) - for vid_key in query_timestamps.keys() - } - item["query_timestamps"] = query_timestamps - - if self.image_transforms is not None: - breakpoint() - image_keys = self.meta.camera_keys - for cam in image_keys: - item[cam] = self.image_transforms(item[cam]) - - # Add task as a string - task_idx = item["task_index"].item() - item["task"] = self.meta.tasks[task_idx] - - return item - def __getitem2__(self, idx) -> dict: - item = self.hf_dataset[idx] - ep_idx = item["episode_index"].item() - - query_indices = None - # data logic - if self.delta_indices is not None: - current_ep_idx = self.episodes.index(ep_idx) if self.episodes is not None else ep_idx - query_indices, padding = self._get_query_indices(idx, current_ep_idx) # - query_result = self._query_hf_dataset(query_indices) - item = {**item, **padding} - for key, val in query_result.items(): - item[key] = val - - # video logic if len(self.meta.video_keys) > 0: current_ts = item["timestamp"].item() query_timestamps = self._get_query_timestamps(current_ts, query_indices) @@ -718,6 +677,7 @@ class LeRobotDataset(torch.utils.data.Dataset): item["task"] = self.meta.tasks[task_idx] return item + def __repr__(self): feature_keys = list(self.features) return ( diff --git a/lerobot/common/datasets/video_utils.py b/lerobot/common/datasets/video_utils.py index 0b67f9e9..8ed3318d 100644 --- a/lerobot/common/datasets/video_utils.py +++ b/lerobot/common/datasets/video_utils.py @@ -127,67 +127,6 @@ def decode_video_frames_torchvision( return closest_frames -def decode_video_frames_torchcodec( - video_path: Path | str, - timestamps: list[float], - tolerance_s: float, - device: str = "cpu", - log_loaded_timestamps: bool = False, -) -> torch.Tensor: - """Loads frames associated with the requested timestamps of a video using torchcodec.""" - video_path = str(video_path) - # initialize video decoder - from torchcodec.decoders import VideoDecoder - decoder = VideoDecoder(video_path, device=device) - loaded_frames = [] - loaded_ts = [] - # get metadata for frame information - metadata = decoder.metadata - average_fps = metadata.average_fps - - # convert timestamps to frame indices - frame_indices = [int(ts * average_fps) for ts in timestamps] - - # retrieve frames based on indices - frames_batch = decoder.get_frames_at(indices=frame_indices) - - for frame, pts in zip(frames_batch.data, frames_batch.pts_seconds): - loaded_frames.append(frame) - loaded_ts.append(pts.item()) - if log_loaded_timestamps: - logging.info(f"Frame loaded at timestamp={pts:.4f}") - - query_ts = torch.tensor(timestamps) - loaded_ts = torch.tensor(loaded_ts) - - # compute distances between each query timestamp and loaded timestamps - dist = torch.cdist(query_ts[:, None], loaded_ts[:, None], p=1) - min_, argmin_ = dist.min(1) - - is_within_tol = min_ < tolerance_s - assert is_within_tol.all(), ( - f"One or several query timestamps unexpectedly violate the tolerance ({min_[~is_within_tol]} > {tolerance_s=})." - "It means that the closest frame that can be loaded from the video is too far away in time." - "This might be due to synchronization issues with timestamps during data collection." - "To be safe, we advise to ignore this item during training." - f"\nqueried timestamps: {query_ts}" - f"\nloaded timestamps: {loaded_ts}" - f"\nvideo: {video_path}" - ) - - # get closest frames to the query timestamps - closest_frames = torch.stack([loaded_frames[idx] for idx in argmin_]) - closest_ts = loaded_ts[argmin_] - - if log_loaded_timestamps: - logging.info(f"{closest_ts=}") - - # convert to float32 in [0,1] range (channel first) - closest_frames = closest_frames.type(torch.float32) / 255 - - assert len(timestamps) == len(closest_frames) - return closest_frames - def encode_video_frames( imgs_dir: Path | str, video_path: Path | str, diff --git a/lerobot/scripts/train.py b/lerobot/scripts/train.py index 8648eb1b..f3c57fe2 100644 --- a/lerobot/scripts/train.py +++ b/lerobot/scripts/train.py @@ -23,7 +23,7 @@ import torch from termcolor import colored from torch.amp import GradScaler from torch.optim import Optimizer -from pathlib import Path + from lerobot.common.datasets.factory import make_dataset from lerobot.common.datasets.sampler import EpisodeAwareSampler from lerobot.common.datasets.utils import cycle @@ -51,58 +51,7 @@ from lerobot.common.utils.wandb_utils import WandBLogger from lerobot.configs import parser from lerobot.configs.train import TrainPipelineConfig from lerobot.scripts.eval import eval_policy -from lerobot.common.datasets.video_utils import ( - decode_video_frames_torchvision, decode_video_frames_torchcodec -) -# let's define a custom fn -def custom_collate_fn(batch): - # always in the cuda, getitem is on cpu, - # then implement mixed - """ - Custom collate function that decodes videos on GPU/CPU. - Converts the batch to a dictionary with keys representing each field. - Returns a tensor for video frames instead of a list. - """ - # know when it is called - final_batch = {} - is_main_process = torch.utils.data.get_worker_info() is None - - # the batch is given as a list, we need to return a dict - for item in batch: - # process video decoding for each item - if "video_paths" in item and "query_timestamps" in item: - for vid_key, video_path in item["video_paths"].items(): - # decode video frames based on timestamps - timestamps = item["query_timestamps"][vid_key] - - # ✅ Use CUDA only in the main process - device = "cuda" if is_main_process else "cpu" - frames = decode_video_frames_torchcodec( - video_path=Path(video_path), - timestamps=timestamps, - tolerance_s=0.02, - # backend="pyav", - log_loaded_timestamps=False, - device=device, # ✅ Keeps CUDA safe - ) - # stack frames for this video key and add directly to the item - item[vid_key] = frames - - # add item data (both video and non-video) to final_batch - for key, value in item.items(): - if key not in final_batch: - final_batch[key] = [] - final_batch[key].append(value) - - # now, stack tensors for each key in final_batch - # this is needed to ensure that video frames (and any other tensor fields) are combined - # into a single tensor per field, rather than a list of tensors! - for key in final_batch: - if isinstance(final_batch[key][0], torch.Tensor): - final_batch[key] = torch.stack(final_batch[key]) # stack tensors if needed - - return final_batch def update_policy( train_metrics: MetricsTracker, @@ -233,11 +182,12 @@ def train(cfg: TrainPipelineConfig): shuffle=shuffle, sampler=sampler, pin_memory=device.type != "cpu", - collate_fn=custom_collate_fn, drop_last=False, ) dl_iter = cycle(dataloader) + policy.train() + train_metrics = { "loss": AverageMeter("loss", ":.3f"), "grad_norm": AverageMeter("grdn", ":.3f"), @@ -255,6 +205,7 @@ def train(cfg: TrainPipelineConfig): start_time = time.perf_counter() batch = next(dl_iter) train_tracker.dataloading_s = time.perf_counter() - start_time + for key in batch: if isinstance(batch[key], torch.Tensor): batch[key] = batch[key].to(device, non_blocking=True) @@ -280,7 +231,6 @@ def train(cfg: TrainPipelineConfig): if is_log_step: logging.info(train_tracker) - breakpoint() if wandb_logger: wandb_log_dict = train_tracker.to_dict() if output_dict: diff --git a/output/rollout.mp4 b/output/rollout.mp4 deleted file mode 100644 index d4b247710eb67aa34d0b861d8d0d352ea846dcda..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 199369 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

0%mdTc_86d+>wqx{IQ6M#kvlAf{ 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 z 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%0D>8!pE44$=H97CN}hwG#qADUW1c;0%6@ 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 q^7VyW;{=We0yf5Sc diff --git a/tester.ipynb b/tester.ipynb deleted file mode 100644 index c567051e..00000000 --- a/tester.ipynb +++ /dev/null @@ -1,674 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "from pathlib import Path\n", - "\n", - "import gym_pusht # noqa: F401\n", - "import gymnasium as gym\n", - "import imageio\n", - "import numpy\n", - "import torch" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "# Select your device\n", - "device = \"cuda\" if torch.cuda.is_available() else \"cpu\"" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [], - "source": [ - "# Provide the [hugging face repo id](https://huggingface.co/lerobot/diffusion_pusht):\n", - "pretrained_policy_path = \"IliaLarchenko/dot_pusht_keypoints\"" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": {}, - "outputs": [], - "source": [ - "from lerobot.common.policies.dot.modeling_dot import DOTPolicy\n", - "policy = DOTPolicy.from_pretrained(pretrained_policy_path, map_location=device)" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [], - "source": [ - "env = gym.make(\n", - " \"gym_pusht/PushT-v0\",\n", - " obs_type=\"environment_state_agent_pos\",\n", - " max_episode_steps=300,\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "{'observation.state': PolicyFeature(type=, shape=(2,)), 'observation.environment_state': PolicyFeature(type=, shape=(16,))}\n", - "Dict('agent_pos': Box(0.0, 512.0, (2,), float64), 'environment_state': Box(0.0, 512.0, (16,), float64))\n" - ] - } - ], - "source": [ - "print(policy.config.input_features)\n", - "print(env.observation_space)" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "{'action': PolicyFeature(type=, shape=(2,))}\n", - "Box(0.0, 512.0, (2,), float32)\n" - ] - } - ], - "source": [ - "print(policy.config.output_features)\n", - "print(env.action_space)" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "metadata": {}, - "outputs": [], - "source": [ - "policy.reset()\n", - "numpy_observation, info = env.reset(seed=42)" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "metadata": {}, - "outputs": [], - "source": [ - "# Prepare to collect every rewards and all the frames of the episode,\n", - "# from initial state to final state.\n", - "rewards = []\n", - "frames = []\n", - "\n", - "# Render frame of the initial state\n", - "frames.append(env.render())" - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "step=0 reward=np.float64(0.0) terminated=False\n", - "step=1 reward=np.float64(0.0) terminated=False\n", - "step=2 reward=np.float64(0.0) terminated=False\n", - "step=3 reward=np.float64(0.0) terminated=False\n", - "step=4 reward=np.float64(0.0) terminated=False\n", - "step=5 reward=np.float64(0.0) terminated=False\n", - "step=6 reward=np.float64(0.0) terminated=False\n", - "step=7 reward=np.float64(0.0) terminated=False\n", - "step=8 reward=np.float64(0.0) terminated=False\n", - "step=9 reward=np.float64(0.0) terminated=False\n", - "step=10 reward=np.float64(0.0) terminated=False\n", - "step=11 reward=np.float64(0.0) terminated=False\n", - "step=12 reward=np.float64(0.0) terminated=False\n", - "step=13 reward=np.float64(0.0) terminated=False\n", - "step=14 reward=np.float64(0.0) terminated=False\n", - "step=15 reward=np.float64(0.0) terminated=False\n", - "step=16 reward=np.float64(0.0) terminated=False\n", - "step=17 reward=np.float64(0.0) terminated=False\n", - "step=18 reward=np.float64(0.0) terminated=False\n", - "step=19 reward=np.float64(0.0) terminated=False\n", - "step=20 reward=np.float64(0.0) terminated=False\n", - "step=21 reward=np.float64(0.0) terminated=False\n", - "step=22 reward=np.float64(0.0009941544780861455) terminated=False\n", - "step=23 reward=np.float64(0.033647507519038757) terminated=False\n", - "step=24 reward=np.float64(0.07026086006261555) terminated=False\n", - "step=25 reward=np.float64(0.10069667553409196) terminated=False\n", - "step=26 reward=np.float64(0.11389926069925992) terminated=False\n", - "step=27 reward=np.float64(0.12027077768723497) terminated=False\n", - "step=28 reward=np.float64(0.12486582623684722) terminated=False\n", - "step=29 reward=np.float64(0.12815916861048604) terminated=False\n", - "step=30 reward=np.float64(0.1303391815805222) terminated=False\n", - "step=31 reward=np.float64(0.1315231117258188) terminated=False\n", - "step=32 reward=np.float64(0.13221640549835664) terminated=False\n", - "step=33 reward=np.float64(0.13254763259209015) terminated=False\n", - "step=34 reward=np.float64(0.13263558368425837) terminated=False\n", - "step=35 reward=np.float64(0.13263932937572084) terminated=False\n", - "step=36 reward=np.float64(0.13263932937572084) terminated=False\n", - "step=37 reward=np.float64(0.13263932937572084) terminated=False\n", - "step=38 reward=np.float64(0.13263932937572084) terminated=False\n", - "step=39 reward=np.float64(0.13263932937572084) terminated=False\n", - "step=40 reward=np.float64(0.13263932937572084) terminated=False\n", - "step=41 reward=np.float64(0.13263932937572084) terminated=False\n", - "step=42 reward=np.float64(0.13263932937572084) terminated=False\n", - "step=43 reward=np.float64(0.13263932937572084) terminated=False\n", - "step=44 reward=np.float64(0.13263932937572084) terminated=False\n", - "step=45 reward=np.float64(0.13263932937572084) terminated=False\n", - "step=46 reward=np.float64(0.13263932937572084) terminated=False\n", - "step=47 reward=np.float64(0.13263932937572084) terminated=False\n", - "step=48 reward=np.float64(0.13263932937572084) terminated=False\n", - "step=49 reward=np.float64(0.13263932937572084) terminated=False\n", - "step=50 reward=np.float64(0.13263932937572084) terminated=False\n", - "step=51 reward=np.float64(0.13263932937572084) terminated=False\n", - "step=52 reward=np.float64(0.14872285364307145) terminated=False\n", - "step=53 reward=np.float64(0.19847005044261715) terminated=False\n", - "step=54 reward=np.float64(0.24338272205852812) terminated=False\n", - "step=55 reward=np.float64(0.2667243347061481) terminated=False\n", - "step=56 reward=np.float64(0.2691675276421592) terminated=False\n", - "step=57 reward=np.float64(0.3018254762158707) terminated=False\n", - "step=58 reward=np.float64(0.3613501686331564) terminated=False\n", - "step=59 reward=np.float64(0.4613512243665896) terminated=False\n", - "step=60 reward=np.float64(0.5617656688929643) terminated=False\n", - "step=61 reward=np.float64(0.5747609180351871) terminated=False\n", - "step=62 reward=np.float64(0.507048651118485) terminated=False\n", - "step=63 reward=np.float64(0.44332042287270484) terminated=False\n", - "step=64 reward=np.float64(0.3993804222553378) terminated=False\n", - "step=65 reward=np.float64(0.36941592278664487) terminated=False\n", - "step=66 reward=np.float64(0.36941592278664487) terminated=False\n", - "step=67 reward=np.float64(0.36941592278664487) terminated=False\n", - "step=68 reward=np.float64(0.36941592278664487) terminated=False\n", - "step=69 reward=np.float64(0.36941592278664487) terminated=False\n", - "step=70 reward=np.float64(0.36941592278664487) terminated=False\n", - "step=71 reward=np.float64(0.36941592278664487) terminated=False\n", - "step=72 reward=np.float64(0.36941592278664487) terminated=False\n", - "step=73 reward=np.float64(0.36941592278664487) terminated=False\n", - "step=74 reward=np.float64(0.36941592278664487) terminated=False\n", - "step=75 reward=np.float64(0.4322328474940646) terminated=False\n", - "step=76 reward=np.float64(0.4818152566968738) terminated=False\n", - "step=77 reward=np.float64(0.5252535051167734) terminated=False\n", - "step=78 reward=np.float64(0.5586446249197407) terminated=False\n", - "step=79 reward=np.float64(0.5885022076599307) terminated=False\n", - "step=80 reward=np.float64(0.5977994643852952) terminated=False\n", - "step=81 reward=np.float64(0.597859201570885) terminated=False\n", - "step=82 reward=np.float64(0.597859201570885) terminated=False\n", - "step=83 reward=np.float64(0.597859201570885) terminated=False\n", - "step=84 reward=np.float64(0.597859201570885) terminated=False\n", - "step=85 reward=np.float64(0.597859201570885) terminated=False\n", - "step=86 reward=np.float64(0.597859201570885) terminated=False\n", - "step=87 reward=np.float64(0.597859201570885) terminated=False\n", - "step=88 reward=np.float64(0.597859201570885) terminated=False\n", - "step=89 reward=np.float64(0.6876341127908622) terminated=False\n", - "step=90 reward=np.float64(0.8166289152424572) terminated=False\n", - "step=91 reward=np.float64(0.9421614978354362) terminated=False\n", - "step=92 reward=np.float64(0.9441608976568224) terminated=False\n", - "step=93 reward=np.float64(0.9104163604296966) terminated=False\n", - "step=94 reward=np.float64(0.909182661371769) terminated=False\n", - "step=95 reward=np.float64(0.909182661371769) terminated=False\n", - "step=96 reward=np.float64(0.909182661371769) terminated=False\n", - "step=97 reward=np.float64(0.909182661371769) terminated=False\n", - "step=98 reward=np.float64(0.909182661371769) terminated=False\n", - "step=99 reward=np.float64(0.909182661371769) terminated=False\n", - "step=100 reward=np.float64(0.909182661371769) terminated=False\n", - "step=101 reward=np.float64(0.909182661371769) terminated=False\n", - "step=102 reward=np.float64(0.909182661371769) terminated=False\n", - "step=103 reward=np.float64(0.9340357871805705) terminated=False\n", - "step=104 reward=np.float64(0.8851102121651142) terminated=False\n", - "step=105 reward=np.float64(0.8809768749693764) terminated=False\n", - "step=106 reward=np.float64(0.8809768749693764) terminated=False\n", - "step=107 reward=np.float64(0.8809768749693764) terminated=False\n", - "step=108 reward=np.float64(0.8809768749693764) terminated=False\n", - "step=109 reward=np.float64(0.8809768749693764) terminated=False\n", - "step=110 reward=np.float64(0.8809768749693764) terminated=False\n", - "step=111 reward=np.float64(0.8809768749693764) terminated=False\n", - "step=112 reward=np.float64(0.8809768749693764) terminated=False\n", - "step=113 reward=np.float64(0.8809768749693764) terminated=False\n", - "step=114 reward=np.float64(0.8809768749693764) terminated=False\n", - "step=115 reward=np.float64(0.8809768749693764) terminated=False\n", - "step=116 reward=np.float64(0.8809768749693764) terminated=False\n", - "step=117 reward=np.float64(0.8809768749693764) terminated=False\n", - "step=118 reward=np.float64(0.8809768749693764) terminated=False\n", - "step=119 reward=np.float64(0.9518089158714292) terminated=False\n", - "step=120 reward=np.float64(0.9405458729516311) terminated=False\n", - "step=121 reward=np.float64(0.935511214687435) terminated=False\n", - "step=122 reward=np.float64(0.935511214687435) terminated=False\n", - "step=123 reward=np.float64(0.935511214687435) terminated=False\n", - "step=124 reward=np.float64(0.935511214687435) terminated=False\n", - "step=125 reward=np.float64(0.935511214687435) terminated=False\n", - "step=126 reward=np.float64(0.935511214687435) terminated=False\n", - "step=127 reward=np.float64(0.935511214687435) terminated=False\n", - "step=128 reward=np.float64(0.935511214687435) terminated=False\n", - "step=129 reward=np.float64(0.935511214687435) terminated=False\n", - "step=130 reward=np.float64(0.935511214687435) terminated=False\n", - "step=131 reward=np.float64(0.935511214687435) terminated=False\n", - "step=132 reward=np.float64(0.935511214687435) terminated=False\n", - "step=133 reward=np.float64(0.935511214687435) terminated=False\n", - "step=134 reward=np.float64(0.935511214687435) terminated=False\n", - "step=135 reward=np.float64(0.9534990217822209) terminated=False\n", - "step=136 reward=np.float64(0.9596585109597399) terminated=False\n", - "step=137 reward=np.float64(0.882875733420291) terminated=False\n", - "step=138 reward=np.float64(0.8277880190838034) terminated=False\n", - "step=139 reward=np.float64(0.8211529871155266) terminated=False\n", - "step=140 reward=np.float64(0.8211529871155266) terminated=False\n", - "step=141 reward=np.float64(0.8211529871155266) terminated=False\n", - "step=142 reward=np.float64(0.8211529871155266) terminated=False\n", - "step=143 reward=np.float64(0.8211529871155266) terminated=False\n", - "step=144 reward=np.float64(0.8211529871155266) terminated=False\n", - "step=145 reward=np.float64(0.8211529871155266) terminated=False\n", - "step=146 reward=np.float64(0.8211529871155266) terminated=False\n", - "step=147 reward=np.float64(0.8211529871155266) terminated=False\n", - "step=148 reward=np.float64(0.8211529871155266) terminated=False\n", - "step=149 reward=np.float64(0.8211529871155266) terminated=False\n", - "step=150 reward=np.float64(0.8211529871155266) terminated=False\n", - "step=151 reward=np.float64(0.8211529871155266) terminated=False\n", - "step=152 reward=np.float64(0.8211529871155266) terminated=False\n", - "step=153 reward=np.float64(0.8211529871155266) terminated=False\n", - "step=154 reward=np.float64(0.856408395120982) terminated=False\n", - "step=155 reward=np.float64(0.9304040416833055) terminated=False\n", - "step=156 reward=np.float64(0.9770812279113622) terminated=False\n", - "step=157 reward=np.float64(0.9944597232685968) terminated=False\n", - "step=158 reward=np.float64(0.9944597232685968) terminated=False\n", - "step=159 reward=np.float64(0.9944597232685968) terminated=False\n", - "step=160 reward=np.float64(0.9944597232685968) terminated=False\n", - "step=161 reward=np.float64(0.9944597232685968) terminated=False\n", - "step=162 reward=np.float64(0.9944597232685968) terminated=False\n", - "step=163 reward=np.float64(0.9944597232685968) terminated=False\n", - "step=164 reward=np.float64(0.9944597232685968) terminated=False\n", - "step=165 reward=np.float64(0.9944597232685968) terminated=False\n", - "step=166 reward=np.float64(0.9944597232685968) terminated=False\n", - "step=167 reward=np.float64(0.9944597232685968) terminated=False\n", - "step=168 reward=np.float64(0.9944597232685968) terminated=False\n", - "step=169 reward=np.float64(0.9820541217675358) terminated=False\n", - "step=170 reward=np.float64(0.8765528119646949) terminated=False\n", - "step=171 reward=np.float64(0.8231919366320396) terminated=False\n", - "step=172 reward=np.float64(0.7926155231821123) terminated=False\n", - "step=173 reward=np.float64(0.7902960563492054) terminated=False\n", - "step=174 reward=np.float64(0.7902960563492054) terminated=False\n", - "step=175 reward=np.float64(0.7902960563492054) terminated=False\n", - "step=176 reward=np.float64(0.7902960563492054) terminated=False\n", - "step=177 reward=np.float64(0.7902960563492054) terminated=False\n", - "step=178 reward=np.float64(0.7902960563492054) terminated=False\n", - "step=179 reward=np.float64(0.7902960563492054) terminated=False\n", - "step=180 reward=np.float64(0.7902960563492054) terminated=False\n", - "step=181 reward=np.float64(0.8158199658870418) terminated=False\n", - "step=182 reward=np.float64(0.8191627090126786) terminated=False\n", - "step=183 reward=np.float64(0.8172224839948001) terminated=False\n", - "step=184 reward=np.float64(0.8172224839948001) terminated=False\n", - "step=185 reward=np.float64(0.8172224839948001) terminated=False\n", - "step=186 reward=np.float64(0.8172224839948001) terminated=False\n", - "step=187 reward=np.float64(0.8172224839948001) terminated=False\n", - "step=188 reward=np.float64(0.8172224839948001) terminated=False\n", - "step=189 reward=np.float64(0.8172224839948001) terminated=False\n", - "step=190 reward=np.float64(0.8172224839948001) terminated=False\n", - "step=191 reward=np.float64(0.8172224839948001) terminated=False\n", - "step=192 reward=np.float64(0.8172224839948001) terminated=False\n", - "step=193 reward=np.float64(0.8172224839948001) terminated=False\n", - "step=194 reward=np.float64(0.8172224839948001) terminated=False\n", - "step=195 reward=np.float64(0.8172224839948001) terminated=False\n", - "step=196 reward=np.float64(0.8172224839948001) terminated=False\n", - "step=197 reward=np.float64(0.878735078350138) terminated=False\n", - "step=198 reward=np.float64(0.8564816396314117) terminated=False\n", - "step=199 reward=np.float64(0.7970005244772627) terminated=False\n", - "step=200 reward=np.float64(0.7688729860960439) terminated=False\n", - "step=201 reward=np.float64(0.7671148163486476) terminated=False\n", - "step=202 reward=np.float64(0.7671148163486476) terminated=False\n", - "step=203 reward=np.float64(0.7671148163486476) terminated=False\n", - "step=204 reward=np.float64(0.7671148163486476) terminated=False\n", - "step=205 reward=np.float64(0.7671148163486476) terminated=False\n", - "step=206 reward=np.float64(0.7671148163486476) terminated=False\n", - "step=207 reward=np.float64(0.7671148163486476) terminated=False\n", - "step=208 reward=np.float64(0.7671148163486476) terminated=False\n", - "step=209 reward=np.float64(0.7671148163486476) terminated=False\n", - "step=210 reward=np.float64(0.7671148163486476) terminated=False\n", - "step=211 reward=np.float64(0.7671148163486476) terminated=False\n", - "step=212 reward=np.float64(0.7671148163486476) terminated=False\n", - "step=213 reward=np.float64(0.7671148163486476) terminated=False\n", - "step=214 reward=np.float64(0.7671148163486476) terminated=False\n", - "step=215 reward=np.float64(0.7671148163486476) terminated=False\n", - "step=216 reward=np.float64(0.7671148163486476) terminated=False\n", - "step=217 reward=np.float64(0.8045352949993082) terminated=False\n", - "step=218 reward=np.float64(0.8328184612705187) terminated=False\n", - "step=219 reward=np.float64(0.8558996801195216) terminated=False\n", - "step=220 reward=np.float64(0.8576887923798919) terminated=False\n", - "step=221 reward=np.float64(0.8576887923798919) terminated=False\n", - "step=222 reward=np.float64(0.8576887923798919) terminated=False\n", - "step=223 reward=np.float64(0.8576887923798919) terminated=False\n", - "step=224 reward=np.float64(0.8576887923798919) terminated=False\n", - "step=225 reward=np.float64(0.8576887923798919) terminated=False\n", - "step=226 reward=np.float64(0.8576887923798919) terminated=False\n", - "step=227 reward=np.float64(0.8576887923798919) terminated=False\n", - "step=228 reward=np.float64(0.8576887923798919) terminated=False\n", - "step=229 reward=np.float64(0.8576887923798919) terminated=False\n", - "step=230 reward=np.float64(0.8576887923798919) terminated=False\n", - "step=231 reward=np.float64(0.8576887923798919) terminated=False\n", - "step=232 reward=np.float64(0.8576887923798919) terminated=False\n", - "step=233 reward=np.float64(0.8576887923798919) terminated=False\n", - "step=234 reward=np.float64(0.935454295639811) terminated=False\n", - "step=235 reward=np.float64(0.9874094853870982) terminated=False\n", - "step=236 reward=np.float64(0.9719847917595543) terminated=False\n", - "step=237 reward=np.float64(0.9719847917595543) terminated=False\n", - "step=238 reward=np.float64(0.9719847917595543) terminated=False\n", - "step=239 reward=np.float64(0.9719847917595543) terminated=False\n", - "step=240 reward=np.float64(0.9719847917595543) terminated=False\n", - "step=241 reward=np.float64(0.9719847917595543) terminated=False\n", - "step=242 reward=np.float64(0.9719847917595543) terminated=False\n", - "step=243 reward=np.float64(0.9719847917595543) terminated=False\n", - "step=244 reward=np.float64(0.9719847917595543) terminated=False\n", - "step=245 reward=np.float64(0.9719847917595543) terminated=False\n", - "step=246 reward=np.float64(0.9719847917595543) terminated=False\n", - "step=247 reward=np.float64(0.9719847917595543) terminated=False\n", - "step=248 reward=np.float64(0.9719847917595543) terminated=False\n", - "step=249 reward=np.float64(0.9719847917595543) terminated=False\n", - "step=250 reward=np.float64(0.9719847917595543) terminated=False\n", - "step=251 reward=np.float64(0.9719847917595543) terminated=False\n", - "step=252 reward=np.float64(0.9719847917595543) terminated=False\n", - "step=253 reward=np.float64(0.9719847917595543) terminated=False\n", - "step=254 reward=np.float64(0.9727790631955697) terminated=False\n", - "step=255 reward=np.float64(0.946125141646605) terminated=False\n", - "step=256 reward=np.float64(0.9368755165399575) terminated=False\n", - "step=257 reward=np.float64(0.9360986686274937) terminated=False\n", - "step=258 reward=np.float64(0.9360986686274937) terminated=False\n", - "step=259 reward=np.float64(0.9360986686274937) terminated=False\n", - "step=260 reward=np.float64(0.9360986686274937) terminated=False\n", - "step=261 reward=np.float64(0.9360986686274937) terminated=False\n", - "step=262 reward=np.float64(0.9360986686274937) terminated=False\n", - "step=263 reward=np.float64(0.9360986686274937) terminated=False\n", - "step=264 reward=np.float64(0.9360986686274937) terminated=False\n", - "step=265 reward=np.float64(0.9360986686274937) terminated=False\n", - "step=266 reward=np.float64(0.9360986686274937) terminated=False\n", - "step=267 reward=np.float64(0.9360986686274937) terminated=False\n", - "step=268 reward=np.float64(0.9360986686274937) terminated=False\n", - "step=269 reward=np.float64(0.9360986686274937) terminated=False\n", - "step=270 reward=np.float64(0.9360986686274937) terminated=False\n", - "step=271 reward=np.float64(0.9360986686274937) terminated=False\n", - "step=272 reward=np.float64(0.9360986686274937) terminated=False\n", - "step=273 reward=np.float64(0.9360986686274937) terminated=False\n", - "step=274 reward=np.float64(0.9360986686274937) terminated=False\n", - "step=275 reward=np.float64(0.9360986686274937) terminated=False\n", - "step=276 reward=np.float64(0.9360986686274937) terminated=False\n", - "step=277 reward=np.float64(0.9360986686274937) terminated=False\n", - "step=278 reward=np.float64(0.9360986686274937) terminated=False\n", - "step=279 reward=np.float64(0.9360986686274937) terminated=False\n", - "step=280 reward=np.float64(0.9360986686274937) terminated=False\n", - "step=281 reward=np.float64(0.9360986686274937) terminated=False\n", - "step=282 reward=np.float64(0.9360986686274937) terminated=False\n", - "step=283 reward=np.float64(0.9360986686274937) terminated=False\n", - "step=284 reward=np.float64(0.9360986686274937) terminated=False\n", - "step=285 reward=np.float64(0.9360986686274937) terminated=False\n", - "step=286 reward=np.float64(0.9360986686274937) terminated=False\n", - "step=287 reward=np.float64(0.9360986686274937) terminated=False\n", - "step=288 reward=np.float64(0.9316550466986755) terminated=False\n", - "step=289 reward=np.float64(0.9218676877631473) terminated=False\n", - "step=290 reward=np.float64(0.9213441513220694) terminated=False\n", - "step=291 reward=np.float64(0.9213441513220694) terminated=False\n", - "step=292 reward=np.float64(0.9213441513220694) terminated=False\n", - "step=293 reward=np.float64(0.9213441513220694) terminated=False\n", - "step=294 reward=np.float64(0.9213441513220694) terminated=False\n", - "step=295 reward=np.float64(0.9213441513220694) terminated=False\n", - "step=296 reward=np.float64(0.9213441513220694) terminated=False\n", - "step=297 reward=np.float64(0.9213441513220694) terminated=False\n", - "step=298 reward=np.float64(0.9213441513220694) terminated=False\n", - "step=299 reward=np.float64(0.9213441513220694) terminated=False\n" - ] - } - ], - "source": [ - "step = 0\n", - "done = False\n", - "\n", - "while not done:\n", - " # Prepare observation for the policy\n", - " state = torch.from_numpy(numpy_observation[\"agent_pos\"]) # Agent position\n", - " env_state = torch.from_numpy(numpy_observation[\"environment_state\"]) # Environment state\n", - "\n", - " # Convert to float32\n", - " state = state.to(torch.float32)\n", - " env_state = env_state.to(torch.float32)\n", - "\n", - " # Send data tensors from CPU to GPU\n", - " state = state.to(device, non_blocking=True)\n", - " env_state = env_state.to(device, non_blocking=True)\n", - "\n", - " # Add extra (empty) batch dimension, required to forward the policy\n", - " state = state.unsqueeze(0)\n", - " env_state = env_state.unsqueeze(0)\n", - "\n", - " # Create the policy input dictionary\n", - " observation = {\n", - " \"observation.state\": state,\n", - " \"observation.environment_state\": env_state, # Add environment_state here\n", - " }\n", - "\n", - " # Predict the next action with respect to the current observation\n", - " with torch.inference_mode():\n", - " action = policy.select_action(observation)\n", - "\n", - " # Prepare the action for the environment\n", - " numpy_action = action.squeeze(0).to(\"cpu\").numpy()\n", - "\n", - " # Step through the environment and receive a new observation\n", - " numpy_observation, reward, terminated, truncated, info = env.step(numpy_action)\n", - " print(f\"{step=} {reward=} {terminated=}\")\n", - "\n", - " # Keep track of all the rewards and frames\n", - " rewards.append(reward)\n", - " frames.append(env.render())\n", - "\n", - " # The rollout is considered done when the success state is reached (i.e. terminated is True),\n", - " # or the maximum number of iterations is reached (i.e. truncated is True)\n", - " done = terminated or truncated or done\n", - " step += 1\n" - ] - }, - { - "cell_type": "code", - "execution_count": 27, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Failure!\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "IMAGEIO FFMPEG_WRITER WARNING: input image is not divisible by macro_block_size=16, resizing from (680, 680) to (688, 688) to ensure video compatibility with most codecs and players. To prevent resizing, make your input image divisible by the macro_block_size or set the macro_block_size to 1 (risking incompatibility).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Video of the evaluation is available in '/home/lerobot/output/rollout.mp4'.\n" - ] - } - ], - "source": [ - "if terminated:\n", - " print(\"Success!\")\n", - "else:\n", - " print(\"Failure!\")\n", - "\n", - "# Get the speed of environment (i.e. its number of frames per second).\n", - "fps = env.metadata[\"render_fps\"]\n", - "\n", - "# Encode all frames into a mp4 video.\n", - "video_path = \"/home/lerobot/output/rollout.mp4\"\n", - "imageio.mimsave(str(video_path), numpy.stack(frames), fps=fps)\n", - "\n", - "print(f\"Video of the evaluation is available in '{video_path}'.\")" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": {}, - "outputs": [], - "source": [ - "#now on aloha\n", - "import imageio\n", - "import gymnasium as gym\n", - "import numpy as np\n", - "import gym_aloha\n", - "env = gym.make(\n", - " \"gym_aloha/AlohaInsertion-v0\",\n", - " obs_type=\"pixels\",\n", - " max_episode_steps=300,\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/opt/conda/envs/lerobot/lib/python3.10/site-packages/tqdm/auto.py:21: TqdmWarning: IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html\n", - " from .autonotebook import tqdm as notebook_tqdm\n", - "Downloading: \"https://download.pytorch.org/models/resnet18-f37072fd.pth\" to /root/.cache/torch/hub/checkpoints/resnet18-f37072fd.pth\n", - "100%|██████████| 44.7M/44.7M [00:00<00:00, 172MB/s]\n" - ] - } - ], - "source": [ - "from lerobot.common.policies.dot.modeling_dot import DOTPolicy\n", - "pretrained_policy_path = \"IliaLarchenko/dot_bimanual_insert\"\n", - "policy = DOTPolicy.from_pretrained(pretrained_policy_path, map_location=device)\n" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "{'observation.images.top': PolicyFeature(type=, shape=(3, 480, 640)), 'observation.state': PolicyFeature(type=, shape=(14,))}\n", - "Dict('top': Box(0, 255, (480, 640, 3), uint8))\n" - ] - } - ], - "source": [ - "# We can verify that the shapes of the features expected by the policy match the ones from the observations\n", - "# produced by the environment\n", - "print(policy.config.input_features)\n", - "print(env.observation_space)" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "{'action': PolicyFeature(type=, shape=(14,))}\n", - "Box(-1.0, 1.0, (14,), float32)\n" - ] - } - ], - "source": [ - "# Similarly, we can check that the actions produced by the policy will match the actions expected by the\n", - "# environment\n", - "print(policy.config.output_features)\n", - "print(env.action_space)" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "metadata": {}, - "outputs": [ - { - "ename": "FatalError", - "evalue": "gladLoadGL error", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mFatalError\u001b[0m Traceback (most recent call last)", - "Cell \u001b[0;32mIn[16], line 3\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[38;5;66;03m# Reset the policy and environments to prepare for rollout\u001b[39;00m\n\u001b[1;32m 2\u001b[0m policy\u001b[38;5;241m.\u001b[39mreset()\n\u001b[0;32m----> 3\u001b[0m numpy_observation, info \u001b[38;5;241m=\u001b[39m \u001b[43menv\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mreset\u001b[49m\u001b[43m(\u001b[49m\u001b[43mseed\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;241;43m42\u001b[39;49m\u001b[43m)\u001b[49m\n", - "File \u001b[0;32m/opt/conda/envs/lerobot/lib/python3.10/site-packages/gymnasium/wrappers/time_limit.py:75\u001b[0m, in \u001b[0;36mTimeLimit.reset\u001b[0;34m(self, **kwargs)\u001b[0m\n\u001b[1;32m 66\u001b[0m \u001b[38;5;250m\u001b[39m\u001b[38;5;124;03m\"\"\"Resets the environment with :param:`**kwargs` and sets the number of steps elapsed to zero.\u001b[39;00m\n\u001b[1;32m 67\u001b[0m \n\u001b[1;32m 68\u001b[0m \u001b[38;5;124;03mArgs:\u001b[39;00m\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 72\u001b[0m \u001b[38;5;124;03m The reset environment\u001b[39;00m\n\u001b[1;32m 73\u001b[0m \u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 74\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_elapsed_steps \u001b[38;5;241m=\u001b[39m \u001b[38;5;241m0\u001b[39m\n\u001b[0;32m---> 75\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43menv\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mreset\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n", - "File \u001b[0;32m/opt/conda/envs/lerobot/lib/python3.10/site-packages/gymnasium/wrappers/order_enforcing.py:61\u001b[0m, in \u001b[0;36mOrderEnforcing.reset\u001b[0;34m(self, **kwargs)\u001b[0m\n\u001b[1;32m 59\u001b[0m \u001b[38;5;250m\u001b[39m\u001b[38;5;124;03m\"\"\"Resets the environment with `kwargs`.\"\"\"\u001b[39;00m\n\u001b[1;32m 60\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_has_reset \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mTrue\u001b[39;00m\n\u001b[0;32m---> 61\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43menv\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mreset\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n", - "File \u001b[0;32m/opt/conda/envs/lerobot/lib/python3.10/site-packages/gymnasium/wrappers/env_checker.py:57\u001b[0m, in \u001b[0;36mPassiveEnvChecker.reset\u001b[0;34m(self, **kwargs)\u001b[0m\n\u001b[1;32m 55\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mchecked_reset:\n\u001b[1;32m 56\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mchecked_reset \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mTrue\u001b[39;00m\n\u001b[0;32m---> 57\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43menv_reset_passive_checker\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43menv\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 58\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 59\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39menv\u001b[38;5;241m.\u001b[39mreset(\u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs)\n", - "File \u001b[0;32m/opt/conda/envs/lerobot/lib/python3.10/site-packages/gymnasium/utils/passive_env_checker.py:186\u001b[0m, in \u001b[0;36menv_reset_passive_checker\u001b[0;34m(env, **kwargs)\u001b[0m\n\u001b[1;32m 181\u001b[0m logger\u001b[38;5;241m.\u001b[39mdeprecation(\n\u001b[1;32m 182\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mCurrent gymnasium version requires that `Env.reset` can be passed `options` to allow the environment initialisation to be passed additional information.\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 183\u001b[0m )\n\u001b[1;32m 185\u001b[0m \u001b[38;5;66;03m# Checks the result of env.reset with kwargs\u001b[39;00m\n\u001b[0;32m--> 186\u001b[0m result \u001b[38;5;241m=\u001b[39m \u001b[43menv\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mreset\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 188\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(result, \u001b[38;5;28mtuple\u001b[39m):\n\u001b[1;32m 189\u001b[0m logger\u001b[38;5;241m.\u001b[39mwarn(\n\u001b[1;32m 190\u001b[0m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mThe result returned by `env.reset()` was not a tuple of the form `(obs, info)`, where `obs` is a observation and `info` is a dictionary containing additional information. Actual type: `\u001b[39m\u001b[38;5;132;01m{\u001b[39;00m\u001b[38;5;28mtype\u001b[39m(result)\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m`\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 191\u001b[0m )\n", - "File \u001b[0;32m/opt/conda/envs/lerobot/lib/python3.10/site-packages/gym_aloha/env.py:166\u001b[0m, in \u001b[0;36mAlohaEnv.reset\u001b[0;34m(self, seed, options)\u001b[0m\n\u001b[1;32m 163\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 164\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mtask)\n\u001b[0;32m--> 166\u001b[0m raw_obs \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_env\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mreset\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 168\u001b[0m observation \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_format_raw_obs(raw_obs\u001b[38;5;241m.\u001b[39mobservation)\n\u001b[1;32m 170\u001b[0m info \u001b[38;5;241m=\u001b[39m {\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mis_success\u001b[39m\u001b[38;5;124m\"\u001b[39m: \u001b[38;5;28;01mFalse\u001b[39;00m}\n", - "File \u001b[0;32m/opt/conda/envs/lerobot/lib/python3.10/site-packages/dm_control/rl/control.py:89\u001b[0m, in \u001b[0;36mEnvironment.reset\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 86\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_physics\u001b[38;5;241m.\u001b[39mreset_context():\n\u001b[1;32m 87\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_task\u001b[38;5;241m.\u001b[39minitialize_episode(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_physics)\n\u001b[0;32m---> 89\u001b[0m observation \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_task\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mget_observation\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_physics\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 90\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_flat_observation:\n\u001b[1;32m 91\u001b[0m observation \u001b[38;5;241m=\u001b[39m flatten_observation(observation)\n", - "File \u001b[0;32m/opt/conda/envs/lerobot/lib/python3.10/site-packages/gym_aloha/tasks/sim.py:92\u001b[0m, in \u001b[0;36mBimanualViperXTask.get_observation\u001b[0;34m(self, physics)\u001b[0m\n\u001b[1;32m 90\u001b[0m obs[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124menv_state\u001b[39m\u001b[38;5;124m\"\u001b[39m] \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mget_env_state(physics)\n\u001b[1;32m 91\u001b[0m obs[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mimages\u001b[39m\u001b[38;5;124m\"\u001b[39m] \u001b[38;5;241m=\u001b[39m {}\n\u001b[0;32m---> 92\u001b[0m obs[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mimages\u001b[39m\u001b[38;5;124m\"\u001b[39m][\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mtop\u001b[39m\u001b[38;5;124m\"\u001b[39m] \u001b[38;5;241m=\u001b[39m \u001b[43mphysics\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mrender\u001b[49m\u001b[43m(\u001b[49m\u001b[43mheight\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;241;43m480\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mwidth\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;241;43m640\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mcamera_id\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mtop\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m)\u001b[49m\n\u001b[1;32m 93\u001b[0m obs[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mimages\u001b[39m\u001b[38;5;124m\"\u001b[39m][\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mangle\u001b[39m\u001b[38;5;124m\"\u001b[39m] \u001b[38;5;241m=\u001b[39m physics\u001b[38;5;241m.\u001b[39mrender(height\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m480\u001b[39m, width\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m640\u001b[39m, camera_id\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mangle\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n\u001b[1;32m 94\u001b[0m obs[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mimages\u001b[39m\u001b[38;5;124m\"\u001b[39m][\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mvis\u001b[39m\u001b[38;5;124m\"\u001b[39m] \u001b[38;5;241m=\u001b[39m physics\u001b[38;5;241m.\u001b[39mrender(height\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m480\u001b[39m, width\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m640\u001b[39m, camera_id\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mfront_close\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n", - "File \u001b[0;32m/opt/conda/envs/lerobot/lib/python3.10/site-packages/dm_control/mujoco/engine.py:223\u001b[0m, in \u001b[0;36mPhysics.render\u001b[0;34m(self, height, width, camera_id, overlays, depth, segmentation, scene_option, render_flag_overrides, scene_callback)\u001b[0m\n\u001b[1;32m 178\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;21mrender\u001b[39m(\n\u001b[1;32m 179\u001b[0m \u001b[38;5;28mself\u001b[39m,\n\u001b[1;32m 180\u001b[0m height\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m240\u001b[39m,\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 189\u001b[0m \u001b[38;5;28;01mNone\u001b[39;00m]] \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m,\n\u001b[1;32m 190\u001b[0m ):\n\u001b[1;32m 191\u001b[0m \u001b[38;5;250m \u001b[39m\u001b[38;5;124;03m\"\"\"Returns a camera view as a NumPy array of pixel values.\u001b[39;00m\n\u001b[1;32m 192\u001b[0m \n\u001b[1;32m 193\u001b[0m \u001b[38;5;124;03m Args:\u001b[39;00m\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 221\u001b[0m \u001b[38;5;124;03m The rendered RGB, depth or segmentation image.\u001b[39;00m\n\u001b[1;32m 222\u001b[0m \u001b[38;5;124;03m \"\"\"\u001b[39;00m\n\u001b[0;32m--> 223\u001b[0m camera \u001b[38;5;241m=\u001b[39m \u001b[43mCamera\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 224\u001b[0m \u001b[43m \u001b[49m\u001b[43mphysics\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[1;32m 225\u001b[0m \u001b[43m \u001b[49m\u001b[43mheight\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mheight\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 226\u001b[0m \u001b[43m \u001b[49m\u001b[43mwidth\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mwidth\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 227\u001b[0m \u001b[43m \u001b[49m\u001b[43mcamera_id\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mcamera_id\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 228\u001b[0m \u001b[43m \u001b[49m\u001b[43mscene_callback\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mscene_callback\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 229\u001b[0m image \u001b[38;5;241m=\u001b[39m camera\u001b[38;5;241m.\u001b[39mrender(\n\u001b[1;32m 230\u001b[0m overlays\u001b[38;5;241m=\u001b[39moverlays, depth\u001b[38;5;241m=\u001b[39mdepth, segmentation\u001b[38;5;241m=\u001b[39msegmentation,\n\u001b[1;32m 231\u001b[0m scene_option\u001b[38;5;241m=\u001b[39mscene_option, render_flag_overrides\u001b[38;5;241m=\u001b[39mrender_flag_overrides)\n\u001b[1;32m 232\u001b[0m camera\u001b[38;5;241m.\u001b[39m_scene\u001b[38;5;241m.\u001b[39mfree() \u001b[38;5;66;03m# pylint: disable=protected-access\u001b[39;00m\n", - "File \u001b[0;32m/opt/conda/envs/lerobot/lib/python3.10/site-packages/dm_control/mujoco/engine.py:711\u001b[0m, in \u001b[0;36mCamera.__init__\u001b[0;34m(self, physics, height, width, camera_id, max_geom, scene_callback)\u001b[0m\n\u001b[1;32m 708\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_rgb_buffer \u001b[38;5;241m=\u001b[39m np\u001b[38;5;241m.\u001b[39mempty((\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_height, \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_width, \u001b[38;5;241m3\u001b[39m), dtype\u001b[38;5;241m=\u001b[39mnp\u001b[38;5;241m.\u001b[39muint8)\n\u001b[1;32m 709\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_depth_buffer \u001b[38;5;241m=\u001b[39m np\u001b[38;5;241m.\u001b[39mempty((\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_height, \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_width), dtype\u001b[38;5;241m=\u001b[39mnp\u001b[38;5;241m.\u001b[39mfloat32)\n\u001b[0;32m--> 711\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_physics\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcontexts\u001b[49m\u001b[38;5;241m.\u001b[39mmujoco \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[1;32m 712\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_physics\u001b[38;5;241m.\u001b[39mcontexts\u001b[38;5;241m.\u001b[39mgl\u001b[38;5;241m.\u001b[39mmake_current() \u001b[38;5;28;01mas\u001b[39;00m ctx:\n\u001b[1;32m 713\u001b[0m ctx\u001b[38;5;241m.\u001b[39mcall(mujoco\u001b[38;5;241m.\u001b[39mmjr_setBuffer, mujoco\u001b[38;5;241m.\u001b[39mmjtFramebuffer\u001b[38;5;241m.\u001b[39mmjFB_OFFSCREEN,\n\u001b[1;32m 714\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_physics\u001b[38;5;241m.\u001b[39mcontexts\u001b[38;5;241m.\u001b[39mmujoco\u001b[38;5;241m.\u001b[39mptr)\n", - "File \u001b[0;32m/opt/conda/envs/lerobot/lib/python3.10/site-packages/dm_control/mujoco/engine.py:533\u001b[0m, in \u001b[0;36mPhysics.contexts\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 531\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_contexts_lock:\n\u001b[1;32m 532\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_contexts:\n\u001b[0;32m--> 533\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_make_rendering_contexts\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 534\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_contexts\n", - "File \u001b[0;32m/opt/conda/envs/lerobot/lib/python3.10/site-packages/dm_control/mujoco/engine.py:519\u001b[0m, in \u001b[0;36mPhysics._make_rendering_contexts\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 516\u001b[0m render_context \u001b[38;5;241m=\u001b[39m _render\u001b[38;5;241m.\u001b[39mRenderer(\n\u001b[1;32m 517\u001b[0m max_width\u001b[38;5;241m=\u001b[39mmax_width, max_height\u001b[38;5;241m=\u001b[39mmax_height)\n\u001b[1;32m 518\u001b[0m \u001b[38;5;66;03m# Create the MuJoCo context.\u001b[39;00m\n\u001b[0;32m--> 519\u001b[0m mujoco_context \u001b[38;5;241m=\u001b[39m \u001b[43mwrapper\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mMjrContext\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mmodel\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mrender_context\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 520\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_contexts \u001b[38;5;241m=\u001b[39m Contexts(gl\u001b[38;5;241m=\u001b[39mrender_context, mujoco\u001b[38;5;241m=\u001b[39mmujoco_context)\n", - "File \u001b[0;32m/opt/conda/envs/lerobot/lib/python3.10/site-packages/dm_control/mujoco/wrapper/core.py:603\u001b[0m, in \u001b[0;36mMjrContext.__init__\u001b[0;34m(self, model, gl_context, font_scale)\u001b[0m\n\u001b[1;32m 601\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_gl_context \u001b[38;5;241m=\u001b[39m gl_context\n\u001b[1;32m 602\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m gl_context\u001b[38;5;241m.\u001b[39mmake_current() \u001b[38;5;28;01mas\u001b[39;00m ctx:\n\u001b[0;32m--> 603\u001b[0m ptr \u001b[38;5;241m=\u001b[39m \u001b[43mctx\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcall\u001b[49m\u001b[43m(\u001b[49m\u001b[43mmujoco\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mMjrContext\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mmodel\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mptr\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mfont_scale\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 604\u001b[0m ctx\u001b[38;5;241m.\u001b[39mcall(mujoco\u001b[38;5;241m.\u001b[39mmjr_setBuffer, mujoco\u001b[38;5;241m.\u001b[39mmjtFramebuffer\u001b[38;5;241m.\u001b[39mmjFB_OFFSCREEN, ptr)\n\u001b[1;32m 605\u001b[0m gl_context\u001b[38;5;241m.\u001b[39mkeep_alive(ptr)\n", - "File \u001b[0;32m/opt/conda/envs/lerobot/lib/python3.10/site-packages/dm_control/_render/executor/render_executor.py:138\u001b[0m, in \u001b[0;36mPassthroughRenderExecutor.call\u001b[0;34m(self, func, *args, **kwargs)\u001b[0m\n\u001b[1;32m 136\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;21mcall\u001b[39m(\u001b[38;5;28mself\u001b[39m, func, \u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs):\n\u001b[1;32m 137\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_check_locked()\n\u001b[0;32m--> 138\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mfunc\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n", - "\u001b[0;31mFatalError\u001b[0m: gladLoadGL error" - ] - } - ], - "source": [ - "# Reset the policy and environments to prepare for rollout\n", - "policy.reset()\n", - "numpy_observation, info = env.reset(seed=42)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "lerobot", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.10.16" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -}