DGL使用笔记

DGL

一个基于pytorch的图神经网络库

使用方法

import dgl
import torch as th
g = dgl.graph(([0, 0, 1, 5], [1, 2, 2, 0])) # 6个节点,4条边

上面为创建图的过程,表示节点0->1,0->2,…有一个连接,这里是有向图,通过

bg = dgl.to_bidirected(g)

可将有向图直接转换为无向图,默认是64位整数,通过

edges = th.tensor([2, 5, 3]), th.tensor([3, 5, 0]) 
g32 = dgl.graph(edges, idtype=th.int32)

可将64位整数转换为32位证书。

特征

DGLGraph 对象的节点和边可具有多个用户定义的、可命名的特征,以储存图的节点和边的属性。 通过 ndata 和 edata 接口可访问这些特征。

#以行优先存储特征
g.ndata['x'] = th.ones(g.num_nodes(), 3)        # 长度为3的节点特征
g.edata['x'] = th.ones(g.num_edges(), dtype=th.int32)  # 标量整型特征
#取节点1的x特征
g.ndata['x'][1]

从外部源创建图

DGL支持从networkX或者Scipy中导入数据,也可以从CSV文件、JSON/GML 格式、DGL 二进制格式中导入数据。

异构图

该部分暂时用不到,不作记录

https://docs.dgl.ai/guide_cn/data-process.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值