PyTorch_geometric
PyTorch_geometric实战
Javy Wang
学无止境 气有浩然
展开
-
Karateclub包介绍及节点嵌入实现
karateclub包中的节点嵌入算法都对图的连通性有要求,必须是连通图才能进行节点嵌入,否则会报错。karateclub包中的节点嵌入算法有以下这些:# 基于邻域的节点嵌入方法DeepWalk, Node2Vec, Walklets, BoostNE, NodeSketch, Diff2Vec, GEMSEC, NetMF, GraRep, NMFADMM, LaplacianEigenmaps# 基于结构的节点嵌入方法GraphWave, Role2Vec# 基于属性的节点嵌入方法Feat原创 2020-12-31 16:56:42 · 5276 阅读 · 4 评论 -
PyTorch图神经网络实践(七)社区检测
文章目录前言组合优化社区检测端到端的学习与优化作者介绍核心思想技术手段方法创新代码复现前言最近一直在研究组合优化问题,上周看到2019年NeurIPS会议上有篇文章提出了一种端到端的学习和优化框架,并且开源了代码,于是复现了一下,发现在社区检测任务上的效果真的不错。NeurIPS 2019:图上端到端的学习和优化End to end learning and optimization on graphsGitHub源码组合优化图中的很多问题都是组合优化问题,比如最大独立集、最小覆盖集、原创 2020-12-16 00:54:44 · 7755 阅读 · 32 评论 -
PyTorch图神经网络实践(六)组合优化问题
最近研究网络中的组合优化问题时,发现已经有研究人员将图神经网络用于求解此类问题,诸如寻找网络中的最大点独立集、最小点覆盖集、最大团等等,并找到了相关的源码,先马在这里,以后再抽时间介绍一下。NeurIPS 2019:用图卷积神经网络求解组合优化问题Exact Combinatorial Optimization with Graph Convolutional Neural Networks...原创 2019-12-24 15:03:33 · 7417 阅读 · 0 评论 -
PyTorch图神经网络实践(五)链路预测
链路预测是网络科学里面的一个经典任务,其目的是利用当前已获取的网络数据(包含结构信息和属性信息)来预测网络中会出现哪些新的连边。本文计划利用networkx包中的网络来进行链路预测,因为目前PyTorch Geometric包中封装的网络还不够多,而很多网络方便用networkx包生成或者处理。环境配置首先,安装一个工具包,DeepSNAP。这个包提供了networkx到PyTorch Geometric的接口,可以方便地将networkx中的网络转换成PyTorch Geometric所要求的数据格原创 2020-11-02 22:40:44 · 21811 阅读 · 38 评论 -
PyTorch图神经网络实践(四)Node2Vec节点分类及其可视化
关于Node2Vec的介绍有很多了,这里就不细述。本文主要是介绍如何用PyTorch Geometric快速实现Node2Vec节点分类,并对其结果进行可视化。整个过程包含四个步骤:导入图数据(这里以Cora为例)创建Node2Vec模型训练和测试数据TSNE降维后可视化完整代码如下:import torchimport matplotlib.pyplot as pltfrom sklearn.manifold import TSNEfrom torch_geometric.data原创 2020-11-02 17:30:48 · 7059 阅读 · 9 评论 -
PyTorch中的设备类型问题 device type cuda
用pytorch包搭建神经网络时,经常遇到GPU和CPU的指定问题,有时候明明指定了GPU(cuda)却依然会报错,下面将这些常见的错误整理出来。问题一:目标参数的设备类型本应该是cuda而实际上却是CPURuntimeError: Expected object of device type cuda but got device type cpu for argument #2 ‘target’除了上面博文提到的三种情况以外,还有一种可能是变量的设备指定方式有问题,如下:device = tor原创 2020-10-29 14:03:33 · 7057 阅读 · 1 评论 -
PyTorch图神经网络实践(三)使用基准图数据Cora进行半监督节点分类
通用基准图数据Pythorch Geometric还包含大量常见的基准数据集,例如所有的Planetoid数据集(Cora、Citeseer、Pubmed),所有来自http://graphkernels.cs.tu-dortmund.de和清理后的版本,QM7和QM9数据集,以及一些3D网格/点云数据集,如FAUST、ModelNet10/40和ShapeNet。初始化数据集很简单。数据集的初始化将自动下载其原始文件并将其处理为先前描述的数据格式。例如,要加载酶数据集(由6个类中的600个图形组成),原创 2020-10-21 22:01:30 · 5375 阅读 · 13 评论 -
PyTorch图神经网络实践(一)环境安装
文章目录安装环境创建虚拟环境安装pytorch1.6安装pytorch-geometric简单例子安装环境服务器配置ubuntu18.04anaconda3cuda10.0创建虚拟环境创建名为torch16的虚拟环境,指定python版本为3.6conda create -n torch16 python=3.6激活环境(base) wjw@Super-Server:~/projects$ conda activate torch16(torch16) wjw@Super-Ser原创 2020-10-01 18:55:16 · 2319 阅读 · 1 评论 -
PyTorch图神经网络实践(二)自定义图数据
文章目录数据类型简单案例创建一个图创建Data示例自带函数添加属性节点分类数据类型PyTorch Geometric定义了自己的数据类型。节点和节点之间的边构成了图。在PyTorch Geometric中,如果要构建图,那么需要两个要素:节点和边。PyTorch Geometric 提供了torch_geometric.data.Data 用于构建图,包括 5 个属性,每一个属性都不是必须的,可以为空。data.x: 用于存储每个节点的特征,形状是[num_nodes, num_node_feat原创 2020-10-09 00:01:26 · 17686 阅读 · 7 评论