/Meme-Classifier

Deep Learning model to predict the template of the given meme

Primary LanguagePython

Meme-Classifier

A tensorflow project in python to classify given meme

Training done by replacing last layer of Inception model.
Training has been done using very few images so the accuracy of prediction might be low in some meme templates.

Supported Meme templates

*evil kermit
*bad luck brian
*good guy greg
*the most interesting man in the world
*conspiracy keanu
*philosoraptor
*overly attached girlfriend
*doge
*one does not simply
*condescending wonka
*first world problems girl
*grumpy cat
*success kid
*ancient aliens guy

Description

Training has been done by using InceptionV3 model and training the last layer using bottlenecks.
Install dependencies using pip as sudo pip install -r requirements.txt
You can run the program and find the prediction by using python classify_meme.py path/to/meme.jpg

Using given test images

  1. cd into the directory.
  2. Then run python classify_meme.py memes/meme1.jpg
  3. The model will predict the normalised score as per the template of the meme (5 best results will be given)
  4. The results should be somewhat like this for the given meme: evil_kermit
evil kermit                 : 0.97493
condescending wonka         : 0.00606
doge                        : 0.00417
good guy greg               : 0.00226
success kid                 : 0.00224
  1. Test again by running python classify_meme.py memes/meme2.jpg
  2. The expected result for the given meme would be : doge
doge                        : 0.99790
good guy greg               : 0.00055
one does not simply         : 0.00037
grumpy cat                  : 0.00027
conspiracy keanu            : 0.00014