phpcmsv9网站地图,公司手册制作网站,门户网网站seo怎么做,wordpress页面导航文章目录 1. 介绍2. 查询和使用 1. 介绍 CPU设备意味着所有物理CPU和内存#xff0c; 这意味着PyTorch的计算将尝试使用所有CPU核心。可以用以下方式表示#xff1a; torch.device(cpu) GPU设备只代表一个GPU和相应的显存。 torch.device(cuda)如果有多个GPU#xff0c;我们… 文章目录 1. 介绍2. 查询和使用 1. 介绍 CPU设备意味着所有物理CPU和内存 这意味着PyTorch的计算将尝试使用所有CPU核心。可以用以下方式表示 torch.device(cpu) GPU设备只代表一个GPU和相应的显存。 torch.device(cuda)如果有多个GPU我们使用以下方式表示第 i i i块GPU从0开始 torch.device(fcuda:{i}) 另外cuda:0和cuda是等价的都是指第1块显卡。 深度学习框架要求计算的所有输入数据都在同一设备上无论是CPU还是GPU。 不经意地移动数据可能会显著降低性能框架通常会使用自己的线程来执行GPU计算如果我们需要频繁地切换到Python的主线程那么这就可能会触发全局解释器锁GIL导致GPU的计算被阻塞。
2. 查询和使用
查询可用GPU的数量torch.cuda.device_count()处理不存在GPU的情况torch.device(cuda if torch.cuda.is_available() else cpu)查询GPU列表devices [torch.device(fcuda:{i}) for i in range(torch.cuda.device_count())]
devices if devices else [torch.device(cpu)]查询张量所在的设备。 默认情况下张量是在CPU上创建的。x torch.tensor([1, 2, 3])
x.device创建张量时指定存储设备x torch.tensor([1, 2, 3], devicetorch.device(cuda))
x.device数据复制到其他设备 CPU到GPU x torch.tensor([1, 2, 3])
x.cuda()
# x.to(torch.device(cuda))GPU到CPU x torch.tensor([1, 2, 3], devicetorch.device(cuda))
x.cpu()
# x.to(torch.device(cpu))多GPU的情况指定要复制到的GPU的序号 x torch.tensor([1, 2, 3])
x.cuda(i)
# x.to(torch.device(fcuda:{i}))模型复制到其他设备与数据复制到其他设备的方法相同。net nn.Linear(2, 1)
net.cuda()
# net.to(torch.device(cuda))