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

Adds protobuf serialization to Tree models #278

Merged
merged 7 commits into from
Oct 3, 2022

Conversation

Craigacp
Copy link
Member

Description

Adds protobuf serialization to Tribuo's tree models. Unlike the other protobuf models this requires some complex logic to linearise the tree rather than arbitrarily nesting the protobufs. This is because in the future we will want to store the tree linearly anyway as it's much more cache efficient, and so having the storage format line up with that will make the internal transformation much simpler.

Motivation

We need to move off Java serialization.

@Craigacp Craigacp added the squash-commits Squash the commits when merging this PR label Sep 15, 2022
@oracle-contributor-agreement oracle-contributor-agreement bot added the OCA Verified All contributors have signed the Oracle Contributor Agreement. label Sep 15, 2022
pogren
pogren previously approved these changes Oct 3, 2022
Copy link
Member

@pogren pogren left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looked this over pretty carefully and, in fact, tried to reimplement TreeModel.deserializeFromProtos because it seemed unnecessarily tortured. Ended up understanding why it was that way and added a comment explaining the method. Good test coverage.

@Craigacp Craigacp merged commit 3b895cb into oracle:main Oct 3, 2022
@Craigacp Craigacp deleted the tree-serialization branch October 3, 2022 17:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
OCA Verified All contributors have signed the Oracle Contributor Agreement. squash-commits Squash the commits when merging this PR
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants