Skip to content

Top 26% rank Solution to kaggle competition on Plant leaf classification

License

Notifications You must be signed in to change notification settings

ResByte/plant-pathology-2020-fgvc7-pytorch

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

plant-pathology-2020-fgvc7-pytorch

This is a solution to kaggle competition on categorizing foliar disease in apple tree leaves. For data and further competition info : https://www.kaggle.com/c/plant-pathology-2020-fgvc7

Results

In private leaderboard, an ensemble solution achieved 0.967 score with top 26%.

About Competition

Develop a model that uses images of plant leaves and categorizes them into different diseased categories. For further info about dataset: https://arxiv.org/abs/2004.11958

The prediction categories as as follows:

  • health
  • rust
  • scab
  • multiple : this conists of both rust and scab diseases

The data was highly imbalanced

Solution

In order to train the model, first have a look at config.py and modify variables accordingly.

Key things:

To use or not use can be configured in config.py:

        'criterion':'label_smooth', # other : cross_entropy
        'optimizer':'adamw', # other : adam, radam
        'lr': 3e-4, # learning rate 
        'wd': 1e-5, # weight decay parameter
        'lr_schedule':'reduce_plateau', # cyclic_lr , 
        'arch': 'tf_efficientnet_b5_ns',  # backend architecture

Requirements

  • torch : 1.5.0a0+8f84ded
  • torchvision : 0.6.0a0

others are in requirements.txt

Improvements

  • largest model that I could use was tf_efficientnet_b5_ns due to limited GPU memory, there can be further improvements using efficinet-b6, b7 or b8.
  • training is done in straight forward manner, but improvements can be made using noisy student training or utilizing self-supervised.

Acknowledgements