DLG一些例子的解释

DGL创建异质图:

import dgl
import torch
data_dict = {
    ('user', 'follows', 'user'): (torch.tensor([0, 1]), torch.tensor([1, 2])),
    ('user', 'follows', 'topic'): (torch.tensor([1, 1]), torch.tensor([1, 2])),
    ('user', 'plays', 'game'): (torch.tensor([0, 3]), torch.tensor([3, 4]))
}
g = dgl.heterograph(data_dict)
>>> g
Graph(num_nodes={'game': 5, 'topic': 3, 'user': 4},
      num_edges={('user', 'follows', 'user'): 2, ('user', 'follows', 'topic'): 2,
                 ('user', 'plays', 'game'): 2},
      metagraph=[('user', 'user', 'follows'), ('user', 'topic', 'follows'),
                 ('user', 'game', 'plays')])

解释一下data_dict中tensor的含义,第一个tensor代表源节点ID,第二个tensor代表目标节点ID

示例:

('user', 'plays', 'game'): (torch.tensor([0, 3]), torch.tensor([3, 4]))

表示user节点有节点‘0’和节点‘3’,game节点有节点‘3’和节点‘4’
在图中,节点的数目是由创建时的最大节点ID决定的,例如game节点出现的最大值是4,所以就有5个节点,user节点出现的最大值是3,所以有4个节点。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容