Skip to content
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

[Feature] Ensure transformation keys have the same number of elements #2466

Merged
merged 2 commits into from
Oct 8, 2024

Conversation

antoinebrl
Copy link
Contributor

@antoinebrl antoinebrl commented Oct 4, 2024

Description

From the documentation and tests it is implicit that the number of in and out keys should match in the transformations. I'm proposing to enforce that through a runtime check by adding the strict=True when using zip. If the sequences don't have the same number of elements a ValueError is raised.

Let me know if you think enforcing this assumption requires some tests. Happy to take your suggestions if you have an idea on how to easily test all the calls to zip.

Motivation and Context

This will ensure the keys are provided by pairs. Currently last elements of the longest list are ignored.

Types of changes

Not sure if preventing silent errors should be considered a bug fix or a new feature to guide the users.

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds core functionality)

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.

Copy link

pytorch-bot bot commented Oct 4, 2024

🔗 Helpful Links

🧪 See artifacts and rendered test results at hud.pytorch.org/pr/pytorch/rl/2466

Note: Links to docs will display an error until the docs builds have been completed.

❌ 23 New Failures, 1 Cancelled Job, 6 Unrelated Failures

As of commit 2ea42b7 with merge base b116151 (image):

NEW FAILURES - The following jobs have failed:

CANCELLED JOB - The following job was cancelled. Please retry:

FLAKY - The following jobs failed but were likely due to flakiness present on trunk:

BROKEN TRUNK - The following jobs 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.

@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 4, 2024
@vmoens vmoens changed the title Ensure transformation keys have the same number of elements [Feature] Ensure transformation keys have the same number of elements Oct 5, 2024
Copy link
Contributor

@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.

It's a great feature! Just need to make it work with earlier versions of python

torchrl/envs/transforms/transforms.py Outdated Show resolved Hide resolved
@vmoens vmoens added the enhancement New feature or request label Oct 8, 2024
Copy link
Contributor

@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 thanks!

@vmoens vmoens merged commit 38566f6 into pytorch:main Oct 8, 2024
22 of 42 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants