pyG edge_index矩阵 转 普通邻接矩阵,COO稀疏矩阵,包含同质图和异质图

这篇具有很好参考价值的文章主要介绍了pyG edge_index矩阵 转 普通邻接矩阵,COO稀疏矩阵,包含同质图和异质图。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

搜这个转化实在难找,在此记录一下!

**pyG的edge_index 转 COO

同质图**


import torch_geometric
torch_geometric.utils.to_scipy_sparse_matrix(data.edge_index)

异质图

import numpy as np
# 假如异质图size:N*M
from scipy.sparse import coo_matrix
row = (hetedata['节点1','边', '节点2'].edge_index)[0]
col = (hetedata['节点1','边', '节点2'].edge_index)[1]
value = torch.ones(hetedata['节点1','边', '节点2'].num_edges)
adj = coo_matrix((value, (row, col)), shape=(hetedata['节点1'].num_nodes, hetedata['节点2'].num_nodes))

下面是pytorch版本文章来源地址https://www.toymoban.com/news/detail-556042.html

edge_shape= torch.zeros((N,M)).shape
value = torch.ones(hetedata['节点1','边', '节点2'].num_edges))
adj = torch.sparse_coo_tensor(hetedata['节点1','边', '节点2'].edge_index,value,edge_shape)

**pyG的edge_index 转 coo 再转普通矩阵

python
adj = adj.toarray()
pytorch
adj = adj.to_dense() 

到了这里,关于pyG edge_index矩阵 转 普通邻接矩阵,COO稀疏矩阵,包含同质图和异质图的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 深度优先遍历(邻接矩阵,邻接表)

    深度优先遍历(邻接矩阵,邻接表)

        深度优先遍历也称为深度优先搜索,简称为DFS。     深度优先遍历的思路是从图中某个顶点V出发,访问此顶点,然后从V的未被访问过的邻接点出发深度优先遍历图,直到图中所有与V路径相通的顶点都被访问到     该遍历过程用到递归。     深度优先遍历用到了一个辅

    2024年02月08日
    浏览(8)
  • python实现邻接矩阵转邻接表

    2024年02月01日
    浏览(10)
  • 【数据结构】数组(稀疏矩阵、特殊矩阵压缩、矩阵存储、稀疏矩阵的快速转置、十字链表)

    【数据结构】数组(稀疏矩阵、特殊矩阵压缩、矩阵存储、稀疏矩阵的快速转置、十字链表)

    前几期期链接: 【数据结构】栈与队列的概念和基本操作代码实现 【数据结构】树与二叉树的概念与基本操作代码实现 k维数组的定义: k 维数组 D = { a j 1 , j 2 , . . . , j k } k维数组D={ a_{j_1, j_2, ..., j_k} } k 维数组 D = { a j 1 ​ , j 2 ​ , ... , j k ​ ​ } k 0 称为数组的维数,

    2024年04月09日
    浏览(20)
  • 图的创建(详解邻接矩阵和邻接表)

    图的创建(详解邻接矩阵和邻接表)

    首先,我们来看一下涉及的知识点: 图 :图 G=(V,E) 由 顶点 集 V 和 边 集 E 组成。每条边对应一个点对 (v,w),其中 v,w 属于 V 。如果图中的点对是有序的,那么该图就是 有向图 ,反之为 无向图 。 邻接点 :若顶点 v 与 w 之间存在一条边,则认为顶点 v 与 w 邻接。 权 :图中

    2024年02月06日
    浏览(11)
  • 邻接表与邻接矩阵的相互转换

    邻接表与邻接矩阵的相互转换

    邻接表转邻接矩阵的算法思想:首先初始化邻接矩阵。遍历邻接表,在依次遍历顶点vertices[i]的边链表时,修改邻接矩阵的第i行的元素值。若链表边结点的值为 j,则置邻接矩阵的edge[i][j]=1。遍历完邻接表时,整个转换过程结束。此算法对于无向图有向图均适用。 邻接矩阵转

    2024年02月12日
    浏览(7)
  • 度矩阵、邻接矩阵

    度矩阵、邻接矩阵

    度矩阵是对角阵,对角上的元素为各个顶点的度,顶点vi的度表示和该顶点相关联的变得数量。 在无向图中,顶点vi的度d(vi)=N(i)(即与顶点相连的边的数目) 有向图中,顶点vi的度分为顶点vi的出度和入度,即从顶点vi出去的有向边的数量和进入顶点vi的有向边的数量。  上图

    2024年02月10日
    浏览(3)
  • 有向图的邻接表和邻接矩阵

    有向图的邻接表是一种常用的表示方法,用于表示图中各个节点之间的关系。在有向图中,每条边都有一个方向,因此邻接表中的每个节点记录了该节点指向的其他节点。 具体来说,有向图的邻接表由一个由节点和它们的邻居节点列表组成的集合构成。对于每个节点,邻接表

    2024年02月22日
    浏览(7)
  • 图论基础: 邻接矩阵与邻接表(c++实现)

    图论基础: 邻接矩阵与邻接表(c++实现)

    邻接矩阵(Adjacency Matrix)是表示 顶点之间相邻关系 的矩阵。 设G=(顶点,边):G=(V,E)是一个图。其中V={v1,v2,…,vn} [1] 。G的邻接矩阵是一个具有下列性质的n阶方阵: 无向图的邻接矩阵一定是成对角线对称的,是一个 对称矩阵 ,有向图 不一定 是对称的。 有向图当把它的 行

    2024年02月05日
    浏览(10)
  • 邻接矩阵与邻接表的输出及其相互转换

    邻接矩阵与邻接表的输出及其相互转换

    (1) 文件 1 :  pubuse.h 是公共使用的常量定义和系统函数调用声明。 2)文件GraphDef.h定义了图的邻接矩阵表示类型和邻接表表示类型,该头文件在下面的程序中都会使用到,其代码如下: (3)头文件GraphAlgo4-1.h包含若干图的操作函数 1.将邻接矩阵转化为邻接表 2.将邻接表转化

    2024年02月11日
    浏览(10)
  • 【数据结构】邻接矩阵和邻接图的遍历

    【数据结构】邻接矩阵和邻接图的遍历

    本篇文章开始学习数据结构的图的相关知识,涉及的基本概念还是很多的。 本文的行文思路: 学习图的基本概念 学习图的存储结构——本文主要介绍邻接矩阵和邻接表 对每种结构进行深度优先遍历和广度优先遍历 话不多说,狠活献上 等等,先别急,正式学习之前先认识几个

    2024年02月04日
    浏览(18)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包