How to verify if my added node features are propagating during train time #93
-
Hello, I’m working on a modification to the Allegro codebase that utilizes nequip 0.5.5. What I’d like to do is concatenate features along the dim=-1 of the one_hot vector and use this as part of the representation on each node. Based on reasoning from other posts, I did following in the _allegro.py file in allegro/model (just setting `def Allegro(config, initialize: bool, dataset: Optional[AtomicDataset] = None):
I denoted the changed lines with
To check whether my modifications are changing the final resuts, I also did a version of this where I concatenated 4 vectors with values on the magnitude of 1e7 (garbage values, essentially) to see if this would negatively impact the losses. I found that neither of my modifications (constructive or destructive) seem to significantly change the evaluation metrics with respect to the original Allegro on a particular dataset of conformers I have. (modified contains the added electronegativities, atomic numbers and radii, and garbage contains features of arbitrary large positive and negative numbers). Is there a more direct way I can check to see whether my added features are being propagated? Or better yet, can I somehow retrieve the dependency of my losses on these added features? Any help would be great. Thank you. |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 9 replies
-
Hi @varunpatro1, Thank you for your interest in Allegro! Would it be possible to share how you've edited |
Beta Was this translation helpful? Give feedback.
-
Just confirming from the above the |
Beta Was this translation helpful? Give feedback.
Hi @varunpatro1,
Thank you for your interest in Allegro! Would it be possible to share how you've edited
OneHotAtomEncoding
(this module)? Also, perhaps you've done this already, but did youpip install
again after your changes, or did you dopip install -e .
so that your changes will be reflected without having topip install
each time after editing files innequip
? I assume you also did something likedata[AtomicDataDict.NODE_ATTRS_KEY] = concat
after you've done the concatenation? You could add print statements innn/_allegro.py
around here to check if the shape ofnode_invariants
is what you expect after your concatenation.