Hey!I have actually created a model on cifar 10 datasets using resnet34 model.But getting around 81 percent of accuracy ,it is done by applying the things that is taught in fastai course till 3rd chapter .Not getting much more .
Can I get some recommendation how to improve it.
I have attached the code into it .actually I am new to it but really need help
link to my code:https://colab.research.google.com/drive/1zsESxxtPzFPyJFcU2NHWJejX1fMQd4b1?usp=sharing
I encountered this situation few weeks ago and got a much better result just by resizing the images to a bigger size. Images in CIFAR10 is only 32*32. Resizing them may give your model more details of the images.
You can resize the images as the size of images that are trained by resnet34 image size. So there is this concept of receptive field check it out to understand why it will better increasing the size. Also add normalising according to imagenet stats. This might help.
If you want to improve the accuracy of your model, you should read chapter 7 of the fast book -
an online copy of the notebook is available online here .
As a personal challenge, I tried building a model as accurate as I can as well, using resnet34 on cifar (I was studying the cifar dataset for another project) so I built this notebook here and I was able to get an accuracy of 96.14 percent.
I started out pretty much like you did, but I added progressive resizing + MixUp + SmoothLabelling and finally used TTA (all of which are discussed in chapter 7 of the book).
BTW, as a comparison, here are the SOTA results on the CIFAR10 dataset from papers with code so 96.14 is between the SOTA results sometime in 2015… which is not bad for about a few hours work.
I bet we can get higher accuracies using more modern pretrained architectures (or even just using resnet50)…
Thanks for your reply, it is really exciting , I’ll go through the topic and give it a shot. Thank you for helping me out
To clarify one thing, your notebook uses a pretrained model while most benchmarks are training from scratch. Just wanted to point that out…
Yeah, I forgot to include that.
@butchland after going through your advice and chapter 7 I tried training again but this time I have applied item-transforms to resize into 460 by 460 and then taking 224 by224 size out of it random cropping on batch transforms and then after few epochs of getting accuracy 94 percent I applied Progressive Resizing of only 224 by224 not from random cropping of 460*460 images .It leads to an accuracy of 95 percent .
Lastly by using Test Time Augmentation finally I am getting 96.27 percent of accuracy…
Any further Idea for improving on resnet -34,Though Label smoothing and Mix up is not applied
Link to my code:-https://colab.research.google.com/drive/1vrWNJHXUiAv1LA-eRNo3FwDQHyILH2ja?usp=sharing