feat(RL): PPO pipeline with GRU body-state embeddings for Reacher-v5 with 256 size#6
Open
PushpitaJoardar wants to merge 3 commits intogeometric-intelligence:mainfrom
Open
feat(RL): PPO pipeline with GRU body-state embeddings for Reacher-v5 with 256 size#6PushpitaJoardar wants to merge 3 commits intogeometric-intelligence:mainfrom
PushpitaJoardar wants to merge 3 commits intogeometric-intelligence:mainfrom
Conversation
- environment.py: ReacherWithEmbedding wrapper (raw + embedded modes) - agent.py: RLAgent with PPO, VecNormalize, all config fields - train.py: training script with eval and TensorBoard logging - configs: baseline, baseline_tuned, baseline_tuned2, embedded YAMLs - estimation configs: rnn_so2.yaml, gru_so2.yaml (val/acc=0.993) - embedded obs: h_t + joint angles + target pos + fingertip vec
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Implemented the RL pipeline(RNN estimation) for Reacher-v5, supporting both
raw observation baseline and GRU-embedded observation conditions as
described in the Body-State Manifold Learning proposal.
Changes
New Files
articulated/rl/environment.py— ReacherWithEmbedding wrapper (raw + embedded modes)articulated/rl/agent.py— RLAgent with PPO, VecNormalize, all config fieldsarticulated/rl/train.py— Training script with eval and TensorBoard loggingarticulated/rl/fit_pca.py— PCA fitting script for GRU embedding compressionarticulated/configs/rl/baseline.yaml— Raw obs baseline (500K steps)articulated/configs/rl/baseline_tuned.yaml— Tuned baseline (1M steps)articulated/configs/rl/baseline_tuned2.yaml— Tuned baseline, lower LRarticulated/configs/rl/embedded.yaml— GRU-embedded obs configarticulated/configs/estimation/gru_so2.yaml— GRU estimation config (SO2)Modified Files
articulated/shared/robot_arm.py— AddedRobotArm2DKinematicsfor SO(2)articulated/estimation/datamodule.py— SO(2) manifold supportarticulated/estimation/model.py— GRU support +get_embedding()interfacearticulated/estimation/train.py— Training script updatesResults
Notes
kappa=20,seq_length=50achievesval/acc=0.993[h_t | cos/sin joints | target_pos | fingertip_vec]