Files

Baseline Code for PCQM4M-LSC

The code is ported from the official examples here. Please refer to the OGB-LSC paper for the detailed setting.

Installation Requirements

ogb>=1.3.0
rdkit>=2019.03.1
torch>=1.7.0

We recommend installing RDKit with conda install -c rdkit rdkit==2019.03.1.

Commandline Arguments

  • LOG_DIR: Tensorboard log directory.
  • CHECKPOINT_DIR: Directory to save the best validation checkpoint. The checkpoint file will be saved at ${CHECKPOINT_DIR}/checkpoint.pt.
  • TEST_DIR: Directory path to save the test submission. The test file will be saved at ${TEST_DIR}/y_pred_pcqm4m.npz.

Baseline Models

GIN [1]

python main.py --gnn gin --log_dir $LOG_DIR --checkpoint_dir $CHECKPOINT_DIR --save_test_dir $TEST_DIR

GIN-virtual [1,3]

python main.py --gnn gin-virtual --log_dir $LOG_DIR --checkpoint_dir $CHECKPOINT_DIR --save_test_dir $TEST_DIR

GCN [2]

python main.py --gnn gcn --log_dir $LOG_DIR --checkpoint_dir $CHECKPOINT_DIR --save_test_dir $TEST_DIR

GCN-virtual [2,3]

python main.py --gnn gcn-virtual --log_dir $LOG_DIR --checkpoint_dir $CHECKPOINT_DIR --save_test_dir $TEST_DIR

Measuring the Test Inference Time

The code below takes the raw SMILES strings as input, uses the saved checkpoint, and performs inference over for all the 377,423 test molecules.

python test_inference.py --gnn $GNN --checkpoint_dir $CHECKPOINT_DIR --save_test_dir $TEST_DIR

For your model, the total inference time needs to be less than 12 hours on a single GPU and a CPU. Ideally, you should use the CPU/GPU spec of the organizers, which consists of a single GeForce RTX 2080 GPU and an Intel(R) Xeon(R) Gold 6148 CPU @ 2.40GHz. However, the organizers also allow the use of other GPU/CPU specs, as long as the specs are clearly reported in the final submission.

Performance

Model Original Valid MAE DGL Valid MAE #Parameters
GIN 0.1536 0.1536 3.8M
GIN-virtual 0.1396 0.1407 6.7M
GCN 0.1684 0.1683 2.0M
GCN-virtual 0.1510 0.1557 4.9M

References

[1] Xu, K., Hu, W., Leskovec, J., & Jegelka, S. (2019). How powerful are graph neural networks?. ICLR 2019

[2] Kipf, T. N., & Welling, M. (2017). Semi-supervised classification with graph convolutional networks. ICLR 2017

[3] Gilmer, J., Schoenholz, S. S., Riley, P. F., Vinyals, O., & Dahl, G. E. Neural message passing for quantum chemistry. ICML 2017.