首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >澄清对节点和边缘索引的理解

澄清对节点和边缘索引的理解
EN

Stack Overflow用户
提问于 2022-03-11 16:20:09
回答 1查看 1.2K关注 0票数 1

通过访问data对象的属性,我如何知道哪个节点特性属于哪个节点?如果我正确理解它,data.x将保存节点特性。通过在下面运行for循环,我可以访问这些特性,但是我如何知道,如果它属于节点0或节点9的例子呢?​

代码语言:javascript
运行
复制
from torch_geometric.data import Data
edge_index = torch.tensor([[0, 1, 1, 2, 1, 9],
                           [1, 0, 2, 1, 8, 1]
                           ], dtype=torch.long)
x = torch.tensor([[-5,7], [0,5], [0,9], [10,9]], dtype=torch.float)
​
data = Data(x=x, edge_index=edge_index)
​
for item in range(0, data.x.shape[0]):
    print(item, data.x[item], data.edge_index.t()[item])
EN

回答 1

Stack Overflow用户

发布于 2022-11-15 14:56:01

在您的代码中,通过像您一样定义x,Pytorch几何推断(从x的形状)存在四个节点。这是在文档中指定的

在节点级属性存在的情况下,自动推断数据对象中的节点数,例如data.x

如果您试图在这段代码上运行任何模型,我怀疑它会产生一个错误,因为只有四个节点会出现。这是因为它将尝试访问x的第9个元素,该元素将返回一个索引错误。

最佳实践是定义存在的节点数。如文档所述

我们建议通过`data.num_nodes =.显式地设置数据对象中的节点数。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71441535

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档