该篇笔记主要来自余庭嵩的讲解
CPU与GPU
CPU:中央处理器,主要包括控制器和运算器
GPU:图形处理器,处理统一的,无依赖的大规模数据运算
上图描述的就是CPU和GPU的内部结构,图来自于余庭嵩的讲解。
计算机在运算的时候,CPU上面的数据是不能和GPU上面的数据直接进行运算的,所以在代码中需要把数据搬到同一个地方进行运算。怎么搬?pytorch中给出了相当方便的函数,就是to函数。
数据迁移至GPU
to函数既可以转换数据类型,也可以转换设备,其使用实例如下,首先定义设备
device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")
然后测试一下to函数,先看看张量的to函数
x_cpu = torch.ones((3, 3))
print("x_cpu:\ndevice: {} is_cuda: {} id: {}".format(x_cpu.device, x_cpu.is_cuda, id(x_cpu)))
x_gpu = x_cpu.to(device)