🐸 CIFAR10 with Fast.ai
I had a project where I was meant to get the highest accuracy possible on this set with PyTorch, no convolution, no pooling, not even a learning rate scheduler, just linear neural networks. Ask me how frustrating that was! The highest I could get was 52%, after HOURS and HOURS of trying to manipulate the accuracy with more layers, every learning rate imaginable, etc.
Then I broke down and decided to incorporate Fast.ai into my project, even though while it was not exactly against the rules, it was not the direction of the project. But I NEEEEEEED better accuracy. It is too painful to see such a low percentage.
I worked with four different pre-trained Resnet models, Resnet-50 scoring the best of all, and it beat my highest by 17 percentage points BEFORE it even looked at my data. The raw, pre-trained model wiped the floor with the models that had gone through so many epochs that I am embarassed to say. Do you know what this says to me? Why do this any other way?
I am glad I am having to trudge through the lower level networks. I am learning how it all works more than I EVER would if I just flew through it all Fast.ai style. I get it. But it is so painful sometimes. I am so grateful for Fast.ai and the relief of getting such a fantastic percentage accuracy on this set with so few steps and so little code. It is almost magical.
Except I know it is not magic. I know for a fact that the people at Fast.ai have put in countless hours making this framework as amazing as it is. Because I am sitting here suffering through that process myself. So I can TRULY appreciate how groundbreaking the work is.
The Project:
The CIFAR-10 dataset is a collection of 60,000 photos that are 32x32 pixels and contain 10 classes of "everyday objects". This includes 50,000 training images and 10,000 testing / validation images. The classes in the dataset are: airplane, automobile, bird, cat, deer, dog, from, horse, ship, and truck. There are 6,000 of each class of image in the dataset. And while these all seem fairly discernible from one another, keep in mind what 32x32 means. That means very little resolution. So it is quite amazing that a model can achieve such accuracy when working with such challenging data.
So here is my project, CIFAR-10 with Fast.ai.
PDF Version | Interactive Jupyter Notebook | Scroll-Through Jupyter 👇