目录
方法一:使用sparse的._indices()和._values()
方法二:使用Dgl的graph.adj_sparse('coo')
有时候tensor是稀疏型的,比如是coo matrix的tensor:
>>>graph.adj()
tensor(indices=tensor([[ 0, 0, 0, ..., 116380, 116381, 116382],
[110282, 101199, 81804, ..., 116380, 116381, 116382]]),
values=tensor([1., 1., 1., ..., 1., 1., 1.]),
size=(116383, 116383), nnz=350751, layout=torch.sparse_coo)
如果要获取其中的indices和values来构造scipy的coo matrix,有两种办法
方法一:使用sparse的._indices()和._values()
1.使用graph.adj()._indices()方法即可获取indices如下:
tensor([[ 0, 0, 0, ..., 116380, 116381, 116382],
[110282, 101199, 81804, ..., 116380, 116381, 116382]])
2.然后使用.numpy方法即可转换为ndarray,从而获得
横坐标列表:
<