Describe the purpose of the pull request, including:
This PR introduces hydra as the default configuration manager. In particular it fixes #74 and automatically #75, since now the cnn_keys and mlp_keys can be specified separetely for both the encoder and decoder.
The changes are mainly the following:
all args.py and the HFArgumentParser have been removed. Configs are now specified under the sheeprl/configs folder and hydra is the default configuration manager
Every environment wrapper is directly instantiated through the hydra.utils.instantiate inside the make_env or make_dict_env method: in this way one can easily modify the wrapper passing whatever parameters to customize the env. Every wrapper must take as input the id parameter, which must be specified in the relative config
Every optimizer is directly instantiated through the hydra.utils.instantiate and can be modified through the CLI on the experiment run
The howto/configs.md has been added in which explain how the configs are organized inside the repo
Type of Change
Please select the one relevant option below:
New feature (non-breaking change that adds functionality)
Breaking change (fix or feature that would cause existing functionality to not work as expected)
Documentation update
Checklist
Please confirm that the following tasks have been completed:
[x] I have tested my changes locally and they work as expected. (Please describe the tests you performed.)
[x] I have added unit tests for my changes, or updated existing tests if necessary.
[x] I have updated the documentation, if applicable.
[x] I have installed pre-commit and run locally for my code changes.
Thank you for your contribution! Once you have filled out this template, please ensure that you have assigned the appropriate reviewers and that all tests have passed.
Summary
Describe the purpose of the pull request, including:
This PR introduces hydra as the default configuration manager. In particular it fixes #74 and automatically #75, since now the
cnn_keys
andmlp_keys
can be specified separetely for both the encoder and decoder.The changes are mainly the following:
args.py
and theHFArgumentParser
have been removed. Configs are now specified under thesheeprl/configs
folder and hydra is the default configuration managerhydra.utils.instantiate
inside themake_env
ormake_dict_env
method: in this way one can easily modify the wrapper passing whatever parameters to customize the env. Every wrapper must take as input theid
parameter, which must be specified in the relative confighydra.utils.instantiate
and can be modified through the CLI on the experiment runhowto/configs.md
has been added in which explain how the configs are organized inside the repoType of Change
Please select the one relevant option below:
Checklist
Please confirm that the following tasks have been completed:
Thank you for your contribution! Once you have filled out this template, please ensure that you have assigned the appropriate reviewers and that all tests have passed.