-
Notifications
You must be signed in to change notification settings - Fork 29
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
Incorporating Equivariance #194
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just have one little questions.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me overall. See my comments below.
return radial, coord_diff | ||
|
||
|
||
def unsorted_segment_mean(data, segment_ids, num_segments): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same functions are defined in EGCLStack.py
. Could we reuse those?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There currently aren't any clear utility files to put common methods in, but perhaps we can add a utils.py
file in hydragnn/models/
@allaffa .
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@JustinBakerMath
We have a directory called hydragnn/utils
that is already dedicated to all the possible utilities.
Inside of this directory, we have a file called models.py
that collects all the utilities that support the definition of a model. Why don't we use that file?
@JustinBakerMath we need to resolve some conflicts with the new version of the branch since I merged PR#195 (activation functions). Let me know if you want me to take care of the rebasing myself. Hopefully, this will be pretty straightforward to take care of. |
I was able to run a few examples without errors. But, I am not sure if I really tested this new equivariance feature. I am just wondering if there is any example in the list of our examples to check this new feature. I am thinking simply turning on "equivariance: true" and changing "model_type: EGNN or SchNet". Otherwise, it looks good. I ran unit tests (no mpi) and they went ok in my local machine. |
@jychoi-hpc |
I have now merged the changes to the activation functions to the changes for equivariance. |
@JustinBakerMath Thanks. I will run the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me, thanks!
@pzhanggit, thanks! I just asked @JustinBakerMath to move |
@jychoi-hpc I ran the QM9 example in debug mode using PyCharm with |
Great. I was able to run too with |
* equivariant reformat * incorporating equivariance with edge_attr
A reformatting of the Base class and the inherited classes to support equivariance through updating positional data (
data.pos
) in each graph convolution.