-
Notifications
You must be signed in to change notification settings - Fork 755
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix Rotbaum serialization and deserialization #3068
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
lostella
reviewed
Dec 4, 2023
lostella
added
pending v0.13.x backport
This contains a fix to be backported to the v0.13.x branch
pending v0.14.x backport
This contains a fix to be backported to the v0.14.x branch
labels
Dec 4, 2023
lostella
approved these changes
Dec 4, 2023
lostella
pushed a commit
to lostella/gluonts
that referenced
this pull request
Dec 6, 2023
Merged
lostella
pushed a commit
to lostella/gluonts
that referenced
this pull request
Dec 6, 2023
Merged
lostella
added a commit
that referenced
this pull request
Dec 7, 2023
lostella
added a commit
that referenced
this pull request
Dec 7, 2023
lostella
removed
pending v0.13.x backport
This contains a fix to be backported to the v0.13.x branch
pending v0.14.x backport
This contains a fix to be backported to the v0.14.x branch
labels
Dec 7, 2023
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Description of changes:
Prior to these changes, serializing a TreePredictor would only save the constructor arguments for the class. A trained TreePredictor creates a model_list within the predictor object that includes n trained tree models for n prediction length. This change pickles that model_list during serialization and reads it during deserialization. This change will enable Rotbaum to perform predictions after serialization and deserialization.
This request also includes a guardrail to prevent prediction failures after serialization and deserialization if dataset doesn't contain feat_static_cat and cardinality was initially set to
auto
. In scenarios ofauto
cardinality, PreprocessOnlyLagFeatures class infers the cardinality during training and sets it within the preprocess object in TreePredictor class. Pickling this object during serialization tends to be very memory intensive (100MB+). To avoid pickling this object, this guardrail also checks whether the dataset has feat_static_cat instead of just relying on the value of cardinality.By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.
Please tag this pr with at least one of these labels to make our release process faster: BREAKING, new feature, bug fix, other change, dev setup