🤯 fast.ai & Dog Breed Image Recognition via Transfer Learning
Deep learning. Transfer learning. Mind-blowing!
I have been working with neural networks for a little while now. When I was introduced to the practice, I fell in love immediately. So I have been immersing myself all day every day, completing and compiling my own projects and learning from as many sources as I can find. Recently, one project I was working on led to a brief reference to the work at fast.ai. I was immediately intrigued, but I had no idea how amazed I would be when I took a deeper look into what these Aussies are up to!
I am IN LOVE with this framework. It is a heavenly blessing to a deep learning fanatic like me. Here is one reason why: I spend a GREAT deal of time writing functions to help me streamline my model training and evaluation work, as well as countless other tasks involved in the deep learning workflow. It can get messy, especially when there are 6 different libraries I am working with and trying to remember which format my data is in where, etc. Well, the angelic humans at fast.ai have not only streamlined all that for me so that I can work with a completely organized system and analyze pretty much any data you could throw at me in minutes, but it all free and open. It is also all documented more thoroughly and cleanly than anything I have ever seen.
fast.ai also has free educational materials for learning their system, and it is so easy to use and dive into the fun parts of this work without having to sift through learning a whole host of new syntax formats and ways of doing things. They literally just took the whole process and made it into a bullet point list of steps and impeccable functions that I can apply to any project my limitless imagination can come up with.
So here is one of my first projects with the fast.ai framework. I chose the Imagewoof dog breed dataset, which is a subset of images from 10 different dog breeds from the ImageNet collection.
Image Woof Dataset
In this dataset, we have folders of dog breeds, 10 different breeds and many photos for each breed, which will be split up as 80% for training and 20% for validation, or testing.
Now, the first thing I would like to joyfully point out is...do you see how little I have to import? That's it. Fast.ai does all my PyTorch and all those imports that can fill a page or more of my screen. Here, I have all of 5 lines.