PyTorch|在张量运算中使用GPU

pytorch在张量运算时允许我们在GPU上进行计算,我们可以采用这些方法将数据无缝的移入或移出GPU。

当我们进入GPU时,我们可以使用cuda()方法,当我们进入CPU时,我们可以使用cpu()方法。

同时,我们还可以使用to()方法,去GPU的时候,我们写到('cuda'),去CPU的时候,我们写到('cpu')

在训练过程中,要想利用我们的GPU,有两个基本要求:

  • 数据必须移到GPU上

  • 网络必须移到GPU上

默认情况下,在创建PyTorch张量或PyTorch神经网络模块时,会在CPU上初始化相应的数据。具体来说,这些数据存在于CPU的内存中。

下面是一些实例:

>>> import torch
>>> data=torch.tensor([1,2,3,4])>>> data.devicedevice(type='cpu')
>>> v1=data.to('cuda')>>> v1.devicedevice(type='cuda', index=0)>>> v2=data.cuda()>>> v2.devicedevice(type='cuda', index=0)
>>> v3=v2.to('cpu')>>> v3.devicedevice(type='cpu')>>> v4=v2.cpu()>>> v4.device

然而,代码需要在不同的设备都能运行,也就是在不修改代码的情况下在GPU上可以使用或者在只能使用CPU的设备上运行

例如,假设我们写的代码到处使用cuda()方法,然后,我们把代码交给一个没有GPU的用户,这样做是行不通的。

对此,我们可以这样处理:​​​​​​​

device=torch.device("cuda" if torch.cuda.is_available() else "cpu")input=data.to(device)network=Network()net=network.to(device)

总结起来,在我们编写的代码中,尽量使用这种形式:​​​​​​​

device=torch.device("cuda" if torch.cuda.is_available() else "cpu")***=***.to(device)

相关推荐

  1. PyTorch|运算使用GPU

    2024-01-05 10:44:06       46 阅读
  2. [Pytorch]:PyTorch乘法大全

    2024-01-05 10:44:06       13 阅读
  3. 判断是否GPU

    2024-01-05 10:44:06       34 阅读
  4. PyTorch

    2024-01-05 10:44:06       21 阅读
  5. Pytorch广播

    2024-01-05 10:44:06       12 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-05 10:44:06       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-05 10:44:06       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-05 10:44:06       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-05 10:44:06       18 阅读

热门阅读

  1. web3: 智能合约

    2024-01-05 10:44:06       50 阅读
  2. 在 pytorch 中支持更多的 onnx 算子

    2024-01-05 10:44:06       47 阅读
  3. [设计模式 Go实现] 创建型~ 原型模式

    2024-01-05 10:44:06       38 阅读
  4. Ansibe自动化基础

    2024-01-05 10:44:06       26 阅读
  5. prototype 和 __proto__

    2024-01-05 10:44:06       37 阅读
  6. 游戏策划:游戏开发中的关键环节

    2024-01-05 10:44:06       38 阅读
  7. 远程控制软件排名(2024)

    2024-01-05 10:44:06       38 阅读