add automapping function in load_pretrain to fix load weight erorr from mindcv when the feature encoder is unfolded to extract intermediate features #246
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.
…om mindcv when the feature encoder is unfold to extract intermediate features
Thank you for your contribution to the MindOCR repo.
Before submitting this PR, please make sure:
Motivation
Some vision backbone in MindCV is wrapped by nn.SequentialCell, so we have to unfold it to extract intermediate features. As a result, the pretrained weights in MindCV can not be loaded to the unfolded encoder.
This PR fix this problem by finding the most matching layer name between a fail-to-load net param and checkpoint params.
Test Plan
(How should this PR be tested? Do you require special setup to run the test or repro the fixed bug?)
Related Issues and PRs
(Is this PR part of a group of changes? Link the other relevant PRs and Issues here. Use https://help.github.com/en/articles/closing-issues-using-keywords for help on GitHub syntax)