图神经网络之异构图转同构图

news2024/11/18 23:31:29

heterogeneous graph转homogeneous

  • 异构图创建教程
  • dgl.to_homogeneous语法格式
  • 例子

异构图创建教程

对于异构图创建,可以看异构图创建教程

dgl.to_homogeneous语法格式

dgl.to_homogeneous(G, ndata=None, edata=None, store_type=True, return_count=False)
  • G:传入的异构图
  • ndata (可选):组合所有节点特征,行为节点数,列为特征维度。例如 ndata=[‘h’],则将组合后的所有节点特征赋给ndata[‘h’]。因此,所有节点类型的特征必须具有相同的形状和数据类型。默认情况下,返回的图将不包含任何节点特征。
  • edata(可选):和ndata同理
  • store_type (可选):如果为 True,则在返回的图中存储类型信息,作为 dgl.NTYPE 和 dgl.ETYPE 特征。默认为True
  • return_count (可选):如果为 True,则返回类型信息,作为整数列表;第 i 个元素对应第 i 种类型的节点/边的数量。默认为False

例子

import dgl
import torch
hg = dgl.heterograph({
    ('user', 'follows', 'user'): ([0, 1], [1, 2]),
    ('developer', 'develops', 'game'): ([0, 1], [0, 1])
    })
hg.nodes['user'].data['h'] = torch.ones(3, 1)
hg.nodes['developer'].data['h'] = torch.zeros(2, 1)
hg.nodes['game'].data['h'] = torch.ones(2, 1)
g = dgl.to_homogeneous(hg)
# The first three nodes are for 'user', the next two are for 'developer',
# and the last two are for 'game'
print(f'节点信息为:{g.ndata}')
print('--------------------')
# The first two edges are for 'follows', and the next two are for 'develops' edges.
print(f'边信息为:{g.edata}')
print('--------------------')
g = dgl.to_homogeneous(hg, ndata=['h'])
print(f"节点特征为:{g.ndata['h']}")

结果如下:
在这里插入图片描述
对于节点特征,可以看到矩阵的行为节点数,列为特征维度

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2200278.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

K8s简介及环境搭建

一、Kubernetes简介 kubernetes 的本质是一组服务器集群,它可以在集群的每个节点上运行特定的程序,来对节点中的容器进行管理。目的是实现资源管理的自动化,主要提供了如下的主要功能: 自我修复:一旦某一个容器崩溃&a…

使用HashiCorp Nomad Cluster App管理高可用集群

容器化和Kubernetes如今已成为创建可扩展云原生应用程序的基本要素。但并非每个应用程序工作负载都需要容器或Kubernetes资源。HashiCorp Nomad是一个轻量级的工作负载调度程序,提供了与Kubernetes相似的优势,但不仅可以管理容器,还能管理其他…

SSL证书是否可以给多个域名使用?

在当今数字化的网络环境中,SSL证书在保障网站安全、保护用户数据传输方面发挥着至关重要的作用。那么,SSL 证书是否可以给多个域名使用呢?这是一个在网站开发、运营和安全管理领域备受关注的问题。 SSL 证书能够给多个域名使用吗&#xff1f…

指针函数C++

指针函数概念 指针函数在C中是一种特殊类型的函数。从本质上讲,它是一个函数,不过其返回值是一个指针类型的数据。例如,像int* plusfunction(int a, int b);这样的函数声明,plusfunction就是一个指针函数,它接受两个i…

Jvisualvm介绍;使用Jvisualvm:运行jvisualvm.exe;安装gc插件;查看gc

一,Jvisualvm介绍 jvisualvm是用来查看硬件使用情况的工具,多数会用它来看内存的使用情况 VisualVM 是Netbeans的profile子项目,已在JDK6.0 update 7 中自带(java启动时不需要特定参数,监控工具在bin/jvisualvm.exe)&#xff0c…

leetcode 10.9 94.二叉树的中序遍历

94. 二叉树的中序遍历 已解答 简单 相关标签 相关企业 给定一个二叉树的根节点 root ,返回 它的 中序 遍历 。 示例 1: 输入:root [1,null,2,3] 输出:[1,3,2]示例 2: 输入:root [] 输出&#xff1a…

LabelImag标注工具环境配置

LabelImag标注工具环境配置 Anaconda的安装和使用 Anaconda是一个集成了Python解释器、conda包管理器和众多科学计算、数据分析、机器学习等常用库的发行版。它允许用户轻松地管理Python环境和包,无需手动解决依赖问题。Anaconda特别适用于数据科学、机器学习、人…

Mac 下编译 libaom 源码教程

AV1 AV1是一种开放、免版税的视频编码格式,由开放媒体联盟(AOMedia)开发,旨在提供高压缩效率和优秀的视频质量。AV1支持多种分辨率,包括SD、HD、4K和8K,并适用于视频点播(VOD)、直播…

Python酷库之旅-第三方库Pandas(139)

目录 一、用法精讲 626、pandas.plotting.scatter_matrix方法 626-1、语法 626-2、参数 626-3、功能 626-4、返回值 626-5、说明 626-6、用法 626-6-1、数据准备 626-6-2、代码示例 626-6-3、结果输出 627、pandas.plotting.table方法 627-1、语法 627-2、参数 …

从0开始linux(11)——进程(3)进程的切换与调度

欢迎来到博主的专栏:从0开始linux 博主ID:代码小豪 文章目录 进程优先级进程的切换linux的调度算法 进程优先级 进程的优先级决定了进程获得CPU资源分配的顺序,在进程(0)这篇文章中博主就讲过并发和并行两个概念。即对…

ai论文写作软件哪个好?分享5款ai论文题目生成器

在当前的学术研究和写作领域,AI论文写作软件已经成为提高效率和质量的重要工具。根据多个来源的评测和推荐,以下是五款值得推荐的AI论文写作软件,其中特别推荐千笔-AIPassPaper。 1. 千笔-AIPassPaper 千笔-AIPassPaper是一款基于深度学习和…

超级详细 安装 Python 最佳实践文档

第一步,下载Python 打开Python官网:Welcome to Python.org 可以根据自己的需要下载相应的版本 第二步,安装Python 右键.exe文件->选择打开 安装 勾选 Install for all users选项 Browse为选择安装路径,可以自定安装路径 D盘…

动态规划12:213. 打家劫舍 II

动态规划解题步骤: 1.确定状态表示:dp[i]是什么 2.确定状态转移方程:dp[i]等于什么 3.初始化:确保状态转移方程不越界 4.确定填表顺序:根据状态转移方程即可确定填表顺序 5.确定返回值 题目链接:213.…

DAMA数据管理知识体系(第15章 数据管理成熟度评估)

课本内容 15.1 引言 概要 能力成熟度评估(Capability Maturity Assessment,CMA)是一种基于能力成熟度模型(Capability Maturity Model,CMM)框架的能力提升方案,描述了数据管理能力初始状态发展到…

怎么将手机备忘录传送至电脑

在数字化时代,手机备忘录已成为我们生活中不可或缺的一部分。无论是记录购物清单、工作事项,还是灵感闪现的瞬间,手机备忘录都能随时记录下这些宝贵的信息,帮助我们防止遗忘。然而,有时候我们需要将这些备忘录内容转移…

IPSeizer/Zenmap 查看内网哪些ip没有被占用

下载IPSeizer, 无需安装直接双击打开使用,填入需要的网段,点start查询 或者使用Zenmap,指定范围和端口号

LSTM(长短时记忆网络)

一、引言 在处理序列数据时,循环神经网络(RNN)虽然能够处理序列数据并保留历史信息,但在实践中发现它对于捕捉长时间依赖关系的能力有限,尤其是在训练过程中容易遇到梯度消失或梯度爆炸的问题。为了解决这些问题&…

《Oracle DB备份与恢复》开篇:一切从Oracle Incarnation开始

题记:从本篇开始,我将为大家介绍Oracle DB备份与恢复。备份恢复是DBA的核心工作,重在实操,多加练习,模拟各种DB或实例崩溃的场景。不同于一些博主一出场就讲如何备份恢复,我将从备份的源头原理开始介绍。本…

科研必备降重画图工具

科研必备降重工具 1. Quillbot 链接:https://quillbot.com/ 2. paperyy 链接:https://www.paperyy.com/ 3、秘塔写作猫 链接:https://xiezuocat.com/#/ 4. DeepL 链接:https://www.deepl.com/translator 科研必备画图工具 1…

软考攻略/超详细/系统集成项目管理工程师/基础知识分享11

4.7 安全架构(掌握) 安全保障以风险和策略为基础,在信息系统的整个生命周期中,安全保障应包括技术、管理、人员和工程过程的整体安全,以及相关组织机构的健全等。 4.7.1 安全威胁(掌握) 常见的…