Skip to content

AditTuf/ResNetClassifiers.github.io

Repository files navigation

Generic Image Classifiers

Hello everyone ,welcome to my Github Repo .
While developing my GAN project (for which i will also post codes) ,I also had to train some classfiers for the pipeline.
I followed some very intuitive explanations on Jason Brownlee's website MachineLearningMastery . I tried to take one step further by adding adequate number of ResNet blocks and filters to the classifiers while tuning the hyper parameters alongwith
I also trained some more classifiers for other datasets .
I am providing the code as well as trained weights .All of which are tested on Python 3.7 and Tensorflow 1.14
Please note a code developed on some version of Tensorflow may run but might give very unexpected behaviour on other versions of Tensorflow .
If you are using Colab just use this command before running any cell %tensorflow_version 1.x and then restart the Runtime .
The Machine for all my implementations is Nvidia GTX 1650 ,AMD Ryzen 7 8GB Ram .Cuda 10.1 .

Emnist_resnet.py :- I had developed this ResNet type classifier for my other big project
You should change number of filters and Resnet blocks accordingly as you use more data(shots)
This model also saves the feature extractor weights along with full classifier weights .
I have intentionally kept this models small for any learner to copy the code and see results within minutes in Google Colab

Emnist_MobileNetV2.ipynb :- I tried MobileNetV2 feature extractor for same purpose and i will compare my findings
For reaching same accuracy of 92% on Test Set . ResNet requires atleast 2 Millions parameters (Total size 15MB)
While the MobileNet architecture we are using requires 0.3M parameters (Total Size < 1.5 Mb) This jupyer notebook is self explanatory . Reference :- yumaloop github repo

To Do :- Train on other generic datasets like ,Cifar 10 & 100 ,Flowers . Add MobileNet v2 backbone