-
Notifications
You must be signed in to change notification settings - Fork 3.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add CMPNN
model
#9223
base: master
Are you sure you want to change the base?
Add CMPNN
model
#9223
Conversation
for more information, see https://pre-commit.ci
Thank you for your efforts in implementing CMPNN. Based on my tests, this pull request correctly implements the key modules described in the original paper. One question I have is whether it would be more appropriate to separate BatchGRU from CMPNN, considering that BatchGRU serves the role of a readout function. |
Thank you @AzureLeon1 for taking the time to review the PR. Regarding the
I feel |
Paper Summary
Motivation
Benchmark Results
I have benchmarked CMPNN on a subset of datasets from the TDC ADMET Benchmark Group. I have used LitGNN to perform this benchmark and results can be found in a W&B report.
CMPNN-GRU
CMPNN-MLP
CMPNN-GRU
CMPNN-MLP
CMPNN-Additive
Table: Prediction results of CMPNN on five chemical graph datasets. The datasets were used from the TDC ADMET Benchmark group that provides train_val/test scaffold splits. The model was trained and tested for each task for five times, and reported the mean and standard deviation of AUROC or MAE values. *Chemprop-RDKIT utilizes a hybrid approach where it combines the learned molecule embeddings with 200 global molecule features (descriptors).
Implementation Details
Note
Here is a fork of the original code with some cleanups, addition of poetry for dependency management etc.
Below are the places where improvements have been made:
Checklist
Note
For
CMPNN
PyG implementation, I have usedAttentiveFP
as a template.torch_geometric/nn/models/cmpnn.py
CMPNN
totorch_geometric/nn/models/__init__.py
test/nn/models/test_cmpnn.py
message_booster
mode to thetorch_geometric/nn/aggr/multi.py:MultiAggregation
classmessage_booster
mode intest/nn/aggr/test_multi.py
examples/cmpnn.py
Thank you! Please let me know if any changes are required.