This repository contains some experiments for Applying self pre-training method to GNN for quantum chemistry.
- Python 3.8
# Getting data
curl -sSL "https://www.dropbox.com/s/fifvs2gpdnocxxr/qm9.parquet?dl=1" > ./data/qm9.parquet
Move under src/.
Estimate epochs to train.
python run_pre_train.py params/pre_train/001.yaml
Train with all data. It will take 200 epochs.
python run_pre_train.py params/pre_train/002.yaml
Move under src/.
Train without self pre-training (baseline).
python run_train.py params/train/001.yaml
Edit config to use pre-trained weight.
# src/params/train/002.yaml
pretrained_ckpt_path: xxx
Train with self pre-training.
python run_train.py params/train/002.yaml
Pre-train | Target | Unit | MAE | Epochs |
---|---|---|---|---|
No | μ | Debye | 0.0285 | 800 |
Yes | μ | Debye | 0.0261 | 700 |
- RAdam is used as an optimizer, so that no warmup is used.
- EMA model is used for evaluation, so that no annealing is used.
- Is should be evaluated with full cross validations with 4 or 5 folds, but I used only 1/4 folds because of no time.