一、tensor转化到gpu上运算:
默认情况下不允许跨 GPU 操作,除了 copy_()和 其他具有类似复制功能的方法,例如to()和cuda()。除非您启用点对点内存访问,否则任何在跨不同设备的张量上启动操作的尝试都会引发错误。
cuda = torch.device('cuda') # Default CUDA device
cuda0 = torch.device('cuda:0')
cuda2 = torch.device('cuda:2') # GPU 2 (these are 0-indexed)
#1. 直接参数设置
x = torch.tensor([1., 2.], device=cuda0)
# x.device is device(type='cuda', index=0)
#2. .cuda()
y = torch.tensor([1., 2.]).cuda()
# y.device is device(type='cuda', index=0)
3. .to(torch.device("cuda")
y=torch.tensor(1.,2.]).to(cuda)
# y.device is device(type='cuda', index=0)