This repository was archived by the owner on Nov 17, 2023. It is now read-only.
[v1.x] Save/Load Gluon Blocks & HybridBlocks#19565
Merged
samskalicky merged 10 commits intoapache:v1.xfrom Dec 15, 2020
Merged
Conversation
|
Hey @samskalicky , Thanks for submitting the PR
CI supported jobs: [edge, sanity, centos-cpu, unix-gpu, miscellaneous, clang, website, centos-gpu, windows-gpu, windows-cpu, unix-cpu] Note: |
samskalicky
commented
Nov 21, 2020
samskalicky
commented
Nov 21, 2020
leezu
approved these changes
Dec 10, 2020
leezu
suggested changes
Dec 14, 2020
Contributor
leezu
left a comment
There was a problem hiding this comment.
Must not change load_json -> fromjson in the 1.x branch due to API compatibility
Contributor
Author
backed out the change |
This file contains hidden or 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
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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
v1.x branch version of PoC for saving & loading Gluon Blocks & HybridBlocks from #19535. Version for master branch is #19564. This PR is fundamentally different due to the changes on the master branch for block names/UUIDs compared to v1.x
This PR adds 2 new APIs to Gluon Blocks:
save
Saves the model parameters and a json structure of the model that stores the names of blocks' children in order to later restore and match the saved parameters. This does not actually store the model. Users still need to recreate their model architecture using their Gluon code in Python.
It also stores the hybridized Symbol objects for HybridBlocks and associated settings so that it can be later reloaded.
load
Loads the model parameters and a json structure of the model. It restores the names of blocks' children in order to match the saved parameters.
Also restores hybridized Symbol objects in HybridBlocks so they do not need to be hybridized again. After calling the
loadAPI users can immediately run inference without needing to hybridize.