静静喜欢大白
专注于GNN领域前沿技术学习与分享、中科院计算所学术媛一枚、喜欢美食旅行
展开
-
基于karate数据的2层GCN实现的节点分类问题
1、简介2、代码实现代码'''步骤1)数据创建 创建Zachary’s karate club图 统计创建的节点和边的数量 利用networkx可视化graph2)给边和节点赋予特征 查看节点赋值情况 3)定义GCN模型(基于DGL内置GCNLayer)4)数据准备和初始化5)训练和可视化 训练的步骤和PyTorch模型一样, (1)创建优化器,(2)输入input数据,(3)计算loss,(4)使用反向传播优化模型原创 2021-02-09 18:30:14 · 849 阅读 · 0 评论 -
GCN公式理解+numpy实现AHW+原生python实现基于俱乐部数据集的2层GCN节点分类问题
整理自GCN简介GCN 是一类非常强大的用于图数据的神经网络架构。事实上,它非常强大,即使是随机初始化的两层 GCN 也可以生成图网络中节点的有用特征表征。下图展示了这种两层 GCN 生成的每个节点的二维表征。请注意,即使没有经过任何训练,这些二维表征也能够保存图中节点的相对邻近性。更形式化地说,图卷积网络(GCN)是一个对图数据进行操作的神经网络。给定图 G = (V, E),GCN 的输入为两个,一个特征矩阵,一个邻接矩阵: 一个输入维度为 N × F⁰ 的特征矩阵 X,其中原创 2021-01-04 17:26:44 · 992 阅读 · 0 评论 -
【Python】GNN for 化学分子性质
这可以表示为节点和邻接矩阵的乘法:邻接矩阵乘以节点矩阵产生一个更新的节点矩阵,每个节点向量等于它的邻居节点向量与它自己的和,这个和通过预乘以对角度矩阵的逆,通过每个节点的度(或邻居的数量)进行归一化,使其成为邻居的平均值。在本文中,我们将通过化学的视角探索图卷积网络,我们将尝试将网络的特征与自然科学中的传统模型进行比较,并思考为什么它的工作效果要比传统的方法好。我们通过一个简单的化学问题介绍了图卷积网络的基本原理,实现了自己的网络,并且对比基类模型,证明了我们模型的有效性,这是我们学习GCN的第一步。原创 2024-01-23 15:09:43 · 502 阅读 · 0 评论 -
dgl-数据集修改默认下载地址
1、简介在运行dgl相关代码的时候数据总是默认下载到/home/user/.dgl/下面,但是我想将数据集下载到我想下载的位置的话,该怎么解决呢?2、解决只需要修改_init_这个函数,修改raw_dir这个默认路径即可代码如下def __init__(self): super().__init__(name='ACM', url=_get_dgl_url('dataset/ACM.mat'))修改成def __init__(self, raw_dir = './原创 2021-08-07 15:14:49 · 1061 阅读 · 0 评论 -
dgl-GAT从源码分析
目录1、2、GCNGAT分析实现多头注意力完整GAT模型3、1、2、GCNGAT分析实现 https://docs.dgl.ai/api/python/nn.pytorch.html#gatconv https://github.com/dmlc/dgl/tree/master/python/dgl/nn/pytorch/conv 模型 https://github.com/dmlc/dgl/tree/master..原创 2021-03-21 18:16:16 · 725 阅读 · 0 评论 -
用户文档-实战1
第一章1、同构/异构图创建+数据拷贝(cpu-gpu)简介步骤代码'''目的 https://docs.dgl.ai/guide_cn/graph.html#guide-cn-graph1)1.2 图、节点和边的构建2)1.3 节点和边的特征3)1.4 从外部源创建图 从外部库创建图 https://docs.dgl.ai/guide_cn/graph-external.html#guide-cn-graph-external 从磁盘..原创 2021-02-09 17:58:30 · 361 阅读 · 0 评论 -
入门实战3
目录15、基于cora的2层GCN实现+可视化简介步骤(重写)代码实现结果16、基于pubmed的GrapSage实现简介步骤代码实现结果17、基于pubmed的GraphSage边预测简介步骤代码实现结果18、基于item的推荐模型(目前没搞明白)简介步骤代码实现结果19、大图训练(graphsage)简介步骤(重写)代码实现结果15、基于cora的2层GCN实现+可视化简介步骤(重写)代码原创 2021-02-06 21:18:42 · 293 阅读 · 0 评论 -
入门实战2
目录8、 python原生实现gcn简介步骤完整代码结果9、异构图创建学术会议数据集+分类简介步骤(改写HeteRGCNLayer)完整代码结果10、基于cora实现GCN简介步骤(改写GCN)代码实现结果11、基于cora实现GAT简介步骤(重写)代码实现结果12、基于aifb的RGCN实体分类简介步骤(重写)代码实现结果13、基于cora的LGNN实现+可视化简介步骤(重写)代码实现结原创 2021-02-06 21:17:54 · 366 阅读 · 0 评论 -
入门实战1
1、基于Zachary俱乐部数据的GCN节点分类+可视化问题简介问题基于俱乐部数据预测给定社交网络本身每个成员倾向于加入哪一侧(0或33两个社区,只有这两个节点有标签) “Zachary’s karate club” Problem定义在一个包括34个成员(34节点+78*2=156边)的空手道俱乐部里的社交网络上, 俱乐部分为两个社区, 由教员(节点0)和俱乐部主席(节点33)领导, 分别以不同颜色的圆点表示(不同的颜色表示两个不同的(group/community) ...原创 2021-02-06 21:15:08 · 283 阅读 · 1 评论 -
服务器环境配置
目录1、Anaconda安装配置2 虚拟环境配置搭建pyg环境离线安装dgl环境在线安装1、Anaconda安装配置去官网找自己想下载的安装包mkdir software #存放安装包cd softwarewget https://repo.anaconda.com/archive/Anaconda3-2020.11-Linux-x86_64.shbash Anaconda3-2020.11-Linux-x86_64.sh#安装过程中一路yes和enter即可原创 2021-01-06 13:24:34 · 382 阅读 · 0 评论 -
win10下官方dgl之gcn代码成功运行
环境搭建本地(创建虚拟环境的时候最好不要指定自以为的Python版本,要安装代码说明的,要不然出错了也不知道哪里出了问题)#安装Anahttps://zhuanlan.zhihu.com/p/75717350 安装参考(尤其里面添加镜像,下载贼快)https://www.cnblogs.com/tianlang25/p/12433025.html (镜像注意)https://blog.csdn.net/weixin_40431584/article/details/103914584 出现问题原创 2021-01-05 16:02:28 · 919 阅读 · 2 评论 -
GraphSage-TF代码解读
转载代码结构分析结构数据集数据集 #图 #节点 #边 #特征 #标签(y) Cora 1 2708 5429 1433 7 Citeseer 1 3327 4732 3703 6 Pubmed 1 19717 44338 500 3 PPI 24 56944 818716 50 121 Reddit 1转载 2021-01-04 21:15:51 · 1558 阅读 · 3 评论 -
GCN-TF代码解读
整理至重点参看utils.py+目录代码结构分析(cora)__init__.pytrain.pymodels.pylayers.pyutils.pymetrics.pyinits.py补充思考代码结构分析(cora)├── __init__ ├── data // 图数据├── inits // 初始化的一些公用函数├── layers // GCN层的定义├── metrics // 评测指标的计算├转载 2021-01-04 20:39:23 · 3437 阅读 · 1 评论 -
GCN数据集Cora、Citeseer、Pubmed文件分析
转载自简介本文分享一下图卷积网络GCN里用到的一些数据集的格式Cora、Citeseer、Pubmed(都是一张图;都是引文网;节点数表示论文数,特征表示过滤后的节点数-特征数,标签是论文类别数)数据集 来源 #图 #节点 #边 #特征 #标签(y) Cora “Collective classification in network data,” AI magazine,2008 1 2708 5429 1433转载 2021-01-04 19:42:46 · 9941 阅读 · 4 评论 -
dgl学习重点参考
DGL官方(user guide)DGL官方文档翻译https://caoyang.blog.csdn.net/article/details/110629996https://www.yuque.com/mamudechengxuyuan/od99k2/ypmsm7DGL使用https://caoyang.blog.csdn.net/article/details/111084481https://blog.csdn.net/iam_human/category_10358298.htmlht原创 2021-01-04 15:24:06 · 330 阅读 · 0 评论 -
dgl-同构+异构图的创建和属性信息使用
转载目录1. 图的创建1.1 同质图1.1.1 直接创建:dgl.graph()1.1.3 节点与边的特征1.2 异质图1.2.1 异质图 Heterogeneous Graphs1.2.2 创建异质图-dgl.heterograph()1.3 Using DGLGraph on a GPU1.4 从外部资源创建2 图的属性2.1 关于图的节点与边的信息2.2 关于图的类型2.3 关于图特征的属性2.4 数据类型1.3.5 邻接与指示矩阵.原创 2021-01-04 14:50:21 · 3346 阅读 · 5 评论 -
dgl-使用内置SAGE和重写SAGE两种方法来实现基于zachery的2层GraphSage模型的节点分类
1、导入第三方库,如import dglimport torchimport torch.nn as nnimport torch.nn.functional as Fimport itertools2、加载图数据,如from tutorial_utils import load_zachery# ----------- 0. load graph -------------- #g = load_zachery()print(g)3、节点特征和部分标签初始化#原创 2021-01-04 10:59:28 · 723 阅读 · 1 评论 -
dgl-trick总结
转载目录1 dgl.DGLGraph.add_edges2 关于dgl创建图的本质3 专题一 消息传递函数1、概述:2、DGL内置的消息传递函数一览:3、消息函数杂记3 附录: 接口索引在附录的链接页面上, 官方文档给出了大量的接口函数, 出于时间成本考虑笔者不再一一翻译记录, 笔者简单浏览了一遍后发现还是有不少有趣的方法的, 比如dgl.sampling中提到了随机游走的采样方法, 因此本章将不定期更新笔者在实际使用中遇到的值得记录的接口函数用法, 详细的接口函数只能看原创 2020-12-31 10:43:05 · 453 阅读 · 0 评论 -
dgl用户文档第7章(分布式训练)
框架参考https://docs.dgl.ai/guide/distributed.htmlhttps://caoyang.blog.csdn.net/article/details/110629996原创 2020-12-31 10:17:53 · 339 阅读 · 0 评论 -
dgl用户文档第六章(大规模图Minibatch)
简介本章前三节将介绍不同场景下训练GNN模型的随机方法;后三节则是一些比较高级的话题, 对于那些想要开发新的采样方法, 新的GNN模块来适应Mini-batch训练的人来说是可以查阅的, 后三节介绍了在Mini-batch中将如何评估以及推断模型的性能;1、如果图的规模很大, b比如有上百万乃至数十亿的边和节点, 则上一章中提到的训练方法就无法起效了: 假设一个L LL层的GCN, 隐层状态节点有H HH个, 然后在一张有N NN个节点的图上运行, 则需要至少O ( N L H ) O(N原创 2020-12-29 20:19:42 · 503 阅读 · 0 评论 -
dgl用户文档第五章(任务:节点分类+图分类+链接预测)
链接预测如果想要详细了解这些知识可以查阅下面两篇paper:隐式反馈:implicit feedback; 噪声对比估计:noise-contrastive estimation;参考https://docs.dgl.ai/guide/training.htmlhttps://caoyang.blog.csdn.net/article/details/110629996...原创 2020-12-29 19:51:13 · 1198 阅读 · 0 评论 -
dgl用户文档第四章(DataSet)
本章主要介绍数据集的使用参考https://docs.dgl.ai/guide/data.html原创 2020-12-29 12:45:04 · 552 阅读 · 2 评论 -
dgl使用ogb包导入OGB数据集
OGB简介Open Graph Benchmark (OGB)是一个图深度学习的基准数据集。 官方的ogb包提供了用于下载和处理OGB数据集到dgl.data.DGLGraph对象的API。本节会介绍它们的基本用法。使用pip安装ogb包pip install ogb为Graph Property Prediction任务加载数据集# 载入OGB的Graph Property Prediction数据集import dglimport torchfrom ogb....原创 2020-12-29 12:43:38 · 2408 阅读 · 1 评论 -
dgl数据集的保存和加载使用
DGL建议用户实现保存和加载数据的函数,将处理后的数据缓存在本地磁盘中。 这样在多数情况下可以帮用户节省大量的数据处理时间。DGL提供了4个函数让任务变得简单。 dgl.save_graphs()和dgl.load_graphs(): 保存DGLGraph对象和标签到本地磁盘和从本地磁盘读取它们。 dgl.data.utils.save_info()和dgl.data.utils.load_info(): 将数据集的有用信息(python dict对象)保存到本地磁盘和从本地磁盘读取...原创 2020-12-29 12:32:07 · 2897 阅读 · 0 评论 -
dgl处理不同任务的数据模板+内置数据集总结
DGL内置数据集处理整图分类数据集以处理qm7b.mat数据集为例,步骤如下class QM7bDataset(DGLDataset)数据导入dataset = QM7bDataset()创建批处理collate_fn函数创建 dataloaders训练关键部分:继承DGLDataset基类来定义QM7bDataset()类函数 process+__getitem__(idx)+__len__(self)函数的实现 还可以向类添加属性以指示一些有用的数据集信息原创 2020-12-29 11:30:32 · 876 阅读 · 0 评论 -
dgl-数据集下载路径相关问题
DGLData基类下载数据数据集在线下载核心代码需要理解from dgl.data import DGLDatasetclass MyDataset(DGLDataset): """ 用于在DGL中自定义图数据集的模板: Parameters ---------- url : str 下载原始数据集的url。 raw_dir : str 指定下载数据的存储目录或已下载数据的存储目录。默认: ~/.dgl/ sav原创 2020-12-29 10:08:16 · 1197 阅读 · 0 评论 -
dgl用户文档第三章(nn模块编写)
第三章见,这一部分很重要,总结完准备多实践原创 2020-12-29 09:50:40 · 627 阅读 · 0 评论 -
dgl-用户文档第二章
官方文档第二章见原创 2020-12-28 17:15:59 · 205 阅读 · 0 评论 -
dgl-用户文档第一章
官方文档第一章见原创 2020-12-28 17:16:34 · 711 阅读 · 0 评论 -
dgl离线安装
安装为了快速安装,, 直接下载wheel文件安装即可CPU(非CUDA)的离线安装包见,下载对应版本的whl文件直接用pip install安装即可;GPU(CUDA)的离线安装包,根据不同的cuda版本,9.0,9.2,10.0,10.1,10.2(目前有五种不同的dgl库对应不同的CUDA版本)清华镜像dgl-cuda90清华镜像dgl-cu91清华镜像dgl-cu100清华镜像dgl-cu101清华镜像dgl-cu102安装所有依赖CUDA的库之前一定先把CUDA安原创 2020-12-28 13:48:30 · 4597 阅读 · 4 评论