Source code of 22nd place solution for RANZCR CLiP - Catheter and Line Position Challenge.
Key points:
- EfficientNet
- 1024x1024 image resolution
- Soft pseudo labels
- Some MLOps for training and making a submission
The progress of the solution during the competition can be seen in the laboratory journal. It describes all the single models and ensembles and shows CV, Public/Private LB scores.
Link: https://docs.google.com/spreadsheets/d/112wrfuQjNXEFyqQLVhu79Vf0uOabnZ1MaayEts2Gvto/edit?usp=sharing
- Nvidia drivers >= 460, CUDA >= 11.2
- Docker, nvidia-docker
The provided Dockerfile is supplied to build an image with CUDA support and cuDNN.
-
Clone the repo.
git clone git@github.com:lRomul/ranzcr-clip.git cd ranzcr-clip
-
Download and extract dataset to the
data
folder.
Batch size tuned for RTX 3090.
-
Train first stage models
./train.sh b7v3_001 2 0,1 all # ./train.sh EXPERIMENT N_DEVICES DEVICES FOLDS ./train.sh b6v3_001 # default settings: ./train.sh EXPERIMENT all all all
-
Make soft pseudo labels
make COMMAND="python predict.py --experiment b7v3_001" make COMMAND="python predict_val.py --experiment b7v3_001" make COMMAND="python predict.py --experiment b6v3_001" make COMMAND="python predict_val.py --experiment b6v3_001"
-
Train second stage models
./train.sh kdb3v3_b71_001 ./train.sh kdb4v3_b61_002 ./train.sh kdb4v3_b71_001
-
Make submission
cd data/ranzcr-deps/ ./download.sh kdb3v3_b71_001,kdb4v3_b61_002,kdb4v3_b71_001
-
Upload the contents of the folder
data/ranzcr-deps/
to Kaggle dataset with the nameRANZCR CLiP Dataset
. -
Connect competition data and
RANZCR CLiP Dataset
to Kaggle Code. Run script code fromdata/ranzcr-deps/kernel.py
.