Skip to content

Conversation

albertbou92
Copy link
Contributor

Description

Some minor fixes in the PPO and A2C examples, related to the end-of-lives tranform.

Motivation and Context

Why is this change required? What problem does it solve?
If it fixes an open issue, please link to the issue here.
You can use the syntax close #15213 if this solves the issue #15213

  • I have raised an issue to propose this change (required for new features and bug fixes)

Types of changes

What types of changes does your code introduce? Remove all that do not apply:

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds core functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Documentation (update in the documentation)
  • Example (update in the folder of examples)

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!

  • I have read the CONTRIBUTION guide (required)
  • My change requires a change to the documentation.
  • I have updated the tests accordingly (required for a bug fix or a new feature).
  • I have updated the documentation accordingly.

@facebook-github-bot facebook-github-bot added the CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. label Oct 2, 2023
Copy link
Collaborator

@vmoens vmoens left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The tests are broken with

AttributeError: 'AtariEnv' object has no attribute 'append_transform'

this is because in PPO we don't put the env in a TransformedEnv.

Didn't we want to do this for DQN too?

Also, I was thinking: do we want to make this transform an "official" one? Would require tests and everything though.. Maybe we can leave it for later? Up to you!

Another point: Are we sure that this trick plays well with terminated?
Now we will have some "done" that are not synced with "terminated".
After #1581 this wil lbe an issue, that will require us to do:

loss.set_keys(done="end_of_life", terminated="end_of_life")

(i think)

if not is_test:
reader = default_info_dict_reader(["end_of_life"])
env.set_info_dict_reader(reader)
env = TransformedEnv(env, EndOfLifeTransform())
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we can just append the transform here (after you put your env in the TransformedEnv)

if not is_test:
reader = default_info_dict_reader(["end_of_life"])
env.set_info_dict_reader(reader)
env = TransformedEnv(env, EndOfLifeTransform())
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we can just append the transform here

@vmoens vmoens changed the title [FIX] Minor fixes PPO / A2C examples [BugFix] Minor fixes PPO / A2C examples Oct 2, 2023
@vmoens vmoens added the bug Something isn't working label Oct 2, 2023
Copy link
Collaborator

@vmoens vmoens left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@vmoens vmoens merged commit 821d8bc into pytorch:main Oct 2, 2023
@vmoens vmoens deleted the minor_fixes_examples branch October 2, 2023 17:12
vmoens pushed a commit to hyerra/rl that referenced this pull request Oct 10, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants