1 torch_geometric.utils.add_self_loops

add_self_loops(edge_index, edge_weight: Optional[torch.Tensor] = None, fill_value: float = 1.0, num_nodes: Optional[int] = None)

在edge_index中,对图上每个节点i,添加一条边(i,i)

参数介绍

edge_index (LongTensor

原图的edge_index

edge_weight (Tensoroptional)

原图那些边的weight

【一维数组,维度需要和原来的边数量一致】

【此时自环的权重默认为1】

fill_value (floatoptional)

如果edge_weight非空,将用fill_value作为自环的weight

num_nodes (intoptional

最初的多少个点进行自环(没有这个参数的话,就是默认所有的点)

返回内容

(LongTensorTensor) 第一个维度是更新后的edge_idx,第二个维度是边权重,如果没有设置edge_weight,那么第二个维度是None

2 torch_geometric.utils.remove_self_loops

去除自环

remove_self_loops(edge_index, edge_attr: Optional[torch.Tensor] = None)

3 torch_geometric.utils.degree

degree(index, num_nodes: Optional[int] = None, dtype: Optional[int] = None)

计算一个给定的一维index tensor的度

num_nodes也是表示计算多少个点的度

x,y=edge_index
x,y
#(tensor([0, 1, 2, 0, 3]), tensor([1, 0, 1, 3, 2]))torch_geometric.utils.degree(x)
#tensor([2., 1., 1., 1.])
#0~3这四个点的出度torch_geometric.utils.degree(y)
#tensor([1., 2., 1., 1.])
#0~3这四个点的入度

4 torch_geometric.utils.get_laplacian

通过edge_index和可能有的edge_weight,计算图拉普拉斯矩阵

get_laplacian(edge_index, edge_weight: Optional[torch.Tensor] = None, normalization: Optional[str] = None, dtype: Optional[int] = None, num_nodes: Optional[int] = None)

参数说明

edge_index (LongTensor 原图的edge_index
edge_weight (Tensoroptional 边权重
normalization 

图拉普拉斯矩阵的归一化方法:默认是sym

None 没有归一化       
"sym" 对称归一化        
"rw" 随机游走归一化   
dtype (torch.dtypeoptional
num_nodes (intoptional 表示计算多少个点的拉普拉斯矩阵

5 to_networkx

to_networkx(data, node_attrs=None, edge_attrs=None, to_undirected=False, remove_self_loops=False)

参数说明

data (torch_geometric.data.Data)  需要转换的Data数据
node_attrs (iterable of stroptional 需要转换的点属性
edge_attrs (iterable of stroptional 需要转化的边属性
to_undirected (booloptional

如果是True,那么返回的就是networkx.Graph

如果是False,那么返回的就是networkx.DiGraph

无向图会根据相应邻接矩阵的上三角矩阵进行创建

remove_self_loops (booloptional 是否移除自环

我们以ENZYMES数据集的第一个data为例:

torch_geometric笔记:数据集 ENZYMES &Minibatches_UQI-LIUWJ的博客-CSDN博客

import networkx as nx
import matplotlib.pyplot as plt
from torch_geometric.datasets import TUDataset
from torch_geometric.utils import to_networkxdataset = TUDataset(root='', name='ENZYMES')dataset[0]
#Data(edge_index=[2, 168], x=[37, 3], y=[1])x=to_networkx(dataset[0])
nx.draw(x, with_labels=True)

torch_geometric 笔记:TORCH_GEOMETRIC.UTILS(更新中)相关推荐

  1. Go语言开发学习笔记(持续更新中)

    Go语言开发学习笔记(持续更新中) 仅供自我学习 更好的文档请选择下方 https://studygolang.com/pkgdoc https://www.topgoer.com/go%E5%9F% ...

  2. C语言学习笔记Day3——持续更新中... ...

    上一篇文章C语言学习笔记Day2--持续更新中- - 八. 容器 1. 一维数组 1.1 什么是一维数组 当数组中每个元素都只带有一个下标(第一个元素的下标为0, 第二个元素的下标为1, 以此类推)时 ...

  3. java从零开始系统性学习完整超全资源+笔记(还在更新中)

    java从零开始系统性学习完整超全资源+笔记(还在更新中) 前言 资源来自:王汉远java基础, B站视频: https://www.bilibili.com/video/BV1b4411g7bj/? ...

  4. VUE 笔记(持续更新中...)

    最近刚好我也在学习vue,这些是我的一些笔记,记录下来,方便用的时候查看,欢迎大家批评指正! 1. 简介 Vue.js是JavaScript MVVM(Model-View-ViewModel)框架 ...

  5. Spring、SpringMVC、SpringBoot及其插件学习笔记集合(持续更新中....)

    笔记目录 语言 1.MyBatis 1.1 普通用法 1.1.1 配置文件 1.1.2 mapper文件 1.2 通用mapper文件 2.Thymeleaf 2.1 命名空间 2.2 依赖 2.3 ...

  6. 算法与数据结构模版(AcWing算法基础课笔记,持续更新中)

    AcWing算法基础课笔记 文章目录 AcWing算法基础课笔记 第一章 基础算法 1. 排序 快速排序: 归并排序: 2. 二分 整数二分 浮点数二分 3. 高精度 高精度加法 高精度减法 高精度乘 ...

  7. native react ssh_React Native踩坑笔记(持续更新中...)

    最近发现市场上对React Native开发人员的需求挺多的,自己就想学习一下React Native,多一门技术,好将来买个好价位.嘿嘿! 在学习React Native中碰到了不少坑,再次记录下来 ...

  8. 考研英语——阅读的逻辑关系分析(唐迟阅读的逻辑笔记+实战)更新中

    文章目录 逻辑关系分析要精确到词 阅读的逻辑黄金法则 句间逻辑--相同 句间逻辑--相反 句内逻辑注意 段间逻辑分析 寻找文章的中心思想的三个方法 句间逻辑--相同 实战分析(持续更新) 逻辑关系分析 ...

  9. 【强推】李宏毅老师2021深度学习课程学习笔记(持续更新中)

    机器学习可以理解为是让机器自动寻找函数的一个过程. 根据函数功能的不同,可以将机器学习进行以下分类. Alpha Go做的事情也是一个分类问题:将当前棋盘上白子黑子的位置作为输入,输出是19*19个c ...

  10. ××× 笔记(持续更新中。。)

    加密历史 以前:安全的算法 现代:安全的密钥 解密:最好的方法从密钥管理和密钥分发中寻找机会, 而不是从算法本身入手 因此,一个密码系统的成功与否的关键是密钥的生成,分发,管理 加密安全 不存在绝对的 ...

最新文章

  1. 怎样才算熟悉python-终于找到python怎么才算入门
  2. 计算机重装系统知识,电脑重装系统基础知识扫盲贴
  3. WEB安全基础-文件下载漏洞以及文件包含漏洞演示
  4. jeecg-easypoi-2.0.3版本发布
  5. SAP License:FICO重要概念(一)
  6. How to add libraries to “External Libraries” in WebStorm/PhpStorm/Intellij
  7. ECSHOP始终显示全部分类方法
  8. windows下批量更改文件后缀
  9. 音乐计算机锦鲤抄,十首古风歌曲,锦鲤抄上榜,哪一首是你心目中的古风“神曲”?...
  10. java project 显示感叹号_项目工程上有感叹号或者差号
  11. 华为机试 第二题-速战速决
  12. 人工智能---深度学习是什么
  13. 从0到1快速了解netty长连接网关协议
  14. QCon2016演讲《Rust语言的核心竞争力》总结和补充
  15. STP特性(Cisco)
  16. border-radius 构建规则讲解 及 50% 和 100% 的异同
  17. 微信5.0即将横“扫”一切
  18. 翻译文章后再来看翻译文章
  19. 女神说拍了一套写真集想弄成素描画?很简单,用Python就行了!
  20. 小米首发鸿蒙系统,6月2日,鸿蒙系统正式来临,小米,OPPO已拒绝

热门文章

  1. dubbo+zookeeper+dubbo管理控制台实践demo
  2. ARM下的原子操作实现原理
  3. CSP认证201703-1 分蛋糕[C++题解]:遍历
  4. PAT甲级1087 All Roads Lead to Rome (30分):[C++题解]dijkstra求单源最短路综合、最短路条数、保存路径
  5. 关于epoll 水平触发在udp套接字上不生效问题的原因
  6. 用mysql随机查询表a10条数据_ES简介
  7. python rsa_python rsa加解密
  8. win10 搭载文件服务器,win10远程文件服务器
  9. 基于psr规范php框架,PHP-PSR规范
  10. 将长度为n的绳子分为m段求各段乘积的最大值