The normalization wrapper in Sinergym, based on the default Gymnasium wrapper, has encountered a functionality issue.
When a model is trained using this normalization, the calibration is lost post-process. Consequently, when the model is loaded for evaluation, the absence of normalization calibration results in poor agent performance.
Motivation and Context
This PR records the averages and deviations updated during this process, and offer the ability to load them either in the constructor or via a method to use it in evaluation tasks. These evaluations are configurable, whose normalization calibrations can be not updated during that process.
[x] I have raised an issue to propose this change (required for new features and bug fixes)
Why is this change required? What problem does it solve? Please, reference issue or issues opened previously.
Fixes #407
Types of changes
[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
Description
The normalization wrapper in Sinergym, based on the default Gymnasium wrapper, has encountered a functionality issue.
When a model is trained using this normalization, the calibration is lost post-process. Consequently, when the model is loaded for evaluation, the absence of normalization calibration results in poor agent performance.
Motivation and Context
This PR records the averages and deviations updated during this process, and offer the ability to load them either in the constructor or via a method to use it in evaluation tasks. These evaluations are configurable, whose normalization calibrations can be not updated during that process.
Why is this change required? What problem does it solve? Please, reference issue or issues opened previously.
Fixes #407
Types of changes
Checklist:
autopep8
second level aggressive.isort
.cd docs && make spelling && make html
pass (required if documentation has been updated.)pytest tests/ -vv
pass. (required).pytype -d import-error sinergym/
pass. (required)Changelog:
NormalizeObservation
wrapper with this new functionality.Extra: