普通邻接矩阵转换成edge

您所在的位置:网站首页 sense的adj形式 普通邻接矩阵转换成edge

普通邻接矩阵转换成edge

#普通邻接矩阵转换成edge| 来源: 网络整理| 查看: 265

普通邻接矩阵转换成edge_index的COO稀疏矩阵形式,格式为[2, num_edges]。 平时我们接触的邻接矩阵adj的形式要么是稠密矩阵(原始二维矩阵),但是在使用PyG框架的时候会发现格式不对,需要形式为[2, edges]的coo_matrix。

首先,把adj转为普通的coo_matrix矩阵:

adj = sp.coo_matrix(adj)

(0, 633) 1 (0, 1862) 1 (0, 2582) 1 (0, 2) 1 . . . . (2707, 165) 1 (2707, 598) 1 (2707, 1473) 1 (2707, 2706) 1 #。。。。。。。。。# 接下来:

values = adj.data indices = np.vstack((adj.row, adj.col)) # 我们真正需要的coo形式 adj = torch.LongTensor(indices) # PyG框架需要的coo形式

就转化成了[2, edges]的格式:

adj:tensor([[ 0, 0, 1, ...,17713, 17714, 17715], [ 1, 2, 0, ...,15054, 2737, 3434]])


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3