我的数据对象有data.adj_t
参数,给出了稀疏邻接矩阵。我如何从中获取大小为[2,num_edges]
的edge_index
张量?
我的数据对象有data.adj_t
参数,给出了稀疏邻接矩阵。我如何从中获取大小为[2,num_edges]
的edge_index
张量?
Since this feature is still experimental, some operations, e.g., graph pooling methods, may still require you to input the
edge_index
format. You can convertadj_t
back to(edge_index, edge_attr)
via:
row, col, edge_attr = adj_t.t().coo() edge_index = torch.stack([row, col], dim=0)
torch_geometric.utils.convert.from_scipy_sparse_matrix
。>>> from torch_geometric.utils.convert import from_scipy_sparse_matrix
>>> edge_index = torch.tensor([
... [0, 1, 1, 2, 2, 3],
... [1, 0, 2, 1, 3, 2],
>>> ])
>>> adj = to_scipy_sparse_matrix(edge_index)
>>> # `edge_index` and `edge_weight` are both returned
>>> from_scipy_sparse_matrix(adj)
(tensor([[0, 1, 1, 2, 2, 3],
[1, 0, 2, 1, 3, 2]]),
tensor([1., 1., 1., 1., 1., 1.]))
edge_index
是一个示例,用于验证最终结果。from_scipy_sparse_matrix
的输出是一个元组,其中的第一个元素是对OP的答案。 - ndrwnaguib