CPU: torch.device('cpu')
GPU:torch.device('cuda')相当于torch.device('cuda:0'),访问第2个显存torch.device('cuda:1')
torch.cuda.device_count()查看GPU数量
一个返回所有可用GPU的函数:
def try_all_gpus():#如无可用,则返回CPU
devices=[torch.device(f'cude:{i}')for i in range(torch.cuda.device_count())]
return devices if devices else [torch.devices('cpu)]
查看张量保存位置
x=torch.tensor([1,0,0])
x.device
如何将张量保存到gpu上?
x=torch.tensor([1,0,0],device=try_gpu()) or x=torch.tensor([1,0,0],device=try_gpu(1))
如何将张量转移到同一个GPU上?只有同一个GPU上才可以运算
Z=x.cuda(1)
如何将神经网路移动到GPU上?
net=net.to(device=try_gpu())
注意:在CPU与GPU之间移动数据慢