dgl.rand_bipartite

dgl.rand_bipartite(utype, etype, vtype, num_src_nodes, num_dst_nodes, num_edges, idtype=torch.int64, device=device(type='cpu'))[源代码]

生成一个随机的单向二分图并返回。

它从所有可能的节点对中均匀选择 num_edges 条边来构成图。这种随机选择是不放回的,这意味着生成的图中不会有多重边。

要控制随机性,可以通过 dgl.seed() 设置随机种子。

参数:
  • utype (str, 可选) – 源节点类型的名称。

  • etype (str, 可选) – 边类型的名称。

  • vtype (str, 可选) – 目标节点类型的名称。

  • num_src_nodes (int) – 源节点的数量。

  • num_dst_nodes (int) – 目标节点的数量。

  • num_edges (int) – 边的数量

  • idtype (int32, int64, 可选) – 用于存储与图结构相关的信息(如节点和边 ID)的数据类型。它应该是一个框架特定的数据类型对象(例如,torch.int32)。默认情况下,DGL 使用 int64。

  • device (设备上下文, 可选) – 生成的图所在的设备。它应该是一个框架特定的设备对象(例如,torch.device)。默认情况下,DGL 将图存储在 CPU 上。

返回:

生成的随机二分图。

返回类型:

DGLGraph

另请参阅

rand_graph

示例

>>> import dgl
>>> dgl.rand_bipartite('user', 'buys', 'game', 50, 100, 10)
Graph(num_nodes={'game': 100, 'user': 50},
      num_edges={('user', 'buys', 'game'): 10},
      metagraph=[('user', 'game', 'buys')])