TemporalNeighborSampler
- class dgl.graphbolt.TemporalNeighborSampler(datapipe, graph, fanouts, replace=False, prob_name=None, node_timestamp_attr_name=None, edge_timestamp_attr_name=None)[source]
基类:
TemporalNeighborSamplerImpl
从图中按时间顺序采样邻居边并返回采样得到的子图。
函数名称:
temporal_sample_neighbor
。邻居采样器负责从给定数据中采样子图。它返回一个诱导子图以及紧凑的信息。在节点分类任务中,邻居采样器直接使用提供的节点作为种子节点。然而,在涉及链接预测的场景中,该过程需要另一个预处理操作。即,从给定节点对(包括正负节点对)中收集唯一节点,并使用这些节点作为后续步骤的种子节点。
- 参数:
datapipe (DataPipe) – 数据管道(datapipe)。
graph (FusedCSCSamplingGraph) – 用于执行子图采样的图。
fanouts (list[torch.Tensor] or list[int]) – 每个节点要采样的边数,可以考虑或不考虑边类型。此参数的长度隐式表示正在进行的采样层数。注意:fanout 的顺序是从最外层到最内层。例如,fanout ‘[15, 10, 5]’ 意味着最外层为 15,中间层为 10,最内层为 5。
replace (bool) – 布尔值,指示采样是带替换还是不带替换进行。如果为 True,则一个值可以被多次选中。否则,每个值只能被选中一次。
prob_name (str, optional) – 用作每个节点采样权重的边属性名称。此属性张量应包含与节点的每个邻居边对应的(未归一化)概率。它必须是一个 1D 浮点或布尔张量,元素数量等于总边数。
node_timestamp_attr_name (str, optional) – 用作节点时间戳的节点属性名称。它必须是一个 1D 整数张量,元素数量等于总节点数。
edge_timestamp_attr_name (str, optional) – 用作边时间戳的边属性名称。它必须是一个 1D 整数张量,元素数量等于总边数。
示例
TODO(zhenkun) : 在传递时间戳的 API 最终确定后添加示例。