Replies: 1 comment 2 replies
-
For a new graph, do you have knowledge of some linked/unlinked edges? Otherwise, I am not totally sure how a GNN could help here (sure, you can do message passing via edge cc, but there will not be any message exchange between components and VMs). As such, it is probably best to treat this as a two-tower model (GNN on component nodes and MLP on VM nodes), and then take pairs of nodes to do the final binary classification task. |
Beta Was this translation helpful? Give feedback.
2 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Hello everyone,
I am trying to learn GCN and I'm struggling to find example implementations for heterogeneous graphs.
I don't know how to approach the design for my model, I will try to explain the structure of the data and what it should predict.
It is an allocation problem, there are 2 categories of nodes: application components and virtual machines. Both components and virtual machines have node features of different sizes (hardware/software requirements respectively hardware/software specifications).
Between the component nodes there are edges of type 'cc' (component to component) with edge features (as one hot encoding) specifying constraints between the 2 components (eg. these 2 components must not be placed on the same virtual machine).
There are no edges between virtual machines nodes (vm - vm).
Each component has an edge to all virtual machine nodes of type 'linked' or 'unlinked'. The Model should predict for each edge between a component or virtual machine if it is of type 'linked' (this component will be deployed on this virtual machine) or 'unlinked',
I have multiple training graphs and I want to obtain a model able to predict for a newly given graph all the edge types between component and VMs. (depending only on the node features and component edges).
I have tried so far with RGCN using DGL and HeteroGraphConv({ rel: GraphConv(in_feats, hid_feats) for rel in rel_names}, aggregate='sum') (but I just realized it doesn't even take into account edge features) and a HeteroMLPPredictor but the results are very poor, most of the time it gets stuck predicting only 'unlinked' edges across the whole graph.
Any idea or suggestion (what to read, learn) would help me a lot, thanks!
Beta Was this translation helpful? Give feedback.
All reactions