This repo contains my code for the 5th place solution of the Stanford Ribonanza RNA Folding competition 2023. All training was done on a single 4090. There are still some missing pieces but for now hopefully it serves as a readable reference. The 5-fold ensemble by itself achieves a LB score of 0.14034 public and 0.1423 private.
- A 5-fold ensemble is trained on the competition training data then used to create pseudo-labels by inferencing test data. The checkpoints are discarded.
- The pseudo-labels are filtered then used to train a single model to serve as a pretrained checkpoint for the next step.
- A 5-fold ensemble is trained on the competition training data from the pretrained checkpoint. These are the final models.
Hyperparameters are set in trainer.py
and it also serves as the entry point for training then inference. Included in the repo are the hparam yaml files from the 3 stages above.
- Install
requirements.txt
- Download the preprocessed data from this kaggle dataset (WIP) and put them in
data/
- Preprocess Eternafold BPP files (WIP)
- Set hyperparamers in
trainer.py
according to the desired training stage - (
cd exp && chmod +x trainer.py
)./trainer.py