This story took 3 months to create

A Deep Learning beginner to top 1% on Kaggle's latest Computer Vision competition

Here's my journey 👇 Image
Competitions are a great place to learn from!

And beginners actually get the most value out of learning from comps.

If you're one of them, don't be intimidated and jump right in.
Humble beginnings

I first started learning DL when the competition started - October.

I picked up the amazing "Deep Learning with Pytorch" book. Image
Here, I learned torch basics (Part 1 of the book), including:

🕗 Tensors
🕗 Training / Inference
🕗 Neural nets from scratch
🕗 Autograd
🕗 Datasets and DataLoaders
🕗 Convolutions and pooling

Cool names right? 🤭
Joining the competition

After a month of building my basics, I jumped into the competition with a discussion post.

Many kagglers were helpful and their best advice was to read public notebooks. Image
So i went and read dozens of public notebooks.

While doing so, I got exposed to many libraries and ways of building the model.
My most used libraries ended up being:

🕗 timm
🕗 fastai
🕗 garbage collector
🕗 albumentations
Here's the biggest tip for creating models for deep learning competitions.

Fine.
Tune.
Pretrained models. Image
They give you a model that has seen plenty of images already.

And you only need to train it to fit your needs.

What's left to learn is how to do that fine tuning well.
Some useful ideas are:

🕗 Image augmentation
🕗 Mixup / Cutmix
🕗 Test time augmentation
🕗 Cyclical learning rate
Teaming up

Apes apart weak.
Apes together strong. Image
Doing the competition solo, I only spent time improving single models.

My team introduced the notion of model diversity.

This way, we get better ensembles/combinations of models.
These are the models my team used:

🕗 Biet
🕗 Volo
🕗 Swin
🕗 ConvNet
Those fine tuned models made their OOF predictions

And we used RidgeCV to find the weights to get the best ensemble
Future Improvements

I would do experiment tracking in the future.

Using any loggers like WandB or Neptune will help in summarizing experiment results to teammates.
Recap:
🕗 Solidify basics
🕗 Read public notebooks
🕗 Learn to fine tune well
🕗 Model diversity
🕗 Ensemble
🕗 Trust OOF score
Thanks for reading this far.

I tweet on DS/ML: threads, analogies, memes.

If you like this stuff, follow @edkesuma for more 😉

Happy Kaggling!
Additional: I documented the entire journey day by day on #66daysofdata.

Throwback to day one here 😆

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Edrick Kesuma 🕗

Edrick Kesuma 🕗 Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us on Twitter!

:(