pytorch / pytorch/rl

Prepare TorchRL's Hydra entry points for Hydra 1.4

Open
#4,055 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
3.6k
Forks
484
Avg merge
1d 1h
Merged PRs (30d)
207

Description

Hi! Hydra maintainer here. A heads-up about the upcoming Hydra 1.4 release.

Hydra 1.4 is not ready for production yet. It is a very large and long-delayed release, and it will contain several breaking changes accumulated during that extended development period. The current development release should only be used for compatibility testing.

One planned change is that Hydra 1.4 will stop accepting version_base values below "1.3". Omitting version_base will select current behavior, while version_base=None will be deprecated. The rationale and migration plan are tracked in Hydra #3237.

TorchRL currently:

  • Declares hydra-core>=1.1, which will allow Hydra 1.4 to be installed once released.
  • Has approximately 50 entry points using version_base="1.1", including the current PPO trainer.
  • Has another four entry points using version_base=None.

Under Hydra 1.4, the "1.1" entry points will fail during application startup.

Please migrate maintained entry points to version_base="1.3" and raise the Hydra dependency floor to hydra-core>=1.3. The version_base=None occurrences should normally remove the argument to select current behavior.

For compatibility testing, the current development release is hydra-core 1.4.0.dev6:

python -m pip install --upgrade "hydra-core==1.4.0.dev6"

Because 1.4 contains other breaking changes, I recommend running TorchRL's relevant test suite against this development release in addition to updating version_base.

TorchRL's structured configuration system is an extensive Hydra integration, so I wanted to flag this early enough to avoid surprising users when Hydra 1.4 becomes available.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with sota-implementations/ppo_trainer/train.py and search the repository for the approximately 50 version_base="1.1" and four version_base=None entry points. Raise the hydra-core dependency floor to 1.3, update maintained entry points as specified, install hydra-core==1.4.0.dev6, and run TorchRL's relevant test suite to check compatibility.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
testing-qa, tooling
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
68/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.