This repo is about image classification using feature extraction with VGG16 pretrained model
Transfer learning is the reuse of a pre-trained model on a new problem. It's currently very popular in deep learning because it can train deep neural networks with comparatively little data.
VGG16 is a convolutional neural network trained on a subset of the ImageNet dataset, a collection of over 14 million images belonging to 22,000 categories. K. Simonyan and A. Zisserman proposed this model in the 2014 paper, Very Deep Convolutional Networks for Large-Scale Image Recognition (https://arxiv.org/abs/1409.1556).
- Downloaded the dataset for image classification. Here, I have used Multi-class weather Dataset. (https://data.mendeley.com/datasets/4drtyfjtfy/1)
Convert into the folder structure as shown in dataset folder. - Preparing the dataset to train and test.
i) Convert the images into shape of 224x224x3 (as input of VGG16)
ii) Have unique label for each classes. Such as Sunrise - 0, Shine - 1, Rain - 2, Cloudy -3.
iii) Split the datapoint into train (90%) and test (10%) datapoints. - Download the pretrained model VGG16 imagenet and use it for feature extraction.
- Training the multilayer preceptron and using it after 7x7x512 max pooling layer.
- Train the model with an adam optimizer.
- Evaluate the model with test datapoints.