dgl.DGLGraph.to
- DGLGraph.to(device, **kwargs)[source]
将ndata、edata和图结构移动到目标设备(cpu/gpu)。
如果图已经在指定的设备上,函数直接返回它。 否则,它返回在指定设备上的克隆图。
请注意,节点和边的特征数据在被访问或调用materialize_data()之前不会移动到指定的设备上。
- Parameters:
device (框架特定的设备上下文对象) – 用于移动数据的上下文(例如,
torch.device
)。kwargs (关键字参数。) – 传递给框架复制函数的关键字参数。
- Returns:
指定设备上的图表。
- Return type:
示例
以下示例使用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')
异构图的情况也是如此。