Pytorch对于CPU的Tensor和GPU的Tensor有不同的实现,但是任何Tensor都可以转到GPU上运算。
# 这个tensor将会占用CPU RAM
tensor_cpu = torch.tensor([[1.0, 2.0], [3.0, 4.0], [5.0, 6.0]], device='cpu')
# 这个tensor将会占用GPU RAM
tensor_gpu = torch.tensor([[1.0, 2.0], [3.0, 4.0], [5.0, 6.0]], device='cuda')
CPU Tensor将会占用CPU进行运算,GPU Tensor将会占用GPU进行运算。
CPU Tensor可以移动到GPU,反之亦然。
#移动GPU tensor到CPU
tensor_gpu_cpu = tensor_gpu.to(device='cpu')
#移动CPU tensor到GPU
tensor_cpu_gpu = tensor_cpu.to(device='cuda')