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

RWSENodeEncoder, KER_DIM_PE(lrgb文件中的encoders文件中的kernel.py)

该代码实现了一个基于核的节点编码器 KernelPENodeEncoder,用于在图神经网络中将特定的核函数编码(例如随机游走结构编码 RWSE)与节点特征相结合。通过将预先计算的核统计信息(如 RWSE 等)与原始节点特征结合,该编码器可以帮助模型捕捉图中节点的结构信息。该代码还定义了一个派生类 RWSENodeEncoder,这是一个具体实现,用于对节点执行随机游走结构编码。

编码器允许使用不同的模型(例如线性模型或 MLP)对核统计信息进行处理,并且支持根据需要对节点特征进行线性扩展。最终,节点特征和核特征被拼接成一个完整的节点嵌入。

from lrgb.encoders.kernel import RWSENodeEncoder, KER_DIM_PE

import torch
import torch.nn as nnKER_DIM_PE = 28
NUM_RW_STEPS = 20
MODEL = 'Linear'
LAYERS = 3
RAW_NORM_TYPE = 'BatchNorm'
PASS_AS_VAR = Falseclass KernelPENodeEncoder(torch.nn.Module):"""Configurable kernel-based Positional Encoding node encoder.The choice of which kernel-based statistics to use is configurable throughsetting of `kernel_type`. Based on this, the appropriate config is selected,and also the appropriate variable with precomputed kernel stats is thenselected from PyG Data graphs in `forward` function.E.g., supported are 'RWSE', 'HKdiagSE', 'ElstaticSE'.PE of size `dim_pe` will get appended to each node feature vector.If `expand_x` set True, original node features will be first linearlyprojected to (dim_emb - dim_pe) size and the concatenated with PE.Args:dim_emb: Size of final node embeddingexpand_x: Expand node features `x` from dim_in to (dim_emb - dim_pe)"""kernel_type = None  # Instantiated type of the KernelPE, e.g. RWSEdef __init__(self, dim_in, dim_emb, expand_x=True):super().__init__()if self.kernel_type is None:raise ValueError(f"{self.__class__.__name__} has to be "f"preconfigured by setting 'kernel_type' class"f"variable before calling the constructor.")dim_pe = KER_DIM_PE  # Size of the kernel-based PE embeddingnum_rw_steps = NUM_RW_STEPSmodel_type = MODEL.lower()  # Encoder NN model type for PEsn_layers = LAYERS  # Num. layers in PE encoder modelnorm_type = RAW_NORM_TYPE.lower()  # Raw PE normalization layer typeself.pass_as_var = PASS_AS_VAR  # Pass PE also as a separate variableif dim_emb - dim_pe < 0: # formerly 1, but you could have zero feature sizeraise ValueError(f"PE dim size {dim_pe} is too large for "f"desired embedding size of {dim_emb}.")if expand_x and dim_emb - dim_pe > 0:self.linear_x = nn.Linear(dim_in, dim_emb - dim_pe)self.expand_x = expand_x and dim_emb - dim_pe > 0if norm_type == 'batchnorm':self.raw_norm = nn.BatchNorm1d(num_rw_steps)else:self.raw_norm = Noneactivation = nn.ReLU  # register.act_dict[cfg.gnn.act]if model_type == 'mlp':layers = []if n_layers == 1:layers.append(nn.Linear(num_rw_steps, dim_pe))layers.append(activation())else:layers.append(nn.Linear(num_rw_steps, 2 * dim_pe))layers.append(activation())for _ in range(n_layers - 2):layers.append(nn.Linear(2 * dim_pe, 2 * dim_pe))layers.append(activation())layers.append(nn.Linear(2 * dim_pe, dim_pe))layers.append(activation())self.pe_encoder = nn.Sequential(*layers)elif model_type == 'linear':self.pe_encoder = nn.Linear(num_rw_steps, dim_pe)else:raise ValueError(f"{self.__class__.__name__}: Does not support "f"'{model_type}' e

相关文章:

RWSENodeEncoder, KER_DIM_PE(lrgb文件中的encoders文件中的kernel.py)

该代码实现了一个基于核的节点编码器 KernelPENodeEncoder,用于在图神经网络中将特定的核函数编码(例如随机游走结构编码 RWSE)与节点特征相结合。通过将预先计算的核统计信息(如 RWSE 等)与原始节点特征结合,该编码器可以帮助模型捕捉图中节点的结构信息。该代码还定义了…...

技术文档:基于微信朋友圈的自动点赞工具开发

概述 该工具是一款基于 Windows 平台的自动化操作工具&#xff0c;通过模拟人工点击&#xff0c;实现微信朋友圈的自动点赞。主要适用于需频繁维护客户关系的用户群体&#xff0c;避免手动重复操作&#xff0c;提高用户的互动效率。 官方地址: aisisoft.top 一、开发背景与技术…...

kubernetes_pods资源清单及常用命令

示例&#xff1a; apiVersion: v1 kind: Pod metadata:name: nginx-podnamespace: defaultlabels:app: nginx spec:containers:- name: nginx-containerimage: nginx:1.21ports:- containerPort: 80多个容器运行示例 apiVersion: v1 kind: Pod metadata:name: linux85-nginx-…...

科目二侧方位停车全流程

科目二侧方位停车是驾考中的重要项目&#xff0c;主要评估驾驶员将车辆准确停放在道路右侧停车位的能力。以下是对科目二侧方位停车的详细解析&#xff1a; 请点击输入图片描述&#xff08;最多18字&#xff09; 一、考试要求 车辆需在库前右侧稳定停车&#xff0c;随后一次性…...

2024源鲁杯CTF网络安全技能大赛题解-Round2

排名 欢迎关注公众号【Real返璞归真】不定时更新网络安全相关技术文章&#xff1a; 公众号回复【2024源鲁杯】获取全部Writeup&#xff08;pdf版&#xff09;和附件下载地址。&#xff08;Round1-Round3&#xff09; Misc Trace 只能说题出的太恶心了&#xff0c;首先获得一…...

10.24学习

1.const 在编程中&#xff0c; const 关键字通常用来定义一个常量。常量是程序运行期间其值不能被改变的变量。使用 const 可以提高代码的可读性和可靠性&#xff0c;因为它可以防止程序中意外修改这些值。 不同编程语言中 const 的用法可能略有不同&#xff0c;以下是一…...

社交媒体与客户服务:新时代的沟通桥梁

在数字化时代&#xff0c;社交媒体已成为人们日常生活中不可或缺的一部分&#xff0c;它不仅改变了人们的沟通方式&#xff0c;也深刻影响着企业的客户服务模式。从传统的电话、邮件到如今的社交媒体平台&#xff0c;客户服务的渠道正在经历一场前所未有的变革。社交媒体以其即…...

设置虚拟机与windows间的共享文件夹

在 VMware Workstation 或 VMware Fusion 中设置共享文件夹的具体步骤如下&#xff1a; 1. 启用共享文件夹 对于 VMware Workstation 打开 VMware Workstation&#xff1a; 启动 VMware Workstation&#xff0c;找到你要设置共享文件夹的虚拟机。 设置虚拟机&#xff1a; 选…...

微信小程序性能优化 ==== 合理使用 setData 纯数据字段

目录 1. setData 的流程 2. 数据通信 3. 使用建议 3.1 data 应只包括渲染相关的数据 3.2 控制 setData 的频率 3.3 选择合适的 setData 范围 3.4 setData 应只传发生变化的数据 3.5 控制后台态页面的 setData 纯数据字段 组件数据中的纯数据字段 组件属性中的纯数据…...

【加密系统】华企盾DSC服务台提示:请升级服务器,否则可能导致客户端退回到旧服务器的版本

华企盾DSC服务台提示&#xff1a;请升级服务器&#xff0c;否则可能导致客户端退回到旧服务器的版本 产生的原因&#xff1a;控制台版本比服务器高导致控制台出现报错 解决方案 方法&#xff1a;将控制台回退到原来的使用版本&#xff0c;在控制台负载均衡查看连接该服务器各个…...

直连南非,服务全球,司库直联再进一步

yonyou 在全球化经济背景下&#xff0c;中国企业不断加快“走出去”的步伐&#xff0c;寻求更广阔的发展空间。作为非洲大陆经济最发达的国家之一&#xff0c;南非以其丰富的自然资源、完善的金融体系和多元化的市场&#xff0c;成为中国企业海外投资与合作的热门目的地。 作为…...

【spring】从spring是如何避免并发下获取不完整的bean引发的思考 什么是双重检查锁 什么是java内存模型

本文将通过简述spring是如何避免并发下获取不完整的bean&#xff0c;延伸出双重检查锁、volatile、JMM的概念&#xff0c;将这些知识点都串联起来&#xff1b; 若发现错误&#xff0c;非常欢迎在评论区指出&#xff1b;csdn博主&#xff1a;孟秋与你 文章目录 双重检查锁(Doubl…...

【计算机网络一】网络学习前置知识

目录 网络中必备概念 1.什么是局域网与广域网&#xff1f; 2.什么是IP地址 3.什么是端口号 4.什么是协议 5.OSI七层模型 6.TCP/IP四层模型 网络中必备概念 本篇文章旨在分享一些计算机网络中的常见概念&#xff0c;对于初学者或者准备学习计算机网络的人会有帮助。 1.什么…...

nuScenes数据集使用的相机的外参和内参

因为需要用不同数据集测试对比效果&#xff0c;而一般的模型代码里实现的检测结果可视化都是使用open3d的Visualizer在点云上画的3d框&#xff0c;展示出来的可视化效果很差&#xff0c;可能是偷懒&#xff0c;没有实现将检测结果投影到各相机的图像上&#xff0c;所以检测效果…...

数据结构与算法:贪心算法与应用场景

目录 11.1 贪心算法的原理 11.2 经典贪心问题 11.3 贪心算法在图中的应用 11.4 贪心算法的优化与扩展 总结 数据结构与算法&#xff1a;贪心算法与应用场景 贪心算法是一种通过选择当前最佳解来构造整体最优解的算法策略。贪心算法在很多实际问题中都取得了良好的效果&am…...

音频编解码器音频文件格式

0 Preface/Foreword 1 音频编解码器 算法压缩越高&#xff0c;那么音频延迟越大&#xff0c;音频效果越好。 1.1 SBC SBC: sub-band coding&#xff0c;自带编码 A2DP强制规定使用的audio编解码器。 在音视频中&#xff0c;为了增加用户体验&#xff0c;规避视频和音频的不…...

FreeSWITCH JSON API

仅举几例&#xff1a; fs_cli -x json {"command" : "status", "data" : ""} fs_cli -x json {"command" : "sofia.status", "data" : ""} fs_cli -x json {"command" : "…...

学习docker第三弹------Docker镜像以及推送拉取镜像到阿里云公有仓库和私有仓库

docker目录 1 Docker镜像dockers镜像的进一步理解 2 Docker镜像commit操作实例案例内容是ubuntu安装vim 3 将本地镜像推送至阿里云4 将阿里云镜像下载到本地仓库5 后记 1 Docker镜像 镜像&#xff0c;是docker的三件套之一&#xff08;镜像、容器、仓库&#xff09;&#xff0…...

一文掌握Kubernates核心组件,构建智能容器管理集群

1.Kubernates简要概述 Kubernates&#xff08;常称为K8s&#xff0c;因省略了“ubernate”中的8个字符&#xff09;是Google开源的容器编排平台&#xff0c;专为简化和自动化应用服务的部署、扩展和管理而设计。它将应用与底层的服务器抽象开来&#xff0c;提供了自动化的机制…...

正则表达式快速入门

正则表达式是由一系列元字符&#xff08;Meta-characters&#xff09;组成的模式&#xff0c;用于定义搜索或替换文本的规则。元字符具有特殊含义&#xff0c;用于指定搜索模式的结构。以下是一些常用的正则表达式元字符及其功能&#xff1a; 字符匹配符 符号含义.匹配除 \r\…...

TDengine 快速体验(Docker 镜像方式)

简介 TDengine 可以通过安装包、Docker 镜像 及云服务快速体验 TDengine 的功能&#xff0c;本节首先介绍如何通过 Docker 快速体验 TDengine&#xff0c;然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker&#xff0c;请使用 安装包的方式快…...

脑机新手指南(八):OpenBCI_GUI:从环境搭建到数据可视化(下)

一、数据处理与分析实战 &#xff08;一&#xff09;实时滤波与参数调整 基础滤波操作 60Hz 工频滤波&#xff1a;勾选界面右侧 “60Hz” 复选框&#xff0c;可有效抑制电网干扰&#xff08;适用于北美地区&#xff0c;欧洲用户可调整为 50Hz&#xff09;。 平滑处理&…...

Vue3 + Element Plus + TypeScript中el-transfer穿梭框组件使用详解及示例

使用详解 Element Plus 的 el-transfer 组件是一个强大的穿梭框组件&#xff0c;常用于在两个集合之间进行数据转移&#xff0c;如权限分配、数据选择等场景。下面我将详细介绍其用法并提供一个完整示例。 核心特性与用法 基本属性 v-model&#xff1a;绑定右侧列表的值&…...

汽车生产虚拟实训中的技能提升与生产优化​

在制造业蓬勃发展的大背景下&#xff0c;虚拟教学实训宛如一颗璀璨的新星&#xff0c;正发挥着不可或缺且日益凸显的关键作用&#xff0c;源源不断地为企业的稳健前行与创新发展注入磅礴强大的动力。就以汽车制造企业这一极具代表性的行业主体为例&#xff0c;汽车生产线上各类…...

多模态商品数据接口:融合图像、语音与文字的下一代商品详情体验

一、多模态商品数据接口的技术架构 &#xff08;一&#xff09;多模态数据融合引擎 跨模态语义对齐 通过Transformer架构实现图像、语音、文字的语义关联。例如&#xff0c;当用户上传一张“蓝色连衣裙”的图片时&#xff0c;接口可自动提取图像中的颜色&#xff08;RGB值&…...

高等数学(下)题型笔记(八)空间解析几何与向量代数

目录 0 前言 1 向量的点乘 1.1 基本公式 1.2 例题 2 向量的叉乘 2.1 基础知识 2.2 例题 3 空间平面方程 3.1 基础知识 3.2 例题 4 空间直线方程 4.1 基础知识 4.2 例题 5 旋转曲面及其方程 5.1 基础知识 5.2 例题 6 空间曲面的法线与切平面 6.1 基础知识 6.2…...

SpringBoot+uniapp 的 Champion 俱乐部微信小程序设计与实现,论文初版实现

摘要 本论文旨在设计并实现基于 SpringBoot 和 uniapp 的 Champion 俱乐部微信小程序&#xff0c;以满足俱乐部线上活动推广、会员管理、社交互动等需求。通过 SpringBoot 搭建后端服务&#xff0c;提供稳定高效的数据处理与业务逻辑支持&#xff1b;利用 uniapp 实现跨平台前…...

【git】把本地更改提交远程新分支feature_g

创建并切换新分支 git checkout -b feature_g 添加并提交更改 git add . git commit -m “实现图片上传功能” 推送到远程 git push -u origin feature_g...

工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配

AI3D视觉的工业赋能者 迁移科技成立于2017年&#xff0c;作为行业领先的3D工业相机及视觉系统供应商&#xff0c;累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成&#xff0c;通过稳定、易用、高回报的AI3D视觉系统&#xff0c;为汽车、新能源、金属制造等行…...

今日科技热点速览

&#x1f525; 今日科技热点速览 &#x1f3ae; 任天堂Switch 2 正式发售 任天堂新一代游戏主机 Switch 2 今日正式上线发售&#xff0c;主打更强图形性能与沉浸式体验&#xff0c;支持多模态交互&#xff0c;受到全球玩家热捧 。 &#x1f916; 人工智能持续突破 DeepSeek-R1&…...