It’s Corn (PogChamps #3)
Corn Seed Image Classification
fast.ai smashed it. The impact it had in this Kaggle Community Competition is remarkable.
Many of the solutions, including the wining one, are notably influenced by Part 1 2022 Course.
Navigating through the notebooks and discussion is a great source of inspiration and useful information.
In this post I wanted to compile some of the information I found useful.
1st Place Solution
fastai
Winning Kaggler Andrew Speers shared the following quality information:
-
Kaggle discussion
→ 1st Place Solution
The special thanks says it all. To Rob Mulla (who hosted the competition), Jeremy Howard for fast.ai and the course and to @kurianbenoy for pointing out the discussion about Paddy Competition → fast.ai resources for solving Image Classification(based on similiar kaggle competition). -
Kaggle Notebook Submission
→ pogchamps3-experiment6plus10-kaggle-inference -
GitHub repository
→ It’s Corn (PogChamps #3) Kaggle Competition - 1st Place Winning Solution
A great detailed explanation of 10 experiments and the notebooks. Definitely worth checking as a wrap up for Part 1 course. You can trace code from Scaling Up: Road to the Top, Part 3 with added use of, like, augmentations, early stoppings and oversampling to help deal with class imbalance.
2nd place solution
fastai
Kaggler chumajin couldn’t do the inference with a Kaggle notebook but shared the approach in the discussions:
- Kaggle discussion
→ 2nd place solution
The discussion points out used models, fast.ai library and references a notebook by @miwojc → its corn time vision transformer
3rd place solution
fastai
Ayushman Buragohain (@benihime91) shared lots of information to dig in:
-
Kaggle discussion
→ 3rd place Solution : Transformer/Attention Is All You Need
Another fast.ai solution. It adds the use of “AdamW
optimizer withCosineAnnealingLR
lr_scheduler for training” and @rwightman MixUp implementation. -
Kaggle Notebook Submission
→ PG3_corn ensemble submission best CV
Worth checking and digging in the use ofIPyExperimentsPytorch
,albumentations
. The inference is done in a little bit advanced way for a beginer -like me at least. -
GitHub repository
→ 3rd place Solution for It’s Corn (PogChamps #3)
Notebooks and a lot to dig in. Fork of PG3_corn ensemble find weights grab my attention -while writing this post- because of the use of Optuna to find the weights for the ensemble. Lots of new things -for me- when navigating through the training notebooks in this folder: kgl-pogchamps-3-corn/nbs/
4th position
No information for this solution by khursani. But there exists the same user name in this community @khursani8, so probably it is a fastai solution.
5th position
fastai
By Jon Blanchard.
- Kaggle discussion
→ 5th Place Reflections
Here Jon explain that “got stuck with thecleanup called
issue” in Keras. So thanks to its corn time notebook by @miwojc he got into fastai. Then he experimented with models from Jeremy’s notebook The best vision models for fine-tuning.
Interesting his insight in selecting the final model to avoiding the shakeup on private leaderboard by analyzing LB:CV gap, “trusting the CV” and factoring the standard deviation of the folds.
Hi finally thanks @miwojc, @kurianbenoy and to Nghi Huynh for her suggestions on the CV vs LB discussion.
7th place solution
fastai
By LucasPilla.
-
Kaggle discussion
→ 7th place solution
Here Lucas clearly explains his simple approach. Stratified 5 folds, GradientAccumulation(128), Default fastai augmentations + vertical flip, only 5 epochs! -
Kaggle Notebook Submission
→ It’s Corn - Train
→ Its Corn - Infer
Clean notebooks that are obviously inspired by Part 1 2022 fastai course.
11th place solution
fastai
A fastai solution by our fellow student @miwojc
-
Kaggle discussion
→ 11th place solution
Clearly explained Part1 2022 course inspired approach. -
Kaggle Notebook Submission
→ its corn time ensemble 11th place solution
Used Models
First Place:
convnext_large_in22k
vit_large_patch16_224
swinv2_large_window12_192_22k
swin_large_patch4_window7_224
Second Place:
beit_large_patch16_384
convnext_xlarge_384_in22ft1k
swin_large_patch4_window12_384
deit3_large_patch16_384_in21ft1k
beit_large_patch16_224
convnext_large_in22ft1k
swin_large_patch4_window7_224
Third Place:
beit_large_patch16_224
swin_base_patch4_window12_384_in22k
convnext_large_in22ft1k_224
swin_large_patch4_window7_224
Fifth Place:
vit_base_patch16-224
Seventh Place:
convnext_tiny_in22k
vit_large_patch16_224
swin_base_patch4_window7_224_in22k
Eleventh Place
resnet18
vit_small_patch16_224
swin_base_patch4_window7_224_in22k