Cats Vs Dogs

by Raghu Srinivasan


This is an ML/AI project to tell Cats apart from Dogs. It is an end-to-end demonstration of using Deep Learning. It uses a Tensorflow/Keras model that was trained on thousands of labeled images of cats and dogs. This is an example of Supervised learning. To accelerate the training cycle, this model sits 'on top of' a previously trained model called VGG16 which is from Oxford University. This is an example of Transfer Learning ie standing on the shoulders of a better model to accelerate a current model's training time - and accuracy. Next, the model has been exported and uses Tensorflow/Serving via a Docker image. Finally, this webapp that you are on is a Flask application that calls the TF/Serving model and attempts to make a prediction.

To get started simply choose a file of an image of a Cat or a Dog from your computer or mobile device and hit upload and a prediction will be made for your image! For additional fun, try uploading pictures of a wolf or tiger to see what the model predicts. If you're intrigued by that, try uploading a photo of Batman or Yoda and see what it predicts. Why do you think it makes such predictions?