Tensors 可以通过 .to
方法转换到不同的设备上,即 CPU 或者 GPU 上。例子如下所示
if torch.cuda.is_available():
device = torch.device("cuda")
# 定义一个 CUDA 设备对象
y = torch.ones_like(x, device=device)
# 显示创建在 GPU 上的`在这里插入代码片`一个 tensor
x = x.to(device)
# 也可以采用 .to("cuda")
z = x + y
print(z)
print(z.to("cpu", torch.double))
# .to() 方法也可以改变数值类型
输出结果,第一个结果就是在 GPU 上的结果,打印变量的时候会带有 device='cuda:0'
,而第二个是在 CPU 上的变量。
tensor([1.4549], device='cuda:0')
tensor([1.4549], dtype=torch.float64)