DGL之copy_e和copy_u

消息函数copy_e和copy_u用法

  • copy_e
    • 语法格式
    • 例子
  • copy_u
    • 语法格式
    • 例子

copy_e

语法格式

dgl.function.copy_e(e, out)

参数:

  • e (str):边的特征字段,指定用于计算消息的边特征。
  • out (str):输出的消息字段,指定存储消息的地方。

这个函数的作用是从边的特征字段 e 中复制数据,并将其传递到输出消息字段 out 中。简单来说,就是将指定的边特征复制到消息中,供后续的节点更新使用。

例子

构建的图如下
在这里插入图片描述
代码如下:

import dgl
import torch
import dgl.function as fn# 创建图
g = dgl.graph(([0, 1, 2], [1, 2, 0]))  # 定义图的边
g.edata['e_feat'] = torch.tensor([2000, 3000, 4000])  # 给边赋予特征
g.ndata['n_feat'] = torch.tensor([20, 21, 22])  # 给节点赋予特征# 使用 apply_edges 和 fn.copy_e 处理边特征
# apply_edges 用来将边特征复制到消息 'm' 中
g.apply_edges(fn.copy_e('e_feat', 'm'))print(f'这是边特征e_feat信息\n{g.edata["e_feat"]}')print(f'这是赋值后的边特征m信息\n{g.edata["m"]}')

结果如下:
在这里插入图片描述

copy_u

语法格式

dgl.function.copy_u(u, out)

参数:

  • u (str): 源节点的特征字段名称,表示从源节点复制的特征。
  • out (str): 输出的消息字段名称,表示消息将被存储在这个字段中。

函数的作用是从源节点的指定特征字段(u)复制数据到输出消息字段(out)

例子

构建的图如下
在这里插入图片描述
代码如下:

import dgl
import torch
import dgl.function as fn# 创建图
g = dgl.graph(([0, 1, 2], [1, 2, 0]))  # 定义图的边
g.edata['e_feat'] = torch.tensor([2000, 3000, 4000], dtype=torch.float32)  # 给边赋予特征
g.ndata['n_feat'] = torch.tensor([20, 21, 22], dtype=torch.float32)  # 给节点赋予特征print(f'这是原来的边信息\n{g.edata}')# 使用 apply_edges 和 dgl.function.copy_u
# apply_edges 用来将源节点特征复制到边消息 'm' 中
g.apply_edges(fn.copy_u('n_feat', 'm'))print(f'这是更新后的边信息\n{g.edata}')

代码过程如下:
举个例子,对于边0 → 1,将源节点0的 n_feat=20信息复制给该边,并用消息 m保存。
代码结果如下:
在这里插入图片描述

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

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

相关文章

python画图|hist()函数深层体验

【1】引言 前述学习已经掌握hist()函数的基本运用技巧,可通过下述链接直达: python画图|hist()函数画直方图初探-CSDN博客 python画图|hist()函数画直方图进阶-CSDN博客 我们已经理解hist()函数本质上画的是概率分布图,相关知识属于数理统…

黄山谷捷:以创新为翼,领航新能源汽车散热基板行业

在竞争激烈的市场环境中,创新被视为企业发展的灵魂和生命线,是推动持续成长、保持竞争力的关键要素。作为专注于功率半导体模块散热基板研发、生产和销售的高新技术企业,黄山谷捷股份有限公司具有优秀的创新文化和基因,为公司的高…

如何提升论文写作能力?

很多同学刚开始都不知道如何写作学术论文,这个也很正常,否则要导师来做什么。而且写作是需要练习的,等你写了5篇以上的论文,你就有感觉了。其次,你们感觉论文写作不知道从何下手还有个重要原因是缺少指导,最近接触了几…

梧桐数据库中的条件表达式灵活的数据选择与操作分享

在数据库操作中,条件表达式是处理数据选择和操作的强大工具。它们允许我们在单个查询中根据条件动态地返回不同的值。梧桐数据库支持多种条件表达式,包括CASE、COALESCE、NULLIF等,这些表达式在数据查询和处理中扮演着重要角色。本文将详细介…

配置管理,雪崩问题分析,sentinel的使用

目录 配置管理一:什么是配置管理二:配置共享三:配置热更新 雪崩问题一:原因分析二:解决方案 Sentinel一:快速入门二:请求限流三:线程隔离四:fallback五:服务熔…

算法练习:904. 水果成篮

题目链接:904. 水果成篮。 题目意思就是可以选取两个种类的水果不能超过两个种类,该种类个数没有限制, 但是一旦超过两个种类的水果就要停止计数。 示例中数组编号就是就是种类,就是不能出现三个不同编号的数。 1.暴力解法&…

邮件营销模板定制服务:满足个性营销需求!

邮件营销模板创建步骤?外贸营销邮件范文模板有哪些? 为了在众多邮件中脱颖而出,企业需要定制化的邮件营销模板,以更好地传达品牌信息,提升客户参与度。MailBing将探讨邮件营销模板定制服务的重要性,并介绍…

cuda 环境搭建

官网安装教程 https://docs.nvidia.com/deeplearning/cudnn/latest/installation/windows.html 1. 下载安装驱动, 安装完成之后输入 nvidia-smi 查看结果 https://www.nvidia.cn/drivers/lookup/ 2. 安装工具链 安装完成之后输入 nvcc -v 查看结果 http…

unity 镜面 反射

URP 镜面 资源绑定 下载 namespace UnityEngine.Rendering.Universal { [ExecuteInEditMode]public class PlanarURP : MonoBehaviour{public bool VR false;public int ReflectionTexResolution 512;public float Offset 0.0f;[Range(0, 1)]public float Reflecti…

细说STM32单片机USART中断收发RTC实时时间并改善其鲁棒性的另一种方法

目录 一、工程目的 1、目标 2、通讯协议及应对错误指令的处理目标 二、工程设置 三、程序改进 四、下载与调试 1、合规的指令 2、不以#开头,但以;结束,长度不限 3、以#开头,不以;结束,也不包含;,长…

leetcode 2043.简易银行系统

1.题目要求: 示例: 输入: ["Bank", "withdraw", "transfer", "deposit", "transfer", "withdraw"] [[[10, 100, 20, 50, 30]], [3, 10], [5, 1, 20], [5, 20], [3, 4, 15], [10, 50]] 输出&#xff…

JVM 复习1

内容 JVM 类加载器 JVM 运行时数据区 测试1 JVM整体架构考察。整体架构分为哪三层。分别是什么?通过绘制架构图来作答。 前端编译器是什么,作用是什么。要进行那些步骤? 类加载构成几个步骤。并且详细作答每个步骤的工作。 准备阶段和初…

Android——网络请求

get 请求 public static String doGeg() {String result "";BufferedReader reader;try {// 1.建立连接HttpURLConnection httpURLConnection null;String url "https://www.baidu.com";URL requestUrl new URL(url);httpURLConnection (HttpURLConn…

软件技术求职简历「优选篇」

【#软件技术简历#】一份精心撰写的简历是增加获得心仪职位的机会。那么,如何才能写出一份既全面又吸引人的软件技术简历呢?以下是幻主简历整理的软件技术简历「优选篇」,欢迎大家阅读收藏! 软件技术简历范文: 求职意向…

GESP4级考试语法知识(算法概论(三))

爱因斯坦的阶梯代码&#xff1a; //算法1-12 #include<iostream> using namespace std; int main() {int n1; //n为所设的阶梯数while(!((n%21)&&(n%32)&&(n%54)&&(n%65)&&(n%70)))n; //判别是否满足一组同余式cout<<n<…

SOCKS5协议

SOCKS5协议连接过程 SOCKS5服务器默认监听的端口是1080端口 连接到服务器:SOCKS5客户端会通过TCP三次握手与SOCKS5服务器建立连接协商过程:首先SOCKS5客户端会发送一个请求到服务器。告诉服务器自己支持什么方法。并带有一个方法列表(例如&#xff1a;A,B,C)。然后SOCKS5服务…

爬虫入门urllib 和 request(二)

文章目录 1、urllib介绍2、urllib的基本方法介绍2.1 urllib.Request2.2 response.read() 3、urllib请求百度首页的完整例子4、小结 1、urllib介绍 除了requests模块可以发送请求之外, urllib模块也可以实现请求的发送,只是操作方法略有不同! urllib在python中分为urllib和url…

Perforce《2024游戏技术现状报告》Part2:游戏引擎、版本控制、IDE及项目管理等多种开发工具的应用分析

游戏开发者一直处于创新前沿。他们的实践、工具和技术受到各行各业的广泛关注&#xff0c;正在改变着组织进行数字创作的方式。 近期&#xff0c;Perforce发布了《2024游戏技术现状报告》&#xff0c;通过收集来自游戏、媒体与娱乐、汽车和制造业等高增长行业的从业者、管理人…

美国历任总统特征数据-多个字段(1789-2024年)

数据简介&#xff1a;美国历任总统数据集是一个涵盖了从美国建国以来所有总统的详细信息的综合性数据集。该数据集不仅包含了每位总统的基本信息&#xff08;如姓名、任期、党派等&#xff09;&#xff0c;还涵盖了他们在任期间的重要政策、经济指标、国内外事件等关键数据。通…

实体类实体类

private static final long serialVersionUID1L; TableId(value "id", type IdType.AUTO) /** * 是否默认频道 */ private Boolean isDefault; /** * 创建时间 */ private Date createdTime; Override protected Serializable p…