/Kaggle_VinBigData_Competition

First Kaggle Competition, https://www.kaggle.com/c/vinbigdata-chest-xray-abnormalities-detection

Primary LanguagePython

First Kaggle Competition for VinBigData

The competition is over, the final score of my model was 0.088.

The best model was native torch visions retina net trained with Adam at a learning rate of 0.00005 and without mixup

[COMPLETED] PreTraining Goals:

  • Rebuild the ResNet 50 model ( backbone for the detectron2 model )
    • Find 256px Grayscale pretrained resnet-50 weights, someone has to have it
    • Visualize training to make sure its working correctly
      • Add hooks to training tasks for visualizations
  • Train ResNet model
  • Load weights into detectron2 res-50-fpn model and train (might use my model over detectrons)
    • Create a method of mapping weights between models
    • Fix Mix Up
      • Overlapping mixup check
      • Increase likelyhood of interesting mixups
    • Better Loss Logging for Retina
    • Create custom retina classification head (instead of duck patch)
    • Fix Batch Augmentation
  • Create ResNet50 FPN model w/ classifiers per class (weights from detectron)
  • Ensemble the two models, custom resnet 50 model and detectron to classify if an abnormality is present then find the bounding box for said abnormality respectively

Training Goals

####Current Kaggle Score 0.052

  • Explore ways to enhance the model [ Currently Working on This ]

Hypothesis:

By training the backbone to detect abnormalities we can get two benefits

1.) Utilize unlabeled or Healthy labeled X-rays to flesh out the backbones weights (more training examples)

2.) Ensemble models so that during inference, the model can decide if any abnormality is present instead of always predicting multiple abnormalities as seen with detectron models

Nice to haves (things in the backlog*)

  • Better Documentation
  • Better Logging
  • Visualizations of training/validation trade offs
  • ResNet / RetinaNet implementations that scale
  • CUDA implementation with env files
  • Finish the custom Resnet model because its cool

Submission text

My first kaggle competition submission!

These predictions are from 2 retina based models. One being a binary classifier with a custom classification head, used to determine if the image is healthy or abnormal. THe second model is for when the image is abnormal, using a traditional retina model, classifies the abnormalities and their locations. Trained locally on 2 980tis for 6hours total