dgl.DGLGraph
- class dgl.DGLGraph[源码]
用于存储图结构和节点/边特征数据的类。
有几种方法可以创建一个 DGLGraph
要从 Tensor 数据创建同构图,请使用
dgl.graph()
。要从 Tensor 数据创建异构图,请使用
dgl.heterograph()
。要从其他数据源创建图,请使用
dgl.*
创建操作。请参阅 图创建操作。
请阅读用户指南章节 第一章:图,了解其用法的深入解释。
查询元图结构
获取节点和边类型信息的方法。当图是异构图时,这些方法通常很有用。
返回图中的所有节点类型名称。 |
|
返回图中的所有边类型名称。 |
|
返回此图中的所有源节点类型名称。 |
|
返回此图中的所有目标节点类型名称。 |
|
返回图中的所有规范边类型。 |
|
返回异构图的元图。 |
|
|
将边类型转换为图中的相应规范边类型。 |
查询图结构
获取图结构信息的方法,例如容量、连通性、邻域等。
|
返回图中的节点数。 |
|
|
|
返回图中的边数。 |
|
|
|
返回图中的源节点数。 |
|
|
|
返回图中的目标节点数。 |
|
|
返回图是否是单二分图。 |
|
返回图是否是包含并行边的多重图。 |
|
返回图是否是同构图。 |
|
|
返回图是否包含给定的节点。 |
|
返回图是否包含给定的边。 |
|
返回具有指定边类型的特定节点的前驱节点。 |
|
返回具有指定边类型的特定节点的后继节点。 |
|
给定边的两个端点,返回边 ID。 |
|
给定边 ID,返回源节点和目标节点的 ID。 |
|
返回给定节点的入边。 |
|
返回给定节点的出边。 |
|
返回给定节点的入度。 |
|
返回给定节点的出度。 |
查询和操作稀疏格式
用于获取或操作 DGLGraph
内部存储格式的方法。
|
获取一个具有指定允许的稀疏格式的克隆图,或查询稀疏格式的使用状态。 |
创建图允许的所有稀疏矩阵。 |
查询和操作节点/边的 ID 类型
用于获取或操作存储结构相关数据(例如节点和边 ID)的数据类型的方法。
用于存储结构相关图信息(例如节点和边 ID)的数据类型。 |
|
将图转换为 idtype 为 int64 的图 |
|
将图转换为 idtype 为 int32 的图 |
使用节点/边特征
用于获取或设置存储结构相关数据(例如节点和边 ID)的数据类型的方法。(注意:此描述可能与章节标题不完全匹配,但已按原文翻译)
返回一个节点视图 |
|
返回一个节点数据视图,用于设置/获取节点特征 |
|
返回一个边视图 |
|
返回一个边数据视图,用于设置/获取边特征。 |
|
|
返回指定类型的节点特征方案。 |
|
返回指定类型的边特征方案。 |
返回源节点的节点视图 |
|
返回目标节点的节点视图 |
|
返回一个节点数据视图,用于设置/获取源节点特征。 |
|
返回一个节点数据视图,用于设置/获取目标节点特征。 |
图变换
通过转换现有图来生成新图的方法。它们大多数是 dgl
命名空间下的 子图提取操作 和 图变换操作 的别名。
|
|
|
|
|
|
|
|
|
返回此图的关系切片。 |
|
|
|
|
|
|
|
|
|
|
将 DGL 图转换为 |
|
|
|
邻接矩阵和关联矩阵
获取图的邻接矩阵和关联矩阵的方法。
|
获取图的邻接矩阵。 |
|
|
|
将给定边类型的邻接矩阵作为稀疏矩阵表示的张量返回。默认情况下,返回的邻接矩阵的一行表示边的源节点,一列表示目标节点。 :param fmt: |
|
以外部格式(例如 Scipy 或依赖于后端的稀疏张量)返回邻接矩阵。 |
|
返回具有给定边类型的边的关联矩阵表示。 |
|
返回具有给定边类型的边的关联矩阵表示。 |
使用 DGLGraph 计算
执行消息传递、在节点/边特征上应用函数等方法。
|
使用提供的函数更新指定节点的特征。 |
|
使用提供的函数更新指定边的特征。 |
|
沿着指定的边发送消息,并在目标节点上聚合这些消息以更新其特征。 |
|
沿着指定的边类型从指定节点的前驱节点拉取消息,聚合这些消息以更新节点特征。 |
|
沿着指定的边类型从指定节点向其后继节点发送消息,并更新其节点特征。 |
|
沿着指定类型的所有边发送消息,并更新相应目标类型的所有节点。 |
|
沿着所有边发送消息,先按类型聚合,然后跨不同类型聚合,最后更新所有节点的特征。 |
|
通过依次在节点上触发 |
|
通过依次在边上触发 |
|
返回给定节点类型中满足给定谓词的节点的 ID。 |
|
返回给定边类型中满足给定谓词的边的 ID。 |
查询和操作批处理信息
用于获取/设置批处理信息的方法,前提是当前图是由 dgl.batch()
生成的批处理图。它们也广泛用于 批处理和读出操作 中。
返回批处理图中的图数量。 |
|
|
返回批处理中具有指定节点类型的每个图的节点数量。 |
|
返回批处理中具有指定边类型的每个图的边数量。 |
手动设置批处理中具有指定节点类型的每个图的节点数量。 |
|
手动设置批处理中具有指定边类型的每个图的边数量。 |
修改拓扑
就地修改图结构的方法。
|
添加相同节点类型的新节点 |
|
为指定的边类型添加多个新边 |
|
移除指定节点类型的多个节点 |
|
移除指定边类型的多个边 |
设备控制
获取或更改图所在设备的方法。
|
将节点数据、边数据和图结构移动到目标设备 (CPU/GPU)。 |
获取图的设备。 |
|
返回此图在 CPU 上的新副本。 |
|
将图结构和节点/边数据锁定到页面锁定内存,以便 GPU 进行零拷贝访问。 |
|
从页面锁定内存中解锁图结构和节点/边数据。 |
|
检查图结构是否已锁定到页面锁定内存。 |
杂项
其他实用方法。
进入图的局部作用域上下文。 |