Open-source dog breed identification built with Fast.ai’s CNN using transfer learning 🐕


My BE from Arcada University of Applied Sciences degree thesis goes over the development, and technological specification for developing an open-source dog breed identification image classification model using the popular Fast.ai’s framework. By using Fast.ai (which utilizes a API to work with PyTorch), I indirectly worked with PyTorch, and of course Python and its powerful math and programming libraries.

The open-source code/notebook is hosted on GitHub, and the thesis is open for all to read (in English):

The idea of creating a dog breed identification model came as me and my fiancée brought home our first dog, Laban. I tried to use different apps to identify dogs as we met other dogs in the dog park, and on our walks. But the apps I tried were slow, contained a ton of ads, and didn’t give accurate results. I also didn’t find any of the identification apps to be open-source, not at least the ones I tried out, so the idea then came to me to create my own open-source alternative.

The thesis, and the GitHub notebook goes into more details about the development and technical specifications, but in short I use the Stanford Dogs Dataset to train a Fast.ai model using transfer learning and a Convocational Neural Network (CNN).

I have future goals of further developing the model with more dog breed images, and to also create an open-source ad free cross-platform mobile app to combine the backend model with a nice and neat UI/UX frontend.

Do go ahead and read the thesis for more in-depth knowledge, or expand upon my work by cloning, and messing around with my code.


My dog Laban ❤️