Parameterize weights_only during load to allow loading of unusual models #1899
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
When using stable_baselines3, it is possible to specify a learning_rate_schedule that is a function rather than a static number. If this function contains numpy scalars (e.g.:
np.pi
) these scalars will cause the model to fail to load with weights_only=True because the numpy scalars are not a supported type.Description
The primary change is a "weights_only" parameter for the load function, allowing the user to change the weights_only parameter as needed when loading models of this type.
Motivation and Context
This is to address an edge case around learning_rate_schedule being a function and also using data types that are not marked safe as part of torch.load
Related to enhancement #1852
Types of changes
Checklist
make format
(required)make check-codestyle
andmake lint
(required)make pytest
andmake type
both pass. (required)make doc
(required)Note: You can run most of the checks using
make commit-checks
.Note: we are using a maximum length of 127 characters per line