美文网首页
DLG一些例子的解释

DLG一些例子的解释

作者: thelong的学习日记 | 来源:发表于2021-02-27 20:16 被阅读0次

    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个节点。

    相关文章

      网友评论

          本文标题:DLG一些例子的解释

          本文链接:https://www.haomeiwen.com/subject/gliifltx.html