Login using Social Account
     Continue with GoogleLogin using your credentials
We shall add the dense layers on top of the pre-trained layers, so as to make it learn about our cat vs non-cat dataset, and use it on our test data.
Let us see how we could do that.
Create the input layer as follows.
inp = Input(shape=(64, 64, 3), name='image_input')
Since our dataset has images of shape 64 x 64 x3, we shall set the shape of the input image the same. Also, we shall give the name of the layer as image_input.
Initial a sequential model:
#initiate a model
vgg_model = Sequential()
Now, add the pre-trained vgg_base
to the sequential model vgg_model
we have initialized.
#Add the VGG base model
vgg_model.add(vgg_base)
We shall now add the dense layers which we would train further:
vgg_model.add(GlobalAveragePooling2D())
vgg_model.add(Dense(1024,activation='relu'))
vgg_model.add(Dropout(0.6))
vgg_model.add(Dense(512,activation='relu'))
vgg_model.add(Dropout(0.5))
vgg_model.add(Dense(1024,activation='relu'))
vgg_model.add(Dropout(0.4))
vgg_model.add(Dense(1024,activation='relu'))
vgg_model.add(Dropout(0.3))
vgg_model.add(Dense(1, activation='sigmoid'))
We have first added the GlobalAveragePooling2D
layer, and then the dense layer with 1024 neurons and activation function relu
.
Observe that the Dropout
rate is 0.6, which means 60% of neurons will be randomly ignored during each pass in the training phase in order to make sure the network doesn't overfit. Note that dropout won't be functioning during the test time.
Similarly, other dense and dropout layers were added. At last, a dense layer with 1 neuron is added, which is the output layer. Thus, we have put the activation function sigmoid
.
Taking you to the next exercise in seconds...
Want to create exercises like this yourself? Click here.
Loading comments...