Allow frozen dataclasses in apply_to_collection
#98
+33
−3
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.
Before submitting
Docstring, yes.
No, some tests were broken even without my changes. However, all tests in
test_apply_func.py
, including my new one, passed.What does this PR do?
Allow frozen dataclasses to be ignored in
apply_to_collection
. This is useful to allow ignoring values which we never cared about anyway, for example when usingapply_to_collection
to move data to a device.This (combined with a change in the previously linked line, see main repo PR) allows saving optimizers for which the
state
includes frozen dataclasses that we just want to pass through.Should be completely backward-compatible since I introduce a new keyword argument for this.