usnistgov / alignn

Atomistic Line Graph Neural Network https://scholar.google.com/citations?user=9Q-tNnwAAAAJ&hl=en
https://jarvis.nist.gov/jalignn/
Other
220 stars 80 forks source link

Order of edge-gated graph convolutions? #67

Open rees-c opened 2 years ago

rees-c commented 2 years ago

Hi,

Thanks for this great library.

I think I noticed a slight inconsistency in the code from the paper. The paper states that the ALIGNN layer first performs the edge-gated graph convolution on the line graph to update the pair and triplet features, and then the pair features are passed as edges to the atomistic/direct graph.

However, when I look at alignn.models.alignn.ALIGNNConv.forward, I see that the edge-gated graph convolution is actually applied on the atomistic/direct graph first, and then the updated pair features are passed as nodes to the line graph. Am I understanding this correctly?

bdecost commented 2 years ago

However, when I look at alignn.models.alignn.ALIGNNConv.forward, I see that the edge-gated graph convolution is actually applied on the atomistic/direct graph first, and then the updated pair features are passed as nodes to the line graph. Am I understanding this correctly?

I think so, yeah. Some of our experiments were done on an experimental branch where the order of these two operations was configurable (https://github.com/usnistgov/alignn/blob/dev/ray/alignn/models/alignn.py#L27). I thought we did a comparison study on that and found that the order didn't much matter in the end, but it looks like that didn't make it into the supplemental information of the paper

rees-c commented 2 years ago

Good to know, thanks! Would be cool to see that study at some point.