Skip to content
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 7 commits into from
Dec 4, 2023

Conversation

pantanurag555
Copy link
Contributor

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 of auto 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

@lostella lostella added the bug fix (one of pr required labels) label Dec 2, 2023
@lostella 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 lostella enabled auto-merge (squash) December 4, 2023 12:48
@lostella lostella merged commit bf51083 into awslabs:dev Dec 4, 2023
19 checks passed
lostella pushed a commit to lostella/gluonts that referenced this pull request Dec 6, 2023
@lostella lostella mentioned this pull request Dec 6, 2023
lostella pushed a commit to lostella/gluonts that referenced this pull request Dec 6, 2023
@lostella lostella mentioned this pull request Dec 6, 2023
lostella added a commit that referenced this pull request Dec 7, 2023
* Fix Rotbaum serialization and deserialization (#3068)

* Fix Rotbaum to handle short series (#3073)

* fix after backport

---------

Co-authored-by: Anurag Pant <anuragpant@cs.ucla.edu>
lostella added a commit that referenced this pull request Dec 7, 2023
* Fix Rotbaum serialization and deserialization (#3068)

* Fix Rotbaum to handle short series (#3073)

---------

Co-authored-by: Anurag Pant <anuragpant@cs.ucla.edu>
@lostella 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
Labels
bug fix (one of pr required labels)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants