pytorch基础知识(三)
作者:互联网
在不同设备上的张量
张量可以在两个设备上进行存储和进行相关的计算,CPU和GPU。本节内容介绍,张量在不同设备上的存储和转移。
查看张量的存储位置
在默认情况下pytorch会将张量保存在CPU上。
使用张量的device的属性查看tensor所在的设备。
tensor_rand1 = torch.rand((3,2))
tensor_rand1.device
#输出
device(type='cpu')
创建时指定存储设备
tensor_rand2 = torch.rand((3,2),device = 'cuda:0')#tensor_rand2存储在0号GPU上
tensor_rand2
#输出
tensor([[0.4495, 0.5822],
[0.4652, 0.8137],
[0.8645, 0.4468]], device='cuda:0')
张量转换设备的几种方法
存储在不同位置的两个张量
tensor_rand1
#tensor_rand1存储在CPU上
tensor_rand2
#tensor_rand2存储在0号GPU上
GPU转移到cpu
直接使用张量的cpu()方法将张量的存储位置转移到CPU上
tensor3 = tensor_rand2.cpu()
tensor3.device
#输出
device(type='cpu')
使用张量to()方法转移
注cpu要小写
tensor4 = tensor_rand2.to("cpu")
tensor4.device
cpu 转移到GPU
直接使用张量的cuda(device=None)方法将张量的存储位置转移到GPU上
参数:device=None 要表明我们转移到第几片GPU上
tensor4 = tensor3.cuda(0)
tensor4.device
#输出
device(type='cuda', index=0)
同样我们可以使用张量to()的方法转移
tensor5 = tensor4.to("cuda:0")
tensor5.device
#输出
device(type='cuda', index=0)
标签:tensor,张量,基础知识,pytorch,cuda,device,GPU,cpu 来源: https://blog.csdn.net/qq_42368048/article/details/122797376