GlobalUniform
- class dgl.dataloading.negative_sampler.GlobalUniform(k, exclude_self_loops=True, replace=False)[source]
基类:
_BaseNegativeSampler
负采样器,根据均匀分布随机选择负样本的源-目标对。
对于类型为
(srctype, etype, dsttype)
的每条边(u, v)
,DGL 会生成至多k
对负边(u', v')
,其中u'
从所有srctype
类型的节点中均匀选择,v'
从所有dsttype
类型的节点中均匀选择。生成的边也将具有类型(srctype, etype, dsttype)
。DGL 保证采样的对之间不会存在边。- 参数:
注意事项
这个负采样器会尝试生成尽可能多的负样本,但偶尔可能会返回少于每条边
k
个负样本。如果图非常小或非常稠密,以至于不存在很多唯一的负样本,这种情况更有可能发生。示例
>>> g = dgl.graph(([0, 1, 2], [1, 2, 3])) >>> neg_sampler = dgl.dataloading.negative_sampler.GlobalUniform(2, True) >>> neg_sampler(g, torch.LongTensor([0, 1])) (tensor([0, 1, 3, 2]), tensor([2, 0, 2, 1]))