deep learning with pytorch——7

将张量移动到GPU
1.每一个Torch张量都可以传输到一个gpu来执行快速、大规模的并行计算。对张量执行的所有操作都由PyTorch附带的GPU特定例程执行。
2.除了dtype之外,PyTorch张量还有一个设备的概念,即在计算机上张量数据的位置。下面介绍如何通过指定构造函数的相应参数在GPU上创建张量:
在这里插入图片描述
3.相反,您可以使用to方法将在CPU上创建的张量复制到GPU:
在这里插入图片描述
此代码返回一个新的张量,该张量具有相同的数值数据,但存储在GPU的RAM中,而不是常规系统RAM中。现在数据存储在GPU的本地,当对张量执行数学运算时,您开始看到加速。另外,这个新的GPU支持的tensor的类也变为torch.cuda.FloatTensor。
4.如果您的计算机有多个GPU,则可以通过传递一个基于零的整数来确定要将张量分配给哪个GPU,该整数标识计算机上的GPU:
在这里插入图片描述
5.此时,对张量执行的任何操作,例如将所有元素乘以常数,都在GPU上执行:
在这里插入图片描述
6.注意,当计算结果时,点-gpu张量不会返回到CPU
1)点张量被复制到GPU。
2).在GPU上分配了一个新的张量,用来存储乘法的结果。
3)返回了GPU张量的句柄。
如果你也给结果加一个常数,
在这里插入图片描述
添加仍然在GPU上执行,没有信息流到CPU(除非您打印或访问生成的张量)。要将张量移回CPU,需要为To方法提供一个CPU参数
在这里插入图片描述
7.您可以使用cpu和cuda的方法,而不是to方法来实现相同的目标:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值