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 最终确定后添加示例。