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