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
Explanation of parameters #1
Comments
Hi Daniel, |
Thank you for the answer, it's really helpful. |
I have one more question. |
Hi, Do you have a 2 vector on the surface and a scalar or a 3 vector in the ambient space and a scalar? Pim |
Thank you! So, if I understand correctly, I have to transform the vector feature at each vertex to the local basis. I have yet another question. I also have the vertex positions. Should I explicitly append vertex positions to the input features as you did in the GeometricShapes example? |
Yes, that's correct, the order 1 feature is 3D and consists of a scalar and a 2 vector and you can combine data into that by zero padding. The XYZ coords are scalar features, but be aware that using them as such breaks global equivariance. |
What do you suggest if I don't want to break global equivariance, but still want to take vertex positions into account? |
Hi! THANKS for your great job. |
Hi,
Thanks for your interest! To simplify code, I made the design choice that all representations are a multiple (I called channels, perhaps somewhat confusingly) of rho_0 + … rho_maxorder. In your case, you want 5 copies of rho_0 + rho_1, so 5 channels in and max order 1. The input then per node is of shape (channels, 2*max_order+1)=(5, 3). You’ll put the scalars in the first column and the vectors in the other columns. You’ll have to zero pad those to make 5 vectors.
The order in which you pair the scalars and vectors is not relevant.
Then for the subsequent layers, you want to pick again some number of channels and order of the representation. Say resp. 32 and 2. Then the code for the first layer is:
GemResNetBlock(5, 32, 1, 2, **kwargs)
Does that help?
Best wishes,
Pim
From: Dolphin ***@***.***>
Date: Monday, 9 May 2022 at 03:31
To: Qualcomm-AI-research/gauge-equivariant-mesh-cnn ***@***.***>
Cc: Pim de Haan ***@***.***>, Comment ***@***.***>
Subject: Re: [Qualcomm-AI-research/gauge-equivariant-mesh-cnn] Explanation of parameters (Issue #1)
WARNING: This email originated from outside of Qualcomm. Please be wary of any links or attachments, and do not enable macros.
Do you have a 2 vector on the surface and a scalar or a 3 vector in the ambient space and a scalar?
Hi! THANKS for your great job.
I have more questions about how to input features at the first layer at the network. If I have both scaler and vector, 5 scalar features and 4 vector features(tangent 2-vector ) for example(13 feature in total), how could I write the input layer of the network that output 32 features with 2 like this?
self.conv1 = GemResNetBlock(13, 32, 0, 2, **kwargs)
—
Reply to this email directly, view it on GitHub<#1 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AYESUEN22IQQEWW6QZTYVM3VJBTF5ANCNFSM5PR5NNBQ>.
You are receiving this because you commented.Message ID: ***@***.***>
|
Hi!
Could you explain shortly the role of the following parameters in GemResNetBlock: in_order, out_order, n_rings?
I'm not sure how to set these parameters.
My dataset consists of mesh samples with scalar features.
The text was updated successfully, but these errors were encountered: