当前位置:网站首页>import torch_geometric 的Data 查看
import torch_geometric 的Data 查看
2022-06-12 12:51:00 【冬炫】
欢迎关注专栏torch_geometric

Data Handling of Graphs
一个处理图库的torch_geometric. 我也是看别人共享代码时发现了这个类,和平常的类格格不入。
torch_geometric.data.Data, 它可以简单的表示一个图数据。其含有以下属性
data.x: 节点特征[节点个数,节点特征维度][num_nodes, num_node_features]data.edge_index: 必须是这个shape[2, num_edges]and typetorch.long。必须是序号性质的。首先你的data.x 就决定了各个节点的顺序index 。然后按照这个序号指定边,边的第一行是源节点,第二个节点是目标节点。data.edge_attr: 边的特征表示[num_edges, num_edge_features]data.y: 一个图数据的标签,可以是节点分类任务[num_nodes, *],也可以是图分类任务[1, *]data.pos: 点的坐标,如点在三维坐标系,num_dimensions 就是3[num_nodes, num_dimensions]
我们可以扩展Data 的属性列表,比如起个 data.face 以表达3d点云中face 的概念。利用点的序号指定哪三个点组成一个面。 [3, num_faces] and type torch.long.
一堆可运行的例子
例子①
import torch
from torch_geometric.data import Data
edge_index = torch.tensor([[0, 1, 1, 2],
[1, 0, 2, 1]], dtype=torch.long)
x = torch.tensor([[-1], [0], [1]], dtype=torch.float)
data = Data(x=x, edge_index=edge_index)
>>> Data(edge_index=[2, 4], x=[3, 1])或者edge_index 的第二种写法
例子②
import torch
from torch_geometric.data import Data
edge_index = torch.tensor([[0, 1],
[1, 0],
[1, 2],
[2, 1]], dtype=torch.long)
x = torch.tensor([[-1], [0], [1]], dtype=torch.float)
data = Data(x=x, edge_index=edge_index.t().contiguous())
>>> Data(edge_index=[2, 4], x=[3, 1])让我们输出构建的图数据信息。
print(data.keys)
>>> ['x', 'edge_index']
print(data['x'])
>>> tensor([[-1.0],
[0.0],
[1.0]])
for key, item in data:
print(f'{key} found in data')
>>> x found in data
>>> edge_index found in data
'edge_attr' in data
>>> False
data.num_nodes
>>> 3
data.num_edges
>>> 4
data.num_node_features
>>> 1
data.has_isolated_nodes()
>>> False
data.has_self_loops()
>>> False
data.is_directed()
>>> False
# Transfer data object to GPU.
device = torch.device('cuda')
data = data.to(device)边栏推荐
- Openstack network
- Array -- seven array topics with double pointer technique
- C语言【23道】经典面试题【下】
- ITK Examples/RegistrationITKv4/DeformableRegistration
- Binary tree (program)
- How to adapt the page size when iframe is embedded in a web page
- Buu question brushing record - 7
- Newoj week 10 question solution
- vtk 三视图
- 二叉树(构造篇)
猜你喜欢

Structure matérielle du système embarqué - introduction du Conseil de développement embarqué basé sur arm

Dasctf Sept x Zhejiang University of technology autumn challenge Web

嵌入式系统概述2-嵌入式系统组成和应用

Binary tree (construction)

二叉树(思路篇)

Improve pipeline efficiency: you need to know how to identify the main obstacles in ci/cd pipeline

Help you with everything from the basics to the source code. Introduce the technology in detail

Array -- seven array topics with double pointer technique

号称下一代监控系统!来看看它有多牛逼

位图、布隆过滤器和哈希切分
随机推荐
2022 ARTS|Week 23
VTK image sequence mouse interactive flipping
itkMultiResolutionImageRegistrationMethod
实战 | 巧用位姿解算实现单目相机测距
unittest框架
【vim】vim插件YouCompleteMe配置文件
用PyTorch进行语义分割
Embedded system hardware composition - embedded system hardware architecture
一行代码实现shell if else逻辑
Vant tab bar + pull-up loading + pull-down refresh demo van tabs + van pull refresh + van list demo
二叉树(构造篇)
下一个职场演讲PPT的明星,会不会是此刻的你【完美总结】
Simple picture preview
数组——双指针技巧秒杀七道数组题目
El select data echo, display only value but not label
R language Visual facet chart, hypothesis test, multivariable grouping t-test, visual multivariable grouping faceting bar plot, adding significance level and jitter points
Binary tree (thoughts)
Jacobian matrix IK of manipulator
Hudi key generation
Bitmap, bloom filter and hash sharding