Cats / dogs recognition

Here you can find all my code : https://github.com/AdrienTriquet/AI3

Moreover, here you can find all the different models I used and saved : https://drive.google.com/file/d/1loBwiJ8QRxWXTxz5hhJ7p15csJfEFJNF/view?usp=sharing

Introduction

This lab aims to implement many different neural networks to see their different results. Let’s make my computer melt !

First, here is a look at the data used :

GitHub Logo

Different models

  • A first CNN

A first simple CNN with two convuloutional layers gave me 74 % of accuracy after testing.

However, the loss value was very high and after 100 epochs, it was clearly overfiting :

GitHub Logo

  • Dropout

Simply adding a dropout layer made the accuracy slitly increase (79%). However, the loss really gets very low.

  • VGG16

I now tried a VGG16 pretrained with ImageNet in which I added layers at the end for our data.

I got 89 % of accuracy.

  • variant of VGG16

I then used the same model as before. However, before every layers of the base VGG16 were not trainable, npw we also train on the 4 last layers of it.

  • 5 pre-trained SOTA models

With the same layers added as before and 5 epochs, I got :

GitHub Logo

Those are 5 ‘state of the art’ structures commonly used.

Maybe the classement would be different after 100 epochs each, I simply do not have enough computer power. It still gives a good overview.

Graphs

This lab was also the moment to test to plot some interesting graphs about our models :

GitHub Logo

GitHub Logo