当前位置: 首页 > news >正文

【DGL系列】DGLGraph.out_edges简介

转载请注明出处:小锋学长生活大爆炸[xfxuezhagn.cn]

如果本文帮助到了你,欢迎[点赞、收藏、关注]哦~


目录

函数说明

用法示例

示例 1: 获取所有边的源节点和目标节点

示例 2: 获取特定节点的出边

示例 3: 获取所有边的边ID

示例 4: 获取所有信息(源节点、目标节点和边ID)

示例 5: 对于有多种边缘类型的图形,需要在查询中指定边的类型

示例 6:对于无向图,则边是双向的


dgl.DGLGraph.out_edges — DGL 2.3 documentation

函数说明

  dgl.DGLGraph.out_edges 是 DGL(Deep Graph Library)中的一个方法,用于获取图中所有边的源节点和目标节点。这个方法可以用于返回整个图的边,也可以通过传入指定的节点来获取从这些节点出发的边。

DGLGraph.out_edges(u=ALL, etype=None, form='uv')

参数

  • u(节点ID):

    • 可以是 单个节点ID(整数)。
    • 可以是 节点ID的张量(Int Tensor),每个元素是一个节点ID。张量的设备类型和ID数据类型必须与图的相同。
    • 可以是 可迭代的节点ID列表(iterable[int]),每个元素是一个节点ID。
  • form(字符串,可选):

    • 'eid': 返回1D张量,表示所有边的ID。
    • 'uv'(默认): 返回一个2元组(1D张量),分别表示所有边的源节点和目标节点。
    • 'all': 返回一个3元组(1D张量),分别表示所有边的源节点、目标节点和边ID。
  • etype(字符串或(字符串, 字符串, 字符串),可选):

    • 边的类型名称。格式可以是 (源节点类型, 边类型, 目标节点类型)。
    • 或者是一个唯一标识三元组格式的字符串类型名称。如果图中只有一种类型的边,可以省略。

返回值

  • 返回所有指定类型节点的出边。返回形式取决于 form 参数的值。
    • 'eid': 返回一个1D张量,表示所有边的ID。
    • 'uv': 返回一个2元组(1D张量),分别表示所有边的源节点和目标节点。
    • 'all': 返回一个3元组(1D张量),分别表示所有边的源节点、目标节点和边ID。

用法示例

我们创建一个如图所示的简单的graph:

示例 1: 获取所有边的源节点和目标节点

import dgl
import torch# 创建一个简单的图,包含4个节点和4条边
u = torch.tensor([0, 0, 1, 2])
v = torch.tensor([1, 2, 3, 3])
graph = dgl.graph((u, v))# 获取所有边的源节点和目标节点
src, dst = graph.out_edges(graph.nodes())print("源节点:", src)
print("目标节点:", dst)# 源节点: tensor([0, 0, 1, 2])
# 目标节点: tensor([1, 2, 3, 3])

示例 2: 获取特定节点的出边

# 获取节点0和节点1的出边
nodes = torch.tensor([0, 1])
src, dst = graph.out_edges(nodes)print("源节点:", src)
print("目标节点:", dst)# 源节点: tensor([0, 0, 1])
# 目标节点: tensor([1, 2, 3])

示例 3: 获取所有边的边ID

# 获取所有边的边ID
edge_ids = graph.out_edges(graph.nodes(), form='eid')print("边ID:", edge_ids)# 边ID: tensor([0, 1, 2, 3])

示例 4: 获取所有信息(源节点、目标节点和边ID)

# 获取所有边的源节点、目标节点和边ID
src, dst, eid = graph.out_edges(graph.nodes(), form='all')print("源节点:", src)
print("目标节点:", dst)
print("边ID:", eid)# 源节点: tensor([0, 0, 1, 2])
# 目标节点: tensor([1, 2, 3, 3])
# 边ID: tensor([0, 1, 2, 3])

示例 5: 对于有多种边缘类型的图形,需要在查询中指定边的类型

hg = dgl.heterograph({('user', 'follows', 'user'): (torch.tensor([0, 1]), torch.tensor([1, 2])),('user', 'plays', 'game'): (torch.tensor([3, 4]), torch.tensor([5, 6]))
})
hg.out_edges(torch.tensor([1, 2]), etype='follows')# (tensor([1]), tensor([2]))

示例 6:对于无向图,则边是双向的

注意:在dgl的图中,所有边都是有向的,如果要创建无向图,需要创建双向边。

import dgl
import torch# 创建一个无向图,包含4个节点和4条边
u = torch.tensor([0, 0, 1, 2])
v = torch.tensor([1, 2, 3, 3])# 创建双向边以模拟无向图
u_bi = torch.cat([u, v])
v_bi = torch.cat([v, u])graph = dgl.graph((u_bi, v_bi))
# 简化图
graph = dgl.to_simple(graph)# 获取节点的出边
src, dst = graph.out_edges([1, 3])print("源节点:", src)
print("目标节点:", dst)# 源节点: tensor([1, 1, 3, 3])
# 目标节点: tensor([3, 0, 1, 2])

相关文章:

【DGL系列】DGLGraph.out_edges简介

转载请注明出处:小锋学长生活大爆炸[xfxuezhagn.cn] 如果本文帮助到了你,欢迎[点赞、收藏、关注]哦~ 目录 函数说明 用法示例 示例 1: 获取所有边的源节点和目标节点 示例 2: 获取特定节点的出边 示例 3: 获取所有边的边ID 示例 4: 获取所有信息&a…...

掌握品质之钥:ISO9001质量管理体系认证的巨大价值

在当今竞争激烈的市场环境中,企业若要脱颖而出并持续成功,就必须确保其产品和服务质量始终如一。ISO9001质量管理体系认证正是帮助企业实现这一目标的关键工具。本文将深入探讨ISO9001认证的巨大价值以及它如何助力企业提升竞争力、优化内部管理并赢得客…...

网络开局 与 Underlay网络自动化

由于出口和核心设备 部署在核心机房,地理位置集中,业务复杂,开局通常需要网络工程师进站调测。 因此核心层及核心以上的设备(包含核心层设备,旁挂独立AC设备和出口设备)推荐采用WEB网管开局方式或命令行开局方式。 核心以下的设备(包含汇聚层设备、接入层设备和AP)由于数量众…...

MySQL MVCC原理

全称Multi-Version Concurrency Control,即多版本并发控制,主要是为了提高数据库的并发性能。 1、版本链 对于使用InnoDB存储引擎的表来说,它的聚簇索引记录中都包含两个必要的隐藏列: 1、trx_id:每次一个事务对某条…...

编织文字的魔法:探索WebKit的CSS文本效果

编织文字的魔法:探索WebKit的CSS文本效果 在现代网页设计中,文本不仅仅是信息的载体,更是视觉表现的重要元素。WebKit,作为众多浏览器的核心引擎,支持一系列CSS文本效果,使开发者能够创造出引人注目的文本…...

如何在Linux上部署Ruby on Rails应用程序

在Linux上部署Ruby on Rails应用程序是一个相对复杂的过程,需要按照一系列步骤进行。下面是一个基本的部署过程,涵盖了从安装所需软件到部署应用程序的所有步骤。 安装必要的软件 在部署Ruby on Rails应用程序之前,需要确保Linux系统上安装了…...

极狐GitLab 如何管理 PostgreSQL 扩展?

GitLab 是一个全球知名的一体化 DevOps 平台,很多人都通过私有化部署 GitLab 来进行源代码托管。极狐GitLab :https://gitlab.cn/install?channelcontent&utm_sourcecsdn 是 GitLab 在中国的发行版,专门为中国程序员服务。可以一键式部署…...

SpringBoot如何使用Kafka来优化接口请求的并发

在Spring Boot中使用 Kafka 来优化接口请求的并发,主要是通过将耗时的任务异步化到Kafka消息队列中来实现。这样,接口可以立即响应客户端,而不需要等待耗时任务完成。 在Spring Boot应用程序中调用Kafka通常涉及使用Spring Kafka库&#xff…...

全面了解不同GPU算力型号的价格!

这两年人工智能(AI)、机器学习(ML)、深度学习和高性能计算(HPC)领域的快速发展,GPU算力已成为不可或缺的资源。企业、研究机构乃至个人开发者越来越依赖于GPU加速计算来处理大规模数据集和复杂模…...

Linux网络编程之UDP

文章目录 Linux网络编程之UDP1、端口号2、端口号和进程ID的区别3、重新认识网络通讯过程4、UDP协议的简单认识5、网络字节序6、socket编程接口6.1、socket常见接口6.2、sockaddr通用地址结构 7、简单的UDP网络程序7.1、服务器响应程序7.2、服务器执行命令行7.3、服务器英语单词…...

graham 算法计算平面投影点集的凸包

文章目录 向量的内积(点乘)、外积(叉乘)确定旋转方向numpy 的 cross 和 outernp.inner 向量与矩阵计算示例np.outer 向量与矩阵计算示例 python 示例生成样例散点数据图显示按极角排序的结果根据排序点计算向量转向并连成凸包 基本…...

【海外云手机】静态住宅IP集成解决方案

航海大背景下,企业和个人用户对于网络隐私、稳定性以及跨国业务的需求日益增加。静态住宅IP与海外云手机的结合,提供了一种创新的集成解决方案,能够有效应对这些需求。 本篇文章分为三个部分;静态住宅优势、云手机优势、集成解决…...

最新!CSSCI(2023-2024)期刊目录公布!

【SciencePub学术】据鲁迅美术学院7月16日消息,近日,南京大学中国社会科学研究评价中心公布了中文社会科学引文索引(CSSCI)(2023—2024)数据库最新入选目录。 C刊一般指CSSCI来源期刊,即南大核心…...

C语言 | Leetcode C语言题解之第237题删除链表中的节点

题目: 题解: /*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*/void deleteNode(struct ListNode* node) {struct ListNode * p node->next;int temp;temp node->val;node->val…...

linux LED代码设计

设计目标&#xff1a; 写RGB LED灭、亮、闪烁等效果&#xff0c;不同颜色也需要设置 #include <iostream> #include <unistd.h> // 对于usleep() #include <fcntl.h> // 对于open(), close() #include <sys/ioctl.h> // 对于ioctl() #include <li…...

Jvm基础(一)

目录 JVM是什么运行时数据区域线程私有1.程序计数器2.虚拟机栈3.本地方法栈 线程共享1.方法区2.堆 二、对象创建1.给对象分配空间(1)指针碰撞(2)空闲列表 2.对象的内存布局对象的组成Mark Word类型指针实例数据&#xff1a;对齐填充 对象的访问定位句柄法 三、垃圾收集器和内存…...

深入理解FFmpeg--软/硬件解码流程

FFmpeg是一款强大的多媒体处理工具&#xff0c;支持软件和硬件解码。软件解码利用CPU执行解码过程&#xff0c;适用于各种平台&#xff0c;但可能对性能要求较高。硬件解码则利用GPU或其他专用硬件加速解码&#xff0c;能显著降低CPU负载&#xff0c;提升解码效率和能效。FFmpe…...

新的铸造厂通过 PROFIBUS 技术实现完全自动化

钢铁生产商某钢以其在厚钢板类别中极高的产品质量而闻名。其原材料&#xff08;板坯连铸机&#xff09;在钢铁厂本地生产&#xff0c;该厂最近新建了一座垂直连铸厂。该项目的一个主要目标是从一开始就完全自动化这座新工厂和整个铸造过程&#xff0c;以高成本效率实现最佳产品…...

【UE5.1】NPC人工智能——04 NPC巡逻

效果 步骤 一、准备行为树和黑板 1. 对我们之前创建的AI控制器创建一个子蓝图类 这里命名为“BP_NPC_AIController_Lion”&#xff0c;表示专门用于控制狮子的AI控制器 2. 打开狮子蓝图“Character_Lion” 在类默认值中将“AI控制器类”修改为“BP_NPC_AIController_Lion” 3…...

计算机视觉主流框架及其应用方向

文章目录 前言一、计算机视觉领域的主要框架1、深度学习框架1.1、TensorFlow1.2、PyTorch 2、神经网络模型2.1、卷积神经网络&#xff08;CNN&#xff09;2.2、循环神经网络&#xff08;RNN&#xff09; 二、框架在计算机视觉任务中的应用1、TensorFlow1.1、概述&#xff1a;1.…...

群晖 搭建alist 记录

docker搭建 使用docker-compose 创建一个 docker-compose.yml version: 3.5services:qbittorrent:image: linuxserver/qbittorrent:latestcontainer_name: qbittorrent# network_mode: hostenvironment:- PUID1000- PGID100- TZAsia/Shanghai- WEBUI_PORT8181 # 将外部端口…...

【北航主办丨本届SPIE独立出版丨已确认ISSN号】第三届智能机械与人机交互技术学术会议(IHCIT 2024,7月27)

由北京航空航天大学指导&#xff0c;北京航空航天大学自动化科学与电气工程学院主办&#xff0c;AEIC学术交流中心承办的第三届智能机械与人机交互技术学术会议&#xff08;IHCIT 2024&#xff09;将定于2024年7月27日于中国杭州召开。 大会面向基础与前沿、学科与产业&#xf…...

深入浅出WebRTC—NACK

WebRTC 中的 NACK&#xff08;Negative Acknowledgment&#xff09;机制是实时通信中处理网络丢包的关键组件。网络丢包是常见的现象&#xff0c;尤其是在无线网络或不稳定连接中。NACK 机制旨在通过请求重传丢失的数据包来减少这种影响&#xff0c;从而保持通信的连续性和质量…...

简单工厂模式、工厂模式和抽象工厂模式的区别

简单工厂模式、工厂模式和抽象工厂模式都是创建型设计模式&#xff0c;它们之间在目的、实现方式和适用场景上存在显著的区别。以下是对这三种模式的详细比较&#xff1a; 一、定义与目的 简单工厂模式&#xff08;Simple Factory Pattern&#xff09; 定义&#xff1a; 简单工…...

JVM-垃圾回收与内存分配

目录 垃圾收集器与内存分配策略 引用 对象的访问方式有哪些?&#xff08;句柄和直接指针&#xff09; Java的引用有哪些类型? 如何判断对象是否是垃圾? 请列举一些可作为GC Roots的对象? 对象头了解吗? mark word&#xff08;hashcode、分代、锁标志位&#xff09;、…...

Jolt路线图

1. 引言 a16z crypto团队2024年7月更新了其Jolt路线图&#xff1a; 主要分为3大维度&#xff1a; 1&#xff09;链上验证维度&#xff1a; 1.1&#xff09;Zeromorph&#xff1a;见Aztec Labs团队2023年论文 Zeromorph: Zero-Knowledge Multilinear-Evaluation Proofs from…...

NEEP-EN2-2019-Text4

英二-2019-Text4摘自赫芬顿邮报《The Huffington Post》2018年6月的一篇名为“Let’s Stop Pretending Quitting Straws Will Solve Plastic Pollution”的文章。 以下为个人解析&#xff0c;非官方公开标准资料&#xff0c;可能有误&#xff0c;仅供参考。&#xff08;单词解释…...

docker 部署wechatbot-webhook 并获取接口实现微信群图片自动保存到chevereto图库等

功能如图&#xff1a; docker部署 version: "3" services:excalidraw:image: dannicool/docker-wechatbot-webhook:latestcontainer_name: wechatbot-webhookdeploy:resources:limits:cpus: 0.15memory: 500Mreservations:cpus: 0.05memory: 80Mrestart: alwayspor…...

OpenWrt安装快速入门指南

在刷新 OpenWrt 固件之前&#xff0c;建议进行以下准备&#xff1a; 1、不要急于安装&#xff0c;慢慢来。如果在安装过程中出现奇怪之处&#xff0c;请先找到答案&#xff0c;然后再继续。 2、准备好设备的精确型号&#xff0c;以便能够选择正确的OpenWrt固件。 3、手上有关…...

AIGC Kolors可图IP-Adapter-Plus风格参考模型使用案例

参考: https://huggingface.co/Kwai-Kolors/Kolors-IP-Adapter-Plus 代码环境安装: git clone https://github.com/Kwai-Kolors/Kolors cd Kolors conda create --name kolors python=3.8 conda activate kolors pip install -r requirements.txt python3 setup.py install…...

即墨公司做网站/百度资讯

C 预处理指令#pragma 一、定义介绍 #pragma是C预处理指令的一种&#xff0c;它可以设置编译器的状态&#xff0c;或者让编译器完成一些特定的工作。因此&#xff0c;它是一种操作编译器的指令。 二、功能作用 #pragma的作用是让编译器执行一些已经设定好的工作。通过#pragma后…...

天津个人网站建设/whois域名查询

GitHub&#xff1a;https://github.com/JDawnF 一、MyBatis编程步骤 创建 SqlSessionFactory 对象。 通过 SqlSessionFactory 获取 SqlSession 对象。 通过 SqlSession 获得 Mapper 代理对象。 通过 Mapper 代理对象&#xff0c;执行数据库操作。 执行成功&#xff0c;则使…...

电子政务门户网站建设的教训/微信怎么推广找客源

直接上图&#xff1a;通过 SHOW PROCESSLIST 命令可以实时查看mysql正在执行的操作&#xff0c;这对查看系统中哪些语句执行时间长&#xff08;需要优化的语句&#xff09;是很有帮助的&#xff0c;例如上图中红色框标出的地方&#xff0c;Info列中的语句在我执行SHOW PROCESSL…...

欢迎访问中国建设银行网站个人客户/大数据获客系统

时值2012年&#xff0c;Netflix正在勉力支撑自身关键服务运维。整个部署过程&#xff0c;就如穿越泥潭般费时费力。金丝雀测试只能用于考查持续能力&#xff08;「只要连续一周不出问题&#xff0c;就推进至下一步」&#xff09;&#xff0c;而非真正验证功能的正确性。研究问题…...

假网站怎么做呢/怎样申请自己的电商平台

某超市促销,举办空酒瓶和酒瓶盖换酒活动,规定 2 个空瓶或 4 个瓶盖可换一瓶酒。若小明最开始买了 n 瓶酒,则他总共能喝到多少瓶酒? n = int(input()) ########## Begin ##########cap = n bottle = nwhile (cap >= 4) or (bottle >= 2...

网站做推广页需要什么软件下载/软文是什么文章

Spark缺点无论是 Spark Streaming还是 Structured Streaming,Spark流处理的实时性还不够,所以无法用在一些对实时性要求很高的流处理场景中。这是因为 Spark的流处理是基于所谓微批处理( Micro- batch processing)的思想,即它把流处理看作是批处理的一种特殊形式,每次接收到一个…...