Question: Dynamic Removal of Nodes - Best Practice? #2237
-
Hi! I'm representing detector measurements from a physics experiment as point cloud graphs in batches of 1024 independent graphs with the aim of reconstructing some attributes associated with the geometry of the graph. Noise from the detector translates into 'false' nodes - e.g. nodes in the graph that shouldn't be there. For technical reasons, labels for signal/noise is not available. I'm experimenting with producing a score [0,1] for every node in the batch of 1024 and removing any nodes that has a score lower than some threshold. I suppose this is effectively a pooling operation by nature. My issue arises on how to remove these nodes best in the context of batching. I have some constraints that translate into that every graph in the batch must have at least 1 node left after this operation. Additional info: The number of nodes in the batch is not fixed. The amount of nodes I wish to remove within each graph is not fixed. If I produce this score for every node, how do I best remove nodes from the graphs in the batch? |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 1 reply
-
This looks close to a |
Beta Was this translation helpful? Give feedback.
This looks close to a
Top-k
pooling approach, wherek
is replaced with a threshold. OurTopKPooling
implementation might be helpful to you. It also supports pooling based on a threshold. Currently, the weights for a node are directly learned insideTopKPooling
, so it might require some customization.