diff --git a/examples/7_get_started_with_real_robot.md b/examples/7_get_started_with_real_robot.md index 7bf88881..7622028f 100644 --- a/examples/7_get_started_with_real_robot.md +++ b/examples/7_get_started_with_real_robot.md @@ -46,13 +46,6 @@ Using `uv`: uv sync --extra "dynamixel" ``` -/!\ For Linux only, ffmpeg and opencv requires conda install for now. Run this exact sequence of commands: -```bash -conda install -c conda-forge ffmpeg -pip uninstall opencv-python -conda install -c conda-forge "opencv>=4.10.0" -``` - You are now ready to plug the 5V power supply to the motor bus of the leader arm (the smaller one) since all its motors only require 5V. Then plug the 12V power supply to the motor bus of the follower arm. It has two motors that need 12V, and the rest will be powered with 5V through the voltage convertor. @@ -834,11 +827,6 @@ It contains: - `dtRphone:33.84 (29.5hz)` which is the delta time of capturing an image from the phone camera in the thread running asynchronously. Troubleshooting: -- On Linux, if you encounter a hanging issue when using cameras, uninstall opencv and re-install it with conda: -```bash -pip uninstall opencv-python -conda install -c conda-forge opencv=4.10.0 -``` - On Linux, if you encounter any issue during video encoding with `ffmpeg: unknown encoder libsvtav1`, you can: - install with conda-forge by running `conda install -c conda-forge ffmpeg` (it should be compiled with `libsvtav1`), - or, install [Homebrew](https://brew.sh) and run `brew install ffmpeg` (it should be compiled with `libsvtav1`), diff --git a/lerobot/common/policies/pi0/modeling_pi0.py b/lerobot/common/policies/pi0/modeling_pi0.py index ede199a6..aeb63398 100644 --- a/lerobot/common/policies/pi0/modeling_pi0.py +++ b/lerobot/common/policies/pi0/modeling_pi0.py @@ -313,7 +313,7 @@ class PI0Policy(PreTrainedPolicy): state = self.prepare_state(batch) lang_tokens, lang_masks = self.prepare_language(batch) actions = self.prepare_action(batch) - actions_is_pad = batch.get("actions_is_pad") + actions_is_pad = batch.get("action_is_pad") loss_dict = {} losses = self.model.forward(images, img_masks, lang_tokens, lang_masks, state, actions, noise, time) diff --git a/lerobot/common/robots/lekiwi/README.md b/lerobot/common/robots/lekiwi/README.md index dc310af2..798b7bd3 100644 --- a/lerobot/common/robots/lekiwi/README.md +++ b/lerobot/common/robots/lekiwi/README.md @@ -113,12 +113,6 @@ git clone https://github.com/huggingface/lerobot.git ~/lerobot cd ~/lerobot && pip install -e ".[feetech]" ``` -*EXTRA: For Linux only (not Mac)*: install extra dependencies for recording datasets: -```bash -conda install -y -c conda-forge ffmpeg -pip uninstall -y opencv-python -conda install -y -c conda-forge "opencv>=4.10.0" -``` Great :hugs:! You are now done installing LeRobot and we can begin assembling the SO100 arms and Mobile base :robot:. Every time you now want to use LeRobot you can go to the `~/lerobot` folder where we installed LeRobot and run one of the commands. diff --git a/lerobot/common/robots/moss/README.md b/lerobot/common/robots/moss/README.md index de7dd156..62febd03 100644 --- a/lerobot/common/robots/moss/README.md +++ b/lerobot/common/robots/moss/README.md @@ -36,13 +36,6 @@ git clone https://github.com/huggingface/lerobot.git ~/lerobot cd ~/lerobot && pip install -e ".[feetech]" ``` -For Linux only (not Mac), install extra dependencies for recording datasets: -```bash -conda install -y -c conda-forge ffmpeg -pip uninstall -y opencv-python -conda install -y -c conda-forge "opencv>=4.10.0" -``` - ## Configure the motors Follow steps 1 of the [assembly video](https://www.youtube.com/watch?v=DA91NJOtMic) which illustrates the use of our scripts below. diff --git a/lerobot/common/robots/so100/README.md b/lerobot/common/robots/so100/README.md index cb3c084c..770ffa2e 100644 --- a/lerobot/common/robots/so100/README.md +++ b/lerobot/common/robots/so100/README.md @@ -62,12 +62,6 @@ git clone https://github.com/huggingface/lerobot.git ~/lerobot cd ~/lerobot && pip install -e ".[feetech]" ``` -*EXTRA: For Linux only (not Mac)*: install extra dependencies for recording datasets: -```bash -conda install -y -c conda-forge ffmpeg -pip uninstall -y opencv-python -conda install -y -c conda-forge "opencv>=4.10.0" -``` Great :hugs:! You are now done installing LeRobot and we can begin assembling the SO100 arms :robot:. Every time you now want to use LeRobot you can go to the `~/lerobot` folder where we installed LeRobot and run one of the commands. diff --git a/lerobot/common/robots/stretch3/README.md b/lerobot/common/robots/stretch3/README.md index 802ea718..02f1ddc1 100644 --- a/lerobot/common/robots/stretch3/README.md +++ b/lerobot/common/robots/stretch3/README.md @@ -50,13 +50,6 @@ cd ~/lerobot && pip install -e ".[stretch]" > **Note:** If you get this message, you can ignore it: `ERROR: pip's dependency resolver does not currently take into account all the packages that are installed.` -For Linux only (not Mac), install extra dependencies for recording datasets: -```bash -conda install -y -c conda-forge ffmpeg -pip uninstall -y opencv-python -conda install -y -c conda-forge "opencv>=4.10.0" -``` - 7. Run a [system check](https://docs.hello-robot.com/0.3/getting_started/stretch_hardware_overview/#system-check) to make sure your robot is ready: ```bash stretch_system_check.py diff --git a/lerobot/common/robots/viperx/README.md b/lerobot/common/robots/viperx/README.md index 62dee588..dad8e1c9 100644 --- a/lerobot/common/robots/viperx/README.md +++ b/lerobot/common/robots/viperx/README.md @@ -35,13 +35,6 @@ git clone https://github.com/huggingface/lerobot.git ~/lerobot cd ~/lerobot && pip install -e ".[dynamixel, intelrealsense]" ``` -For Linux only (not Mac), install extra dependencies for recording datasets: -```bash -conda install -y -c conda-forge ffmpeg -pip uninstall -y opencv-python -conda install -y -c conda-forge "opencv>=4.10.0" -``` - ## Teleoperate **/!\ FOR SAFETY, READ THIS /!\** diff --git a/lerobot/common/utils/wandb_utils.py b/lerobot/common/utils/wandb_utils.py index 700ebea5..3fe241d4 100644 --- a/lerobot/common/utils/wandb_utils.py +++ b/lerobot/common/utils/wandb_utils.py @@ -90,6 +90,7 @@ class WandBLogger: # TODO(rcadene): split train and eval, and run async eval with job_type="eval" job_type="train_eval", resume="must" if cfg.resume else None, + mode=self.cfg.mode if self.cfg.mode in ["online", "offline", "disabled"] else "online", ) print(colored("Logs will be synced with wandb.", "blue", attrs=["bold"])) logging.info(f"Track this run --> {colored(wandb.run.get_url(), 'yellow', attrs=['bold'])}") diff --git a/lerobot/configs/default.py b/lerobot/configs/default.py index b23bbb6d..ce72466a 100644 --- a/lerobot/configs/default.py +++ b/lerobot/configs/default.py @@ -48,6 +48,7 @@ class WandBConfig: entity: str | None = None notes: str | None = None run_id: str | None = None + mode: str | None = None # Allowed values: 'online', 'offline' 'disabled'. Defaults to 'online' @dataclass diff --git a/pyproject.toml b/pyproject.toml index 8d285bd7..41c51cb8 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -62,7 +62,7 @@ dependencies = [ "omegaconf>=2.3.0", "opencv-python>=4.9.0", "packaging>=24.2", - "av>=12.0.5", + "av>=12.0.5,<13.0.0", "pymunk>=6.6.0", "pynput>=1.7.7", "pyzmq>=26.2.1",