首页 > 其他分享 >pytorch 是否支持GPU

pytorch 是否支持GPU

时间:2023-05-24 10:01:20浏览次数:32  
标签:是否 torch 张量 pytorch cuda gpu device GPU

是否支持

N卡 CUDA

import torch

print(torch.cuda.is_available())

# 创建一个CPU张量
x = torch.randn(3, 3)

# 将张量转移到GPU上, x.to('cuda')等同于x.cuda()
x_gpu = x.to('cuda')  
x_gpu = x.to(torch.deviec('cuda'))  

# 在GPU上执行操作
y_gpu = x_gpu + 2

A卡?CUDA 待补充

pytorch 从1.8开始支持A卡了

import torch

print(torch.cuda.is_available())
print(torch.version.hip)

MAC? mps 待补充

import torch

print(torch.device("mps"))


# 创建一个CPU张量
x = torch.randn(3, 3)

# 将张量转移到GPU上
x_gpu = x.to('mps')

# 在GPU上执行操作
y_gpu = x_gpu + 2

自适应GPU或CPU

  • 首先,肯定是命令行传参数判断是否需要使用 GPU,同时也可以手动指定GPU的类型。
  • 其次,无参时,自动判断若有GPU设备使用GPU。
torch.device('cuda' if torch.cuda.is_available() else 'cpu')


CPU 和 GPU转换

  • 转到GPU推荐两种:
  • x.to()
  • x.cuda()
  • 转回CPU:
  • x.cpu()
import torch

print(torch.device("mps"))


# 创建一个CPU张量
x = torch.randn(3, 3)
x_gpu = x.to('cuda')  
x_gpu = x.to(torch.deviec('cuda'))  
x = x_gpu.cpu()


torch 的 device 方法有啥用?

torch.device()是PyTorch中的一个类,用于表示一个特定的设备,例如CPU或GPU。它可以被用于将张量或模型移动到指定的设备上。

具体来说,torch.device()方法有以下几个用途:

  1. 创建设备对象:通过指定设备类型和设备ID来创建torch.device对象。
  1. 例如,device = torch.device('cuda:0')将创建一个cuda设备对象,0表示设备的ID。如果没有指定设备ID,它会选择默认的设备。
  1. 将模型或张量移到指定设备:通过使用.to()方法或.cuda()方法,可以将模型或张量移到指定设备上。
  1. 例如,model.to(device)可以将模型移到指定的设备上,x = x.cuda()可以将张量移到GPU上进行加速计算。
  1. 获取当前设备:
  1. 可以通过torch.device('cuda' if torch.cuda.is_available() else 'cpu')的方式获取当前可用的设备类型。
  2. 这在创建模型时通常很有用,以免将模型创建在GPU上而没有GPU可用或者将模型创建在CPU上而GPU可用。

总的来说,torch.device()是PyTorch中非常有用的一个类,它可以方便地帮助我们在不同的设备之间移动计算、优化模型等。

标签:是否,torch,张量,pytorch,cuda,gpu,device,GPU
From: https://blog.51cto.com/shoucuohulu/6337128

相关文章

  • 查看docker是否开机启动
    查看是否已经设置docker开机启动systemctllist-unit-files|grepenable如果自启动服务中没有docker的服务,可以用以下命令设置docker开机启动systemctlenabledocker.service......
  • Pytorch tensorboard与tensorboardX的区别
    tensorboardX跟tensorboard在使用上是基本一样的,区别可能仅在于一个是大佬开发的,一个是PyTorch官方与TensoBoard合作的。tensorboardX已经被deprecated了,并且不再维护了,用fromtorch.utils.tensorboardimportSummaryWriter原文链接:https://blog.csdn.net/hxxjxw/article/d......
  • 升级到PyTorch 2.0的技巧总结
    PyTorch2.0发布也有一段时间了,大家是不是已经开始用了呢?PyTorch2.0通过引入torch.compile,可以显着提高训练和推理速度。与eagerly模式相反,编译API将模型转换为中间计算图(FXgraph),然后以某种方式将其编译为低级计算内核,这样可以提高运行速度。对于PyTorch2.0而言,你......
  • map判断是否存在某个key,以及遍历jsonobject
    if(filter.containsKey("nodeData")){JSONObjectjsonObject=(JSONObject)filter.get("nodeData");Iteratoriterator=jsonObject.keySet().iterator();while(iterator.hasNext()){Stri......
  • 判断网段下是否包含某个IP
    前两天遇到一个业务问题,需要从不同的表中找出一批IP和一批网段的对应关系,IP格式为:xxx.xxx.xxx.xxx,网段格式为:xxx.xxx.xxx.xxx/xx。直接上代码,判断方法如下:*判断该网段下是否包含该IP,子网位数包含在网段中//*@paramip//*@paramnetAndMask*@return......
  • webgpu_红色三角形_学习_wgsl
    /Users/song/Code/webgpu_learn/webgpu-for-beginners/webgpu_learn_typescript/index.html<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"/><linkrel="icon"type="image/svg+xml&......
  • 为什么 GPU 能够极大地提高仿真速度?
    这里的提速主要是针对时域电磁算法的。因为时域算法的蛙跳推进模式仅对大量存放在固定位置的数据进行完全相同的且是简单的操作(移位相加),这正是GPU这类众核SIMD架构所进行的运算,即ALU与内存的存取速度(又称带宽)直接决定了整个运算速度。 下表给出了GPU与高速CPU数据总......
  • 电脑文件删除时如何不显示“是否放入回收站”的二次确认窗口?
      本文介绍Windows电脑删除文件时,开启或取消显示确认删除这一提示弹窗的方法。  在Windows电脑中,我们删除任何一个文件时,无论是用鼠标右键选择“删除”选项,还是用快捷键Ctrl与D,默认情况下都会有一个名为“删除文件”的提示框,询问你是否确认要将该文件放入回收站。  在部分......
  • 【研究生学习】Transformer模型以及Pytorch实现
    Transformer是Google在2017年提出的网络架构,仅依赖于注意力机制就可以处理序列数据,从而可以不使用RNN或CNN。当前非常热门的BERT模型就是基于Transformer构建的,本篇博客将介绍Transformer的基本原理,以及其在Pytorch上的实现。......
  • 基于pytorch实现模型剪枝
    所谓模型剪枝,其实是一种从神经网络中移除"不必要"权重或偏差(weigths/bias)的模型压缩技术。本文深入描述了pytorch框架的几种剪枝API,包括函数功能和参数定义,并给出示例代码。一,剪枝分类1.1,非结构化剪枝1.2,结构化剪枝1.3,本地与全局修剪二,PyTorch的剪枝2.1,pytorch......