Modifies `update_class_from_dict()` to wholesale replace flat Iterables (#2511)
# Description Currently, `update_class_from_dict()` does not allow updating the configclass Iterable elements with Hydra, when the provided Iterable length differs from the default value. Such a feature is nevertheless needed when changing the network layer depth on the go, e.g., while using learning libraries that utilize configclass (see #2456 for details). This PR modifies `update_class_from_dict()` such that if an element is a flat Iterable (e.g., flat list), it is replaced wholesale, without checking the lengths. Moreover, the PR modifies the robustness of the function against a few edge cases that might break the execution, and adds comments to make it easier to follow the logic flow. Note: I left the changelog entry as `[Unreleased]` until a green light is given. Fixes #2456. ## Type of change - Bug fix (non-breaking change which fixes an issue) ## Checklist - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with `./isaaclab.sh --format` - [ ] I have made corresponding changes to the documentation - [ ] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [x] I have updated the changelog and the corresponding version in the extension's `config/extension.toml` file - [x] I have added my name to the `CONTRIBUTORS.md` or my name already exists there --------- Signed-off-by:Kelly Guo <kellyg@nvidia.com> Signed-off-by:
Kelly Guo <kellyguo123@hotmail.com> Co-authored-by:
Kelly Guo <kellyg@nvidia.com> Co-authored-by:
Kelly Guo <kellyguo123@hotmail.com>
Showing
Please register or sign in to comment