Simon Alibert
90e099b39f
Remove offline training, refactor `train.py` and logging/checkpointing ( #670 )
...
Co-authored-by: Remi <remi.cadene@huggingface.co>
2025-02-11 10:36:06 +01:00
Simon Alibert
334deb985d
Update CI trigger rules ( #712 )
2025-02-10 17:22:15 +01:00
Michel Aractingi
b5f89439ff
Added sac_real config file in the policym configs dir.
...
Co-authored-by: Adil Zouitine <adilzouitinegm@gmail.com>
2025-02-10 16:08:13 +01:00
Michel Aractingi
d51374ce12
Several fixes to move the actor_server and learner_server code from the maniskill environment to the real robot environment.
...
Co-authored-by: Adil Zouitine <adilzouitinegm@gmail.com>
2025-02-10 16:03:39 +01:00
Simon Alibert
8548a87bd4
Remove dataset tests artifacts ( #701 )
2025-02-09 14:24:01 +01:00
Eugene Mironov
b63738674c
[HIL-SERL port] Add Reward classifier benchmark tracking to chose best visual encoder ( #688 )
2025-02-06 18:39:51 +01:00
Michel Aractingi
12525242ce
- Added `lerobot/scripts/server/gym_manipulator.py` that contains all the necessary wrappers to run a gym-style env around the real robot.
...
- Added `lerobot/scripts/server/find_joint_limits.py` to test the min and max angles of the motion you wish the robot to explore during RL training.
- Added logic in `manipulator.py` to limit the maximum possible joint angles to allow motion within a predefined joint position range. The limits are specified in the yaml config for each robot. Checkout the so100.yaml.
Co-authored-by: Adil Zouitine <adilzouitinegm@gmail.com>
2025-02-06 16:29:37 +01:00
Michel Aractingi
7d5a9530f7
fixed bug in crop_dataset_roi.py
...
added missing buffer.pt in server dir
Co-authored-by: Adil Zouitine <adilzouitinegm@gmail.com>
2025-02-05 18:22:50 +00:00
Michel Aractingi
e0527b4a6b
Added additional wrappers for the environment: Action repeat, keyboard interface, reset wrapper
...
Tested the reset mechanism and keyboard interface and the convert wrapper on the robots.
Co-authored-by: Adil Zouitine <adilzouitinegm@gmail.com>
2025-02-04 17:41:14 +00:00
Remi
638d411cd3
Add Pi0 ( #681 )
...
Co-authored-by: Simon Alibert <simon.alibert@huggingface.co>
Co-authored-by: Simon Alibert <75076266+aliberts@users.noreply.github.com>
Co-authored-by: Pablo <pablo.montalvo.leroux@gmail.com>
2025-02-04 18:01:04 +01:00
Michel Aractingi
efb1982eec
Added crop_dataset_roi.py that allows you to load a lerobotdataset -> crop its images -> create a new lerobot dataset with the cropped and resized images.
...
Co-authored-by: Adil Zouitine <adilzouitinegm@gmail.com>
2025-02-03 17:48:35 +00:00
Pepijn
dd974529cf
User/pepijn/2025 01 31 improved tutorial so100 ( #666 )
2025-02-03 18:27:55 +01:00
Michel Aractingi
2211209be5
- Added base gym env class for the real robot environment.
...
- Added several wrappers around the base gym env robot class.
- Including: time limit, reward classifier, crop images, preprocess observations.
- Added an interactive script crop_roi.py where the user can interactively select the roi in the observation images and return the correct crop values that will improve the policy and reward classifier performance.
Co-authored-by: Adil Zouitine <adilzouitinegm@gmail.com>
2025-02-03 15:07:59 +00:00
Michel Aractingi
506821c7df
- Refactor observation encoder in `modeling_sac.py`
...
- added `torch.compile` to the actor and learner servers.
- organized imports in `train_sac.py`
- optimized the parameters push by not sending the frozen pre-trained encoder.
Co-authored-by: Adil Zouitine <adilzouitinegm@gmail.com>
2025-02-03 15:07:58 +00:00
Yoel
f1c8bfe01e
[Port HIL-SERL] Add HF vision encoder option in SAC ( #651 )
...
Added support with custom pretrained vision encoder to the modeling sac implementation. Great job @ChorntonYoel !
2025-02-03 15:07:58 +00:00
Michel Aractingi
7c89bd1018
Cleaned `learner_server.py`. Added several block function to improve readability.
...
Co-authored-by: Adil Zouitine <adilzouitinegm@gmail.com>
2025-02-03 15:07:58 +00:00
Michel Aractingi
367dfe51c6
Added support for checkpointing the policy. We can save and load the policy state dict, optimizers state, optimization step and interaction step
...
Added functions for converting the replay buffer from and to LeRobotDataset. When we want to save the replay buffer, we convert it first to LeRobotDataset format and save it locally and vice-versa.
Co-authored-by: Adil Zouitine <adilzouitinegm@gmail.com>
2025-02-03 15:07:58 +00:00
Michel Aractingi
e856ffc91e
Removed unnecessary time.sleep in the streaming server on the learner side
...
Co-authored-by: Adil Zouitine <adilzouitinegm@gmail.com>
2025-02-03 15:07:58 +00:00
Michel Aractingi
9aabe212ea
Added missing config files `env/maniskill_example.yaml` and `policy/sac_maniskill.yaml` that are necessary to run the lerobot implementation of sac with the maniskill baselines.
...
Co-authored-by: Adil Zouitine <adilzouitinegm@gmail.com>
2025-02-03 15:07:58 +00:00
Michel Aractingi
42618f4bd6
- Added additional logging information in wandb around the timings of the policy loop and optimization loop.
...
- Optimized critic design that improves the performance of the learner loop by a factor of 2
- Cleaned the code and fixed style issues
- Completed the config with actor_learner_config field that contains host-ip and port elemnts that are necessary for the actor-learner servers.
Co-authored-by: Adil Zouitine <adilzouitinegm@gmail.com>
2025-02-03 15:07:58 +00:00
Michel Aractingi
36576c958f
FREEDOM, added back the optimization loop code in `learner_server.py`
...
Ran experiment with pushcube env from maniskill. The learning seem to work.
Co-authored-by: Adil Zouitine <adilzouitinegm@gmail.com>
2025-02-03 15:07:58 +00:00
Michel Aractingi
322a78a378
Added server directory in `lerobot/scripts` that contains scripts and the protobuf message types to split training into two processes, acting and learning. The actor rollouts the policy and collects interaction data while the learner recieves the data, trains the policy and sends the updated parameters to the actor. The two scripts are ran simultaneously
...
Co-authored-by: Adil Zouitine <adilzouitinegm@gmail.com>
2025-02-03 15:07:58 +00:00
AdilZouitine
d75b44f89f
Stable version of rlpd + drq
2025-02-03 15:07:57 +00:00
AdilZouitine
1fb03d4cf2
Add type annotations and restructure SACConfig class fields
2025-02-03 15:07:57 +00:00
Adil Zouitine
7d2970fdfe
Change SAC policy implementation with configuration and modeling classes
2025-02-03 15:07:50 +00:00
Adil Zouitine
8105efb338
Add rlpd tricks
2025-02-03 15:06:18 +00:00
Adil Zouitine
c1d4bf4b63
SAC works
2025-02-03 15:06:18 +00:00
Adil Zouitine
86df8a433d
remove breakpoint
2025-02-03 15:06:18 +00:00
Adil Zouitine
956c547254
[WIP] correct sac implementation
2025-02-03 15:06:18 +00:00
Adil Zouitine
be965019bd
Add rlpd tricks
2025-02-03 15:06:18 +00:00
Adil Zouitine
a0a50de8c9
SAC works
2025-02-03 15:06:18 +00:00
Adil Zouitine
c86dace4c2
remove breakpoint
2025-02-03 15:06:18 +00:00
Adil Zouitine
472a7f58ad
[WIP] correct sac implementation
2025-02-03 15:06:14 +00:00
Pradeep Kadubandi
068efce3f8
Fix for the issue https://github.com/huggingface/lerobot/issues/638 ( #639 )
2025-02-03 15:04:03 +00:00
Philip Fung
df7310ea40
fixes to SO-100 readme ( #600 )
...
Co-authored-by: Philip Fung <no@one>
Co-authored-by: Simon Alibert <75076266+aliberts@users.noreply.github.com>
2025-02-03 15:04:03 +00:00
Mishig
100f54ee07
[viz] Fixes & updates to html visualizer ( #617 )
2025-02-03 15:04:03 +00:00
CharlesCNorton
c2f7af3339
typo fix: batch_convert_dataset_v1_to_v2.py ( #615 )
...
Co-authored-by: Simon Alibert <75076266+aliberts@users.noreply.github.com>
2025-02-03 15:04:03 +00:00
Ville Kuosmanen
a1b5d0faf2
fix(visualise): use correct language description for each episode id ( #604 )
...
Co-authored-by: Simon Alibert <75076266+aliberts@users.noreply.github.com>
2025-02-03 15:04:03 +00:00
CharlesCNorton
d6498150bf
fix(docs): typos in benchmark readme.md ( #614 )
...
Co-authored-by: Simon Alibert <75076266+aliberts@users.noreply.github.com>
2025-02-03 15:04:03 +00:00
Simon Alibert
31c34a4a49
Fix Quality workflow ( #622 )
2025-02-03 15:04:03 +00:00
CharlesCNorton
b1cfb6a710
Update README.md ( #612 )
2025-02-03 15:04:02 +00:00
Eugene Mironov
4a43c83522
Fix broken `create_lerobot_dataset_card` ( #590 )
2025-02-03 15:04:02 +00:00
Mishig
0a4e9e25d0
[vizualizer] for LeRobodDataset V2 ( #576 )
2025-02-03 15:04:02 +00:00
Simon Alibert
43e079f73e
Fix nightly tests docker images ( #675 )
2025-02-02 13:59:33 +01:00
Simon Alibert
6674e36824
Fix Docker cpu/gpu builds ( #667 )
2025-02-01 12:06:11 +01:00
Pepijn
ae9605f03c
fix setting motor id with new dataclass config ( #668 )
2025-01-31 20:48:46 +01:00
Simon Alibert
3c0a209f9f
Simplify configs ( #550 )
...
Co-authored-by: Remi <remi.cadene@huggingface.co>
Co-authored-by: HUANG TZU-CHUN <137322177+tc-huang@users.noreply.github.com>
2025-01-31 13:57:37 +01:00
Simon Alibert
1ee1acf8ad
Comply with torchvision 0.21 custom transforms ( #665 )
2025-01-30 22:06:11 +01:00
Thomas Lips
c4d912a241
Check for "/" in feature names ( #660 )
2025-01-29 21:54:49 +01:00
Morgan Redfield
4323bdce22
updating config instructions for koch 1v1 motors ( #658 )
2025-01-28 13:20:33 +01:00