在Python中,你不能直接打印GPU上的变量。你需要将其从GPU设备移动到CPU,并将其转换为NumPy数组或Python标量,然后才能打印它们。下面是一个示例:
import torch # 假设 x 在 GPU 上 x = torch.tensor(2.5, device='cuda') # 将 x 从 GPU 移动到 CPU 并转换成 numpy 数组 x_cpu = x.cpu().detach().numpy() print(x_cpu)
在这个示例中,我们首先定义了一个张量对象x
,并将其放在GPU设备上。然后,我们使用.cpu()
方法将其从GPU移动到CPU,并使用.detach()
方法分离出其计算图依赖关系,并将其转换为NumPy数组。最后,我们使用Python内置的print()
函数将其打印出来。
-------------------但是,torch1.8_cuda111在运行下面代码时,并没有遇到错误
import torch # 假设 x 在 GPU 上 x = torch.tensor(2.5, device='cuda') print(x)
输出
tensor(2.5000, device='cuda:0')