I have weights which I use for initializing the training of a convolution neural net model as follows (in Keras):

model = load_model("my_weights.hdf5")

Now I want to rerun the entire model with further data augmentation and training using these loaded weights. I would like to know if this is a feasible approach to apply. And also, would this be considered as fine-tuning? or transfer learning?


1 Answer 1


Yes it is definitely doable, and further more, its is recommended in many scenarios. For instance, if you wanted to train some generic image classifier it would be naive idea to start from scratch and, for instance, retrain ImageNets' dataset for 2-3 weeks simply trying to retrieve optimal weights that have already been previously computed.

if you simply take pre-trained weights and use them on a different domain, then that would be referred to as transfer learning. However, since you want to retrain the existing weights with additional training data then, yes, you would be "fine-tuning" the model. When you do this however, there are considerations that need to be taken. Do you want to fine tune every layer? Or only deeper layers that detect very specific features of the dataset? Considerations like these should be taken into account.

Also check out http://cs231n.github.io/transfer-learning/


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.