dgl.sampling

dgl.sampling 包包含了通过随机游走、邻居采样等方式从图中采样的操作符和工具。它们通常与 dgl.dataloading 包中的 DataLoader 一起使用。用户指南 第6章:大型图上的随机训练 提供了关于不同组件如何协同工作的全面解释。

随机游走

random_walk(g, nodes, *[, metapath, length, ...])

根据给定的元路径,从起始节点数组中生成随机游走轨迹。

node2vec_random_walk(g, nodes, p, q, walk_length)

基于node2vec模型,从起始节点数组中生成随机游走轨迹。

pack_traces(traces, types)

random_walk()返回的填充轨迹打包成一个连接的数组。

邻居采样

sample_neighbors(g, nodes, fanout[, ...])

对给定节点的邻近边进行采样并返回诱导子图。

sample_labors(g, nodes, fanout[, edge_dir, ...])

采样器,通过从NeurIPS 2023论文Layer-Neighbor Sampling -- Defusing Neighborhood Explosion in GNNs中的多层GNN的劳动采样构建节点表示的计算依赖关系。

sample_neighbors_biased(g, nodes, fanout, bias)

对给定节点的邻近边进行采样,并返回诱导子图,其中每个邻居被选中的概率由其标签决定。

select_topk(g, k, weight[, nodes, edge_dir, ...])

选择给定节点的k个最大(或最小)权重的相邻边,并返回诱导子图。

PinSAGESampler(G, ntype, other_type, ...[, ...])

类似PinSAGE的邻居采样器。

负采样

global_uniform_negative_sampling(g, num_samples)

执行负采样,生成源-目标对,使得具有给定类型的边不存在。