其他分享
首页 > 其他分享> > pytorch基础知识(三)

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