Now are is trained.
You can see that it has done for all the 30 epochs.
The loss value we are getting is point to body training data.
Accuracy is nearly 92 percent, which is very impressive.
This is what the training data, the validation set loss is point to fight.
And the accuracy is nearly 90 percent using the callbacks.
We would have stored the best model out of all the 30 epochs.
But you can see that this last epoch is sufficiently good.
It is giving us a ninety point nine percent accuracy.
So we are going to check the best performance of this particular epoch.
Another thing to notice is the validation, loss and validation error.
Have not stopped improving.
Although there are some dips here.
But you can see that overall the pattern is going up for the validation set also for training.
It will definitely go up.
But even for the validation set, it is still going a little bit down.
So it will make more sense to run this for more number of epochs and simultaneously UTI at least topping
criteria so that we can go up to that point where we get the best accuracy.
Now, let us take the performance of this last train model, the final value at 30 epochs.
How does it perform on our test it?
So we will use the evaluate function to store the value in CNN school.
So let us evaluate on the test images and test labels.
And now we can print out the lost value and the accuracy value on our deficit.
And it is coming out to be 90 percent.
So you can see that there is a small improvement just by adding one convolutional and one pulling layer
in our network earlier without these two layers.
When we ran a normal artificial neural network, we had an accuracy ranging from 85 percent to 87 percent
for the desert.
Now we are getting four percent increase in test accuracy.
And now it is at 90 percent, probably adding more convolutional layers, extracting more features,
applying more craters, probably.
There is a chance that we can further increase this accuracy to maybe even 95 percent.
You can also use this model, this train model, to predict on new data.
So here I'm going to predict on the test images only.
So the class of prediction will be stored in class bread.
And we use predict classes.
Functions what that.
I'm printing out the first 20 values in this class print variable.
So the first image is classified as ninet object by our model to give name to these predicted values.
If you remember, we created an array of class names.
This is where we are going to use it.
We are going to use class names to give names to these predicted values.
So these are the first 20 predictions by our system.
What are the actual values for these first 20 images?
These are the actual values.
You can see that most of the observations are exactly matching.
These are predicted values.
These are actual values and most of them are same.
I can identify this one.
This is predicted that sandal.
But it is actually sneaker.
And there is no other observation which just predicted wrongly.
If you want to plot this particular image, we're just getting predicted wrongly.
We can use this blog function here.
I'll have to mention which image I want to plot.
So this is 13 image.
So I put 13 here and run this.
And this is the image.
Our model is predicting sandal.
And it is actually sneaker.
But I think because of the similar characteristics of a standalone sneaker, this could happen.
So for most of the predictions, our model is predicting very, very.
This is how we add convolutional layers and pulling layers to make a convolutional neural network,
convolutional neural network also includes part of multi-level Perceptron that we built earlier.
So initial few layers are convolutional years later on.
We have a normal neural network which gives us the final predictions.
This was a simple example, fashion.
Amnesty is a standard data set, which everyone works on when they start learning, deepening in the
coming lectures will take up one project and we're trying to build a convolutional network on it and
improve its accuracy, as we have to do in real life problems.