What is Transfer Learning?
It use pre-trained model for transfer the learning what the model have or storing knowledge gained while solving one problem and applying it to a different but related problem.
Why Transfer Learning?
Convolutional Neural Networks (CNNs) have been used for several image classification tasks. They require a lot of data and time to train. However, sometimes the dataset may be limited and not enough to train a CNN from scratch. In such a scenerio it is helpful to use a pre-trained CNN, which has been trained on a large dataset.Also very Deep Networks are expensive to train.
How Transfer Learning helps ?
ConvNet as fixed feature extractor
Fine-tuning the ConvNet
Pretrained models
Like take a ConvNet pretrained on ImageNet, remove the last fully-connected layer (this layer’s outputs are the 1000 class scores for a different task like ImageNet), then treat the rest of the ConvNet as a fixed feature extractor for the new dataset. Thats it
We can do Simple implementation using Keras, Super easy 🙂
You can find my sample implementation of this as below:
https://github.com/abhibisht89/DSPY
TransferLearning1_Imagenet.ipynb