dgl.DGLGraph.to

DGLGraph.to(device, **kwargs)[source]

将ndata、edata和图结构移动到目标设备(cpu/gpu)。

如果图已经在指定的设备上,函数直接返回它。 否则,它返回在指定设备上的克隆图。

请注意,节点和边的特征数据在被访问或调用materialize_data()之前不会移动到指定的设备上。

Parameters:
  • device (框架特定的设备上下文对象) – 用于移动数据的上下文(例如,torch.device)。

  • kwargs (关键字参数。) – 传递给框架复制函数的关键字参数。

Returns:

指定设备上的图表。

Return type:

DGLGraph

示例

以下示例使用PyTorch后端。

>>> import dgl
>>> import torch
>>> g = dgl.graph((torch.tensor([1, 0]), torch.tensor([1, 2])))
>>> g.ndata['h'] = torch.ones(3, 1)
>>> g.edata['h'] = torch.zeros(2, 2)
>>> g1 = g.to(torch.device('cuda:0'))
>>> print(g1.device)
device(type='cuda', index=0)
>>> print(g1.ndata['h'].device)
device(type='cuda', index=0)
>>> print(g1.nodes().device)
device(type='cuda', index=0)

原始图仍在CPU上。

>>> print(g.device)
device(type='cpu')
>>> print(g.ndata['h'].device)
device(type='cpu')
>>> print(g.nodes().device)
device(type='cpu')

异构图的情况也是如此。