实际上我正在研究 Pytorch 和 Pytorch Geometric。
我做了我的数据
x = torch.tensor([[1], [1], [1], [1], [1]], dtype=torch.float)
edge_index = torch.tensor([[0, 0, 1, 1, 2, 2, 2, 3, 3, 4, 4, 4],
[1, 4, 0, 2, 1, 3, 4, 2, 4, 0, 2, 3]], dtype=torch.long)
并执行 WLConv 的过程(来自文档)
adj_t = edge_index
isinstance(adj_t, SparseTensor)
adj_t = SparseTensor(row=edge_index[1], col=edge_index[0],
sparse_sizes=(x.size(0), x.size(0)))
out=[]
col
_, col, _ = adj_t.coo()
deg = adj_t.storage.rowcount().tolist()
print(zip(x.tolist(), x[col].split(deg)))
for node, neighbors in zip(x.tolist(), x[col].split(deg)):
idx = hash(tuple([node] + neighbors.sort()[0].tolist()))
但是,发生错误:unhashable type: 'list' 我认为这已经足够了,因为我创建了元组,但出了什么问题?