![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
DGL学习笔记
文章平均质量分 83
学习DGL官方文档的笔记
一个不想写代码的程序员
这个作者很懒,什么都没留下…
展开
-
使用GPU跑图神经网络模型GAT
import torchimport torch.nn as nnimport torch.nn.functional as Ffrom dgl.data import CoraGraphDatasetimport timeimport numpy as npfrom visdom import Visdomimport dgldevice = torch.device('cuda' if torch.cuda.is_available() else 'cpu')device = torc原创 2020-12-29 18:30:12 · 1232 阅读 · 1 评论 -
dgl学习笔记05-在GPU上使用DGL图
这个很简单,跟使用pytorch的GPU计算是一样的,就不解释了,直接上代码代码:import dglimport torchdevice = ''if torch.cuda.is_available(): device = 'cuda:0'else: device = 'cpu'u, v = torch.tensor([0, 1, 2]).to(device), torch.tensor([2, 3, 4]).to(device)graph = dgl.graph((u原创 2020-12-15 13:59:33 · 2374 阅读 · 0 评论 -
DGL学习笔记04 从cvs文件创建图,持久化
目录绘图存储nodes和edges的文件代码官方教程使用SciPy稀疏矩阵和NetworkX图创建DGL图,在这里我就使用cvs文件来创建一下DGL图。绘图我随便画了个简单图,5个节点,5条无向边。每个结点的特征都是四维的向量,每条边上都有对应的权重。存储nodes和edges的文件我们用文件nodes.csv文件来存储节点信息,其中A B C D表示节点的四个特征A B C D1 0 1 10 0 1 11 1 1 11 0 0 01 0 0 1我们用edges.csv文件来存原创 2020-12-15 12:12:35 · 1252 阅读 · 1 评论 -
DGL学习笔记03-消息传递机制
DGL学习笔记03-消息传递机制1 什么是消息传递?举个简单的例子1 什么是消息传递?什么是消息传递机制?首先来看下官方的解释(也可以去看论文)对于这一节的话,我感觉如果没接触过Message Passing的人可能看了官方文档也不太容易理解它是什么东西,其实它的核心思想就是每个节点给它相邻的节点发消息。如下图所示,我们先看下红色结点,它将自己的特征发送给相邻的两个蓝色结点,这个发送其实就是对应着官方文档的消息函数。而对于蓝色结点,它接收到红色结点的消息后进行聚合,比如可以进行sum, max,原创 2020-11-05 15:21:15 · 1903 阅读 · 6 评论 -
DGL学习笔记02-Graph
索引Graphs、Nodes and EdgesGraphs、Nodes and Edges这一小节对应官方文档的1.2节,主要是介绍图的基本概念以及如何创建图,其实在DGL学习笔记01我们已经学过了,不过为了完整还是再撸一次。首先由这么一张图,注意这是一个有向图,接下来我们用代码创建它import torchimport dglu = torch.tensor([0, 0, 0, 1])v = torch.tensor([1, 2, 3, 3])g = dgl.graph((u, v原创 2020-11-04 19:56:33 · 837 阅读 · 1 评论 -
DGL学习笔记-01: DGL at a Glance
DGL学习笔记01-DGL at a Glance0 教程问题描述1 创建图2 输出图的一些信息3 为节点和边添加特征0 教程问题描述该教程基于“ Zachary的空手道俱乐部”问题。空手道俱乐部是一个社交网络,包括34个成员,并在俱乐部外互动的成员之间建立成对链接。俱乐部随后分为两个社区,由教员(节点0)和俱乐部主席(节点33)领导。网络以如下方式可视化,并带有表示社区的颜色:我们的任务是预测每个成员倾向于加入哪个社区(community)(0或33)。1 创建图import dgl i原创 2020-11-04 16:21:29 · 491 阅读 · 1 评论