[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[x] Breaking change (fix or feature that would cause existing functionality to change)
Motivation and Context / Related issue
Motivation: Enable importing mbrl-lib in project requiring newer hydra-core>=1.1.2 version.
Context:mbrl-libhydra-core version was freezed at v1.0.3 which was release in 2020. A lot of useful functionality were introduce since then.
Regression warning/bug that where fixed:
Post hydra-core version 1.1 introduce breaking changes that were fixed in this PR the following way:
hydra-core>=1.1.0 set instantiate fct to recursive by default, breaking all mbrl-lib use of hydra.instantiate original behaviour with nested dict config (hydra 1.1.0 release note). Changing config files on the user side would be error-prone, so I simply added _recursive_=False to every hydra.utils.instantiate(<cfg>) that deal with nested instantiation logic;
Types of changes
Motivation and Context / Related issue
Motivation: Enable importing
mbrl-lib
in project requiring newer hydra-core>=1.1.2 version. Context:mbrl-lib
hydra-core
version was freezed at v1.0.3 which was release in 2020. A lot of useful functionality were introduce since then.Regression warning/bug that where fixed: Post hydra-core version 1.1 introduce breaking changes that were fixed in this PR the following way:
hydra-core>=1.1.0
setinstantiate
fct to recursive by default, breaking all mbrl-lib use ofhydra.instantiate
original behaviour with nested dict config (hydra 1.1.0 release note). Changing config files on the user side would be error-prone, so I simply added_recursive_=False
to everyhydra.utils.instantiate(<cfg>)
that deal with nested instantiation logic;_self_
keyword inexamples/conf/main.yaml
defaults
(Ref https://hydra.cc/docs/1.1/upgrades/1.0_to_1.1/default_composition_order/);@package _group_
to all config group yaml file (ref https://hydra.cc/docs/1.1/upgrades/1.0_to_1.1/changes_to_package_header/).Remark on breaking change:
++
eg:python -m mbrl.examples.main algorithm=mbpo ++device=cpu
Note:
hydra-core>=1.1.2
. Older than that wont be compatible with the proposed changes.How Has This Been Tested (if it applies)
tests/core
andtests/algorithms
mbrl/examples/README.md
.github/workflows/ci.yml
Checklist