Extending manual sampling of NodeLoader
and LinkLoader
(__call__
) with time
#9785
Labels
NodeLoader
and LinkLoader
(__call__
) with time
#9785
🚀 The feature, motivation and pitch
NodeLoader
andLinkLoader
can be used to manually sample since #7197This is currently implemented through the
__call__
method. One can manually sample a subgraph from seed indices. These point to the underlyingNodeSamplerInput
/EdgeSamplerInput
, which can be seen as a map linking indices to actual node IDs, times, etc.The two base loaders also implement temporal sampling through seed node time —
input_time
forNodeLoader
andedge_label_time
forLinkLoader
, which forces the sampled neighbors to have atime_attr
smaller than or equal to the seed time.The current implementation uses a static seed time for each node, which can be passed to the loader as an initialization arg. However, we can consider scenarios (e.g. during inference) where we want to sample certain seed nodes with different seed times at different calls.
The proposal would be to extend
__call__
with an extra argument.I can think of 3 ways of achieve that:
index
arg logic but add a seed time arg, that would dynamically override the seed times inNodeSamplerInput
andEdgeSamplerInput
.__call__
interface altogether, changing theindex
arg to 'raw'seed_nodes
, and adding optional seed timesI'll start implementing the second option and open a PR.
Open for discussion and ideas!
cc @rusty1s
The text was updated successfully, but these errors were encountered: