I am doing the tutorial “Graph Convolutions For Tox21”, but having a hard time with understanding the crucial parts of the algorithm. Here are the two main questions to which I can’t find the answers:
- How GraphConv layer handle molecules of different structures as input (let’s say that were passed in the same mini batch)?
- What are the trainable parameters of the GraphConv layer that are the same for two molecules of two different structures?
Regarding the first question:
I understand that each atom in a molecule has an assigned vector of features of the same length (equal to 75 maximum), but the number of atoms is different in each molecule (not even mentioning that each molecule has its own adjacency graph). So how inputs are handled?
Regarding the second question, I checked the source code for GraphConv and it seems that there could be only two trainable parameters W_list and b_list (please, correct me if I am wrong here). However, their size is governed by the parameters in_channels, out_channel, which seems to be different for two different atoms (please, correct me if I am wrong here too). So how it all works?