-
Notifications
You must be signed in to change notification settings - Fork 365
[Feature] Add option for auto-resetting envs in GAE #2851
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
🔗 Helpful Links🧪 See artifacts and rendered test results at hud.pytorch.org/pr/pytorch/rl/2851
Note: Links to docs will display an error until the docs builds have been completed. ❌ 11 New Failures, 1 Cancelled Job, 1 Unrelated FailureAs of commit cae5b6f with merge base 9cd95d5 ( NEW FAILURES - The following jobs have failed:
CANCELLED JOB - The following job was cancelled. Please retry:
BROKEN TRUNK - The following job failed but were present on the merge base:👉 Rebase onto the `viable/strict` branch to avoid these failures
This comment was automatically generated by Dr. CI and updates every 15 minutes. |
@vmoens Perhaps I missed it, but I didn't see any tests that were testing the GAE class. If there is, I'm happy to add a relevant test as well. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM! Sorry for the delay in reviewing this!
To answer your question: Not sure what unit test we want for this feature, so I'm willing to consider merging it as is.
We do test the GAE in test_costs.py I believe... I you have an idea of what to test we can add it
Description
Previously, when calculating the GAE, torchrl assumes that there is a valid
s_(t+1)
return from the environment. However, for auto-resetting environments, that is not true at the end of the episode, as it just jumps to the first state of the next episode. This PR adds a feature to the GAE class, allowing users to specify if it's an auto-resetting env, in which case it will use thes_t
as an approximation for bootstrapping.Motivation and Context
Without this change, we were getting much slower convergence rates during training for IsaacLab (an autoresetting env).
Types of changes
What types of changes does your code introduce? Remove all that do not apply:
Checklist
Go over all the following points, and put an
x
in all the boxes that apply.If you are unsure about any of these, don't hesitate to ask. We are here to help!