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

Finetuning: model initialization from pretrained / external weights? #450

Closed
sijinli opened this issue May 25, 2014 · 2 comments
Closed
Labels

Comments

@sijinli
Copy link

sijinli commented May 25, 2014

I wonder whether it is possible to initialize the filter weights from outer source. For examples, a network N_1 of architecture arch_1 has been trained , and then initialize another network N_2 of architecture arch_2 with the weights learned in N_1.

Alternatively, a python wrapper (or matlab) for saving the network state might allow to do it offline.

@sijinli sijinli changed the title Initialize the weight from outer source Initialize the weights from outer source May 25, 2014
@shelhamer
Copy link
Member

This is finetuning: take pretrained model weights and a new architecture, then train the new architecture with weights initialized to the layers in common with the pretrained model. Finetuning is key for transfer learning and training problems where there's insufficient data to train from scratch. It's a first-class command in Caffe: finetune_net.bin solver_proto_file pretrained_net

See https://github.com/BVLC/caffe/blob/master/tools/finetune_net.cpp.

@shelhamer shelhamer changed the title Initialize the weights from outer source Finetuning: model initialization from pretrained / external weights? May 26, 2014
@sijinli
Copy link
Author

sijinli commented May 26, 2014

That's great, I will try it. Thank you @shelhamer

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants